|
![]() |
#1 |
Участник
|
Цитата:
Цитата:
Я давно не слежу за развитием C#, но кажется в него включили lambda-функции, механизмы вывода типов (aka type inference), list comprehention (даже не возьмусь перевести) и еще какие-то элементы функционального программирования.
Цитата:
А код написанный с использованием этих фич гарантированно выносит мозг у разработчиков, ранее не сталкивающихся с функциональными языками программирования.
- как выносит мозг вывод типов? - как выносит мозг LINQ? - как выносят мозг лямбды? ('то те же функции только без имени) Цитата:
Боюсь даже представить реализацию этих алгоритмов на C#. Большие возможности языка при все тех же способностях разработчиков приводят только к более нечитаемому коду. Наверное именно по этому мне очень нравятся Scheme и Erlang с их ограниченным количеством конструкций.
- макросы в схеме ![]() - лямбды в схеме - отсутствие вывода типов в схеме да и вообще статического контроля типов Последний раз редактировалось belugin; 12.12.2009 в 21:15. |
|
![]() |
#2 |
Moderator
|
Цитата:
там не List comprehension, a есть linq - можно его условно считать monad comprehension.
X++: IEnumerable<int> numbers = Enumerable.Range(0, 10); var evens = from num in numbers where num % 2 == 0 select num; Цитата:
То, что у нас есть в аксапте втроенный relational table comprehension ведь не сильно затрудняет разработку? Я бы сказал даже, что облегчает.
Цитата:
как выносит мозг LINQ?
Цитата:
особенно просты
- макросы в схеме Цитата:
- лямбды в схеме
Сравни - Haskell: X++: map (\(number)-> 1 + number) [1, 2, 3, 4] X++: (map (lambda (number)
(+ 1 number))
'(1 2 3 4)) |
|
![]() |
#3 |
Участник
|
Цитата:
Цитата:
Э... а что это ?
Цитата:
Так и выносит, стоит чуть отойти от стандартных демо-примеров. Тут даже достаточно примеров от _scorp_. И именно поэтому MS развивает F# как экспериментальный язык программирования, а Гвидо грозится выкинуть lambda-функции из Python.
на X++ нельзя написать то же самое с использованием классов? Уверяю можно и получится непонятнее, потому, что будут классы с их именами и весь код будет больше. Он грозился, но не выкинул, как я помню. И list comprehension оставил. Экспериментальный язык программирования в составе VS2010 Цитата:
А ими, в общем то, особо и не рекомендуют пользоваться до тех пор пока можно обойтись без них. Зато разобравшись с ними один раз, можно создавать удобный для себя DSL.
Цитата:
А чем они неудобнее люмбд в haskell?
![]() |
|
Теги |
.net, c#, x++, что нового, перспективы |
|
![]() |
||||
Тема | Ответов | |||
DeniZone: Copy - paste utility | 0 | |||
DeniZone: x++ and C# compared | 0 | |||
DeniZone: Opening a form on start up of AX | 1 | |||
Dynamics AX: The Future of Dynamics AX and Web 2.0 | 0 |
|