Про Erlang

Oct 12, 2007 01:45


В последнее время в блогах пишеться достаточно много всего про Erlang. Erlang это такой функциональный язык, разработанный Erickson для написания телекомуникационных приложений. Он имеет продвинутую поддержку конкурентности. Звучит здорово, не так ли?

Что же будет если посмотреть на него поближе? Оказывается, язык динамически типизирован. Не ( Read more... )

Leave a comment

Comments 217

zogmeister October 11 2007, 22:34:42 UTC
все эти "динамически типизированные" языки суть ни что иное, как продукт анацефалии их разработчиков, которые или неспособны, или не хотят придумать нормальную статическую систему типов. возьмите любой язык, наложите на него нормальную систему типов - вы ничего не потеряете.

разработчиков нетипизированных языков надо убивать. по определению. плевать им в лицо, а затем убивать.
такие дела.

Reply

(The comment has been removed)

krlz October 12 2007, 09:49:21 UTC
Я привел цитату где автор языка говорит почему это нафиг не сдалось, их аргумент является идиотским.

Reply

(The comment has been removed)


(The comment has been removed)

krlz October 12 2007, 09:48:48 UTC
Ериксон, сейчас его пиарят те люди которые раскрутили Ruby & Ruby On Rails.

Reply

(The comment has been removed)

kurilka October 13 2007, 08:16:46 UTC
И Джо к руби отношения не имеет, лишь издатели

Reply


behrk October 12 2007, 10:26:53 UTC
А может быть это и хорошо -- что лучшие технологии не являються самыми популярными? Как только технология становится популярной, её развитие тормозится, а качество сообщества падает.

Опять-таки, получается прекрасный критерий отсева идиотов-заказчиков. Если человеку не всё равно, с помощью какой технологии решат его проблему -- значит, он ещё не созрел для плодотворного сотрудничества.

Reply

krlz October 12 2007, 10:32:54 UTC
Про качество не согалсен. Посмотрите на Java, превосходная технология, и вместе с тем очень популярная.

Reply

behrk October 12 2007, 11:25:21 UTC
Java - отвратительная технология. Очень ограниченные возможности виртуальной машины, весьма нерациональные решения на уровне дизайна языка и VM, и как результат - плодятся монстровые фреймворки, которые на том же Erlang либо не нужны были бы вообще, либо были бы простыми и элегантными (и легко поддерживаемыми).

Кроме того - Java отнести к строго типизированным языкам можно с очень большой натяжкой. Очень у неё хреновая и слабо формализованная система типов - это общая беда у всех ОО-языков. До недавнего времени и теории подходящей для определения subtyping не существовало.

Reply

krlz October 12 2007, 11:28:53 UTC
А можете привести примеры нерациональности?

Ну да, в Java есть ? extends, которые конечно делают систему типов кривоватой, но в целом все очень удобно.

Reply


anonymous October 12 2007, 11:16:14 UTC
Для динамически типизированных языков, не исключая и Erlang и Scheme, типичная структура данных - список. И никакой жесткий type checker не сможет определить возможную ошибку в том случае, если функция получала список неправильной структуры (3 элемента вместо четырёх, например). Более того - даже в Haskell такие ошибки можно легко делать, и они не будут отлавливаться.

Так что - корень зла - это не динамическая типизация, а списки вместо жестко структурированных алгебраических типов данных.

Reply

potan October 12 2007, 11:36:30 UTC
В Erlang туплы встречаются значительно чаще, чем списки.
Популярность списков в Lisp-подобных языках скорее из-за сложности реализации там pattern matching.

Reply

anonymous October 12 2007, 11:50:51 UTC
Хм... Сложность реализации patten matching в Лисп-подобных языках несколько преувеличена. Никаких сложностей я не видел. Я использую самописную библиотеку для Схемы, которая эффективно и со списками, и с векторами работает, есть много реализаций того же самого для Common Lisp, есть довольно интересная (жаль только сырцов нет) реализация в MBase под .NET, я тут ссылку уже давал.

Reply

anonymous October 12 2007, 11:36:34 UTC
это вы правы. структура языка, она же абстрактный синтаксис накладывает определённый отпечаток на возможности системы типов.

Reply


potan October 12 2007, 11:19:23 UTC
Для хорошей типизации в Erlang требуется типизировать и очереди сообщений.
А это уже проблематично сделать без изменений в идеологии языка.

Только что в курилке эту проблему обсуждали :-).

Reply


Leave a comment

Up