Про Erlang

Oct 12, 2007 01:45


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

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

Leave a comment

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)

kurilka October 13 2007, 08:15:07 UTC
Мотивация по сути лежит в истоках Эрланга - всёж он родом от Пролога.
QuickCheck кстати к типизации прямого отношения не имеет.
Но вот к аргументу Gaperton'а - да :)
Суть в том, что в любом случае функционал надо покрывать тестами, которые (при нормальном подходе к их проектированию) выявят проблемы не хуже проверки компилятором. Но в добавок уберут перегрузку программиста всякой мутью с постоянным указанием типов (для нужных мест есть гарды)

Reply

lionet October 12 2007, 11:14:15 UTC
а как интересно вы будете делать hot code reloading со статической типизацией? а ведь это одна из основных фич языка.

Reply

krlz October 12 2007, 11:16:16 UTC
Да запросто перегузить и проверить типы у байт кодов, или что там вместо них. В Java, например это вполне нормально делается, несмотря на cтатическую типизацию, хотя могут быть Runtime исключения.

Reply

zogmeister October 12 2007, 11:20:54 UTC
У многих статически типизированных языков начисто отсутствует RTTI, и это, кстати, правильно. Нет в рантайме у того же OCaml или Haskell никакой информации о типах.

Reply

krlz October 12 2007, 11:26:07 UTC
Ну да, хотя на Java мне бы без RTTI было бы писать код очень тяжело

Reply

potan October 12 2007, 11:31:13 UTC
С появлением шаблонов это не особо и нужно.

Reply

krlz October 12 2007, 11:33:41 UTC
Ну не правда, можно например завести ad-hoc AOP итп при помощи аннотаций, инструментировать байт коды итп.

Reply

potan October 12 2007, 11:29:50 UTC
В OCaml есть информация о том, атомарный это тип или нет.

Reply

zogmeister October 12 2007, 11:32:56 UTC
Этого мало. Отличить один tagged union от другого низзя.

Reply

earwin October 12 2007, 13:05:53 UTC
В яве нормально динамически перегружается код? :)

Reply

earwin October 12 2007, 13:07:23 UTC
Я рядом два предложения поставлю:
> Т.е. получается, что хорошие программисты не делают типовых ошибок, но когда они случаются им бывает очень тежело понять, из-за чего ошибка там случилась.
> В Java, например это вполне нормально делается, несмотря на cтатическую типизацию, хотя могут быть Runtime исключения.

Reply

krlz October 22 2007, 20:12:47 UTC
Я не согласен с первым предложением, если вы читали пост.

Reply


Leave a comment

Up