language ramblings
May. 26th, 2009 11:38 amafter some lurking, Haskell was considered a bit too hardcore to ‘switch a production mindset to’ for now on, instead i’ll move to Nemerle first.
after some lurking, Haskell was considered a bit too hardcore to ‘switch a production mindset to’ for now on, instead i’ll move to Nemerle first.
наверное, это принято называть “ворчанием” :-D
arkanoid: а с поставленной Дворкиным проблемой, я, в общем, согласен. Золотым веком IT я считаю те времена, когда приходили представители вендора (IBM) и разбирались, что заказчику НУЖНО, а не пытались удовлетворить то, что он ХОЧЕТ. Т к это очень разные вещи. С замены потребностей на хотелки и принятия дилетантских решений по глянцевым проспектам и началась жопа.
belnetmon: замена того что НУЖНО на то что ХОЧЕТ - это был первый этап. Теперь заказчик ничего не хочет, а ему ВПАРИВАЮТ то что впарить реально.
а вообще, просто кроме научного прогресса, есть еще личности и рынок. сумма этих трех векторов и определяет направление движения.
Язык Nemerle, как оказалось, откровенно смешная штука. Впрочем, я подозревал :)
Напомнило haXe, но и отличия налицо.
Общее: и то, и то – маленькие ЯП, с небольшой комьюнити, де-юре стандарта нету (имплементация является стандартом), документации минимум, забавный компилятор, который выдает весьма cryptic errors, т.к. выразительная мощность (и количество потенциально возможных несоответствий написанного кода задумке программиста) совершенно несообразна количеству строк с ошибками, зашитых в сам компилятор :)
Язык собран по принципу design by committee, aka “давайте реализуем прикольные фенечки, которые всем нравятся”, благо нету тучного груза пользователей, который заставляет тысячу раз подумать, как именно работает та или иная фича или как она совместима со всеми остальными.
Отличие в том, что компилятор хаксе и большая часть стандартной библиотеки написаны одним человеком, вследствие чего для того, чтобы на нем писать, нужно точно так же думать :) вспоминается, как мы долго (несколько дней) бились над странной ошибкой ‘Unexpected end of file’, которая, как оказалось, вызвана тем, что имена типов в хаксе должны начинаться с большой буквы, и это тупо зашито в лексер, поэтому _импортировать_ класс из чужой библиотеки (написанной не на haXe), если он начинается с маленькой – нельзя )))
Здесь людей работало больше, поэтому язык ближе к average joe, сильно недостает концептуальности, увы, но в общем его можно успешно рассматривать как “C# на стероидах и с макросами”.
Выведение типов очень смешное, в смысле своей ограниченности. А жаль, ожидалось что это будет мощнее, чем generics. Подсветка синтаксиса и autocomplete-тоже. Код раскрашивается ожерелью ворнингов и эрроров, но тем не менее компилится. Почему? Потому что макросы есть. Фиг вам, а не автодописывалка.
Писать можно, писать прикольно. Компилится, правда, очень долго (тривиальные примеры – 5-10 секунд). Может, время компиляции от размера проекта растет незначительно, но все равно, очень непривычное ощущение, шарп компилит проекты из тысяч файлов за такое время.
UPD: а еще рефлектором нетривиальный код декомпилируется (в шарп) во что-то крайне невразумительное. Естественная обфускация :)