Leave a comment

Comments 39

enternet September 12 2012, 07:01:31 UTC
У меня сложилось аналогичное мнение после нескольких недель изучения лиспа в 2008-м. Обчитавшись Грэма.

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

В общем, тогда сложилось впечатление какой-то маргинальщины. С современной точки зрения я, конечно, понимаю, что есть места, где самописанная минимальная лисп-машина будет в тему. Но как дополнительное, а не основное средство разработки. Вот, кстати, пример симпатичной минимальной реализации - http://yurikravchik.livejournal.com/11864.html

Reply


krlz September 12 2012, 07:35:24 UTC
Имхо основной смысл и красота лиспа это минималистичность. Это вообще прикольно, было актуально когда-то давно, но сейчас тулы, которые содержат фичи, заметно облегчающие жизнь программисту, хоть и ценой сложности выигрывают у него.

Кстати, немного оффтопик, а можете порекомендовать что нибудь гуевое под хаскель? gtkhs под GPL, WX глючит под маком, есть что-то еще на чем можно писать гуй? Интересуют в первую очередь не кнопочки и формочки, а возможность рисовать на канвасе, итд итп.

Reply

thesz September 12 2012, 07:45:48 UTC
Слушайте, нет в Лиспе красивой минималистичности. В Форте есть, в Лиспе - нет. Количество концепций, которое должна поддерживать Лисп-машина, заметно, её нельзя сделать за несколько дней.

Под Хаскелем я использовал gtk2hs, там хороший canvas. А он точно GPL, а не BSD или GPL с исключением для линковки? Ибо GTK+ сам под LGPL и его библиотеки (.dll) можно использовать в любом коде.

Reply

krlz September 12 2012, 07:48:31 UTC
Меня в свое время поразило, что интерпретатор схемы на схемы можно за вечер написать, и язык еще параллельно выучить. Я имею ввиду это.

Да действительно LGPL, спасибо, попробую.

Reply

thesz September 12 2012, 07:50:14 UTC
Можно, если использовать возможности Схемы или других функциональных ЯП. Если на императивном ЯП, то вечера точно не хватит.

Reply


gineer September 12 2012, 07:58:21 UTC
Вот в том и вопрос -- а разве не так оно и для любого языка?
То есть, та же проблема перевода\обучения что и с языками естественными -- даже если текст об одном и том же, все равно везде свои акценты, структура.

Reply

thesz September 12 2012, 08:48:28 UTC
Я согласен с наличием акцентов. Вопрос в количестве, как много удастся использовать в других местах.

Возьмём OCaml, например. Алгебраические типы оттуда - это ОО иерархия из абстрактного базового класса и нескольких реализаций. ФВП можно собрать на классах же.

Мало того, что это переносится на Java, допустим, так широкие и неглубокие иерархии считаются более правильными.

То есть, изучивший OCaml станет более хорошим программистом на Java (C#, C++ и тп).

Reply


gineer September 12 2012, 07:59:47 UTC
thesz September 12 2012, 08:41:19 UTC
Что-то там логические скачки. Ну, и ладно.

Reply


lomeo September 12 2012, 09:21:08 UTC
На лиспах хорошо изучать continuations. Применять потом можно в Haskell (ContT, но мало) или delimited c. в Scala.

Изучать их в Haskell или Scala сложнее из-за статической типизации.

Reply

thesz September 12 2012, 11:48:39 UTC
Хоть какой-то плюс. ;)

Reply


Leave a comment

Up