LINUX.ORG.RU

Lisp, Haskell, Smalltalk, Forth... что дальше?


1

0

Навеяно предыдущей темой.

Последнее время совершенно отчетливо прослеживается, как маргинальные языки передают друг другу олимпийский факел, в смысле их популярности на ЛОРе.

Факел был когда-то зажжен незабвенным Проффессором Луговскером, и достался он лиспу. Прошло несколько лет, и теперь даже самый распоследний нубас на ЛОРе расскажет вам про REPL, метапрограммирование, квазиквотацию, eval, Slime и про жаба-monkey-кодеров. Лисп стал популярен на ЛОРе, и утратил позиции «элитного» языка, дискутировать о котором могли единицы.

Ниша долго не пустовала. Некоторое время факел находился у Haskell, а последние месяцы его гордо несет Smalltalk (я сужу исключительно по количеству новостей и дискуссий о нем). Но теперь завзятые маргинальщики начинают интересоваться Forth'ом, из чего я делаю вывод о том, что факел Smalltalk'а начал коптить, в силу его популяризации на ЛОРе.

Предлагаю коллективно поразмыслить над тем, какой язык мог бы принять эстафету у Форта. Из маргинальных неэзотерических языков осталось не так уж и много. Clean? Pure? Factor?

★★

лиспосрачи идут до сих пор, новости про смоллтолк - случайность, просто так вот выходят компиляторы/ide.
Хаскеллистам ООПшный смоллтолк не нравится, твоя логическая цепочка - херня.

oh
()
Ответ на: комментарий от hizel

Ну а почему бы и нет? По-моему, образцовый маргинальщик.

Я имел в виду как раз популярность маргинальную, видимо, не совсем четко донес.

Kuka ★★
() автор топика
Ответ на: комментарий от Kuka

Нормально донес. Вброс, конечно, виден за версту, но доля правды в этом есть.

anonymous
()

>Лисп стал популярен на ЛОРе, и утратил позиции «элитного» языка, дискутировать о котором могли единицы.

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

III
()
Ответ на: комментарий от III

> на лиспе можно взять любой алгоритм из Кнута и дословно переписать в эффективный код. плюс

И? Так можно сказать о десятках языков.

наличие стандарта и коммерческих реализаций - где же тут маргинальшина?

Смотря с чем сравнивать. Если с Forth - то да, Lisp - это унылый мэйнстрим.

tailgunner ★★★★★
()

Заведи себе жж чтоли, или воспользуйся общим (talks), подобный брос в этом разделе форума не нужен.

cvb
()
Ответ на: комментарий от tailgunner

>И? Так можно сказать о десятках языков.

алгоритмы и структуры данных + ортогональность «фичам». например, последнего нету в c++.

III
()
Ответ на: комментарий от III

> на лиспе можно взять любой алгоритм из Кнута и дословно переписать в эффективный код.

Как справедливо заметили выше, это можно сделать и на брейнфаке.

плюс наличие стандарта и коммерческих реализаций - где же тут маргинальшина?


Наличие стандарта и коммерческих реализаций и маргинальность - вещи ортогональные.

Как говорил Филипп Филиппович Преображенский: «Бардак не в сортирах, бардак в головах». Так и тут. Маргинальность в головном и костном мозгу у лисперов, а не в реализациях языка.

Kuka ★★
() автор топика
Ответ на: комментарий от III

>ортогональность «фичам»

Ортогональность чего? Алгоритмов и структур данных?

anonymous
()
Ответ на: комментарий от III

> ортогональность «фичам»

Ты, наверное, хотел сказать «ортогональность фич»? Странно, что ты не упомянул эталонно понятный скобочный синтаксис - тогда у Си++ не было бы вообще никаких шансов.

tailgunner ★★★★★
()
Ответ на: комментарий от example666

> erlang +100500

Заметьте, я специально не стал включать Erlang в список кандидатов.

Erlang практичен до мозга костей, он - стандарт де-факто в телекоме, на нем пишут ejabberd и прочий массовый софт. Маргинальщики его не примут.

Kuka ★★
() автор топика
Ответ на: комментарий от tailgunner

> Странно, что ты не упомянул эталонно понятный скобочный синтаксис

Только недалёкий, убогий умом быдлокодер руководствуется при выборе языка такой нелепой фигнёй как синтаксис. Настоящий программист делает выбор на основе свойств языка, для него это главное, а не шелуха.

anonymous
()
Ответ на: комментарий от anonymous

>> Странно, что ты не упомянул эталонно понятный скобочный синтаксис

Только недалёкий, убогий умом быдлокодер

Ты так говоришь «убогий умом быдлокодер», будто это что-то плохое.

руководствуется при выборе языка такой нелепой фигнёй как синтаксис.

Приписывание оппоненту того, что он не говорил - это какое правило демагога?

tailgunner ★★★★★
()
Ответ на: комментарий от anonymous

>руководствуется при выборе языка такой нелепой фигнёй как синтаксис

Это удивительно, но так делает большинство. Отсюда и суждения на уровне «лисп - это такая фигня со скобками», «питон - это такая фигня с отступами», «наперед задом все когда это - фактор» и т.д.

anonymous
()

>REPL

любая пром. система, начиная с матлаба, и заканчивая всяким бизнес-говном.

метапрограммирование

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

квазиквотацию

да ну? сходу пару строк никто не распарсит с несколькими вложенными уровнями.

eval

есть в микрософт офис.

Slime

примитивная морда к очень популярному текстовому редактору - емаксу.

Итого: вполне обыденные вещи, если не зацикливаться, то их можно много где увидеть. и никаких принудительных функционально-категорных зондов как в хаскелле.

III
()
Ответ на: комментарий от III

>сходу пару строк никто не распарсит с несколькими вложенными уровнями

Отличный все таки язык этот ваш лисп!

anonymous
()
Ответ на: комментарий от tailgunner

>Си++ не было бы вообще никаких шансов

да тут уже у си шансов нет. с его приоритетами операторов, сиквенс поинтами, массивами и указателями на функции. с++ вообще непонятен никому, кроме «посвященных».

III
()
Ответ на: комментарий от III

> любая пром. система, начиная с матлаба, и заканчивая всяким бизнес-говном.

вообще-то, текстовую консоль можно найти на каждом шагу
и только лисперы придумали ей громкое название — «REPL»

anonymous
()
Ответ на: комментарий от anonymous

>Отличный все таки язык этот ваш лисп!

И чего сказать хотел? везде можно писать непонятно: кружева из гоуто, патернов, квазиквоутов и т.д

III
()
Ответ на: комментарий от III

> Итого: вполне обыденные вещи, если не зацикливаться, то их можно много где увидеть.

если не зацикливаться

зацикливаться



Так об чем и речь. Благодаря богатейшей мифологии вокруг лиспа последний превратился в объект поклонения и зацикливания.

никаких принудительных функционально-категорных зондов как в хаскелле


А вот это, кстати, еще однин распространенный миф. Хаскелль не имеет ничего общего с теорией категорий, за исключением пары терминов. Об этом говорит и сам создатель Haskell, хотя проходившие теоркат в институте об этом знают и без чьей бы то ни было подсказки.

Впрочем, это тема для отдельной дискуссии.

Kuka ★★
() автор топика
Ответ на: комментарий от Kuka

>Как справедливо заметили выше, это можно сделать и на брейнфаке.

нельзя(слишком много непонятных символов).

Наличие стандарта и коммерческих реализаций и маргинальность - вещи ортогональные.

ну-ну. вкладывать деньги в реализации, стандартизацию и т.д, если нет прибыльной ниши, кто будет этим заниматься?

III
()

Мож кому черновик книги пригодится to./4npt

Karapuz ★★★★★
()
Ответ на: комментарий от III

кто будет этим заниматься?


Центр прорыва к звездам Сколково® же будет

Karapuz ★★★★★
()
Ответ на: комментарий от III

> нельзя(слишком много непонятных символов).

А в лиспе, таки да, понятнее некуда. Кто там говорил про квазиквотацию, которую хрен распарсишь?

ну-ну. вкладывать деньги в реализации, стандартизацию и т.д, если нет прибыльной ниши, кто будет этим заниматься?


Вот конторка Franz, например, подсадила на иглу лиспа пару толстых контор типа Боинга, и доит из них, часть денюшек расходуя на развитие своих AllegroCL и LispWorks. Если мерять успешность ЯП успешностью таких вот контор (знаете, очень любят тут приводить Franz в пример удачного коммерческого использования Lisp), то, например, COBOL уделает лисп в сто раз. Подобные лавочки, зарабатывающие поддержкой кобольного легаси, ворочают миллионами.

Kuka ★★
() автор топика
Ответ на: комментарий от Kuka

>Так об чем и речь. Благодаря богатейшей мифологии вокруг лиспа последний превратился в объект поклонения и зацикливания.

да? что-то не видно. а про ооп-паттерны видно, и про теории категорий видно.

А вот это, кстати, еще однин распространенный миф.

массивы через io или с логарифмическим доступом. тоже миф?

III
()
Ответ на: комментарий от Kuka

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

recon88
()
Ответ на: комментарий от Kuka

>А в лиспе, таки да, понятнее некуда. Кто там говорил про квазиквотацию, которую хрен распарсишь?

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

Подобные лавочки, зарабатывающие поддержкой кобольного легаси, ворочают миллионами.

это плохо или банальная зависть?

расходуя на развитие своих AllegroCL и LispWorks.

развитие платформы - это легаси?

подсадила на иглу лиспа пару толстых контор типа Боинга

стандартизированную иглу. смысла я в твоем абзаце не уловил.

III
()
Ответ на: комментарий от III

> да? что-то не видно. а про ооп-паттерны видно, и про теории категорий видно.

Плохо смотрите, значит :) Или не хотите видеть. Сейчас лень перечислять все здешние лисп-мифы, пожалуй, как-нибудь систематизирую и оформлю их отдельным постом, оно того стоит.

массивы через io или с логарифмическим доступом. тоже миф?


Это тут вообще причем?
Если что, в уважающих себя языках доступ к элементам массива происходит за О(1), на минуточку.

Kuka ★★
() автор топика

Через две произвольных точки можно провести прямую. Через три - параболу. Но это не позволяет вычислить третью или четвёртую произвольные точки.

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

> Через две произвольных точки можно провести прямую. Через три - параболу. Но это не позволяет вычислить третью или четвёртую произвольные точки.

Про задачу экстраполяции по N точкам слышали? :)

P.S. Я вас в соседний топик кастовал с ушатом холодной воды, а то там вьюноша пылкий с взором горящим :)

Kuka ★★
() автор топика
Ответ на: комментарий от redgremlin

> Маргинальный, блджад. Хоть сюда бы заглянул http://ru.wikipedia.org/wiki/Forth

Эээ... из какой именно части текста ты сделал вывод о немаргинальности Форта?

tailgunner ★★★★★
()
Ответ на: комментарий от Kuka

>Про задачу экстраполяции по N точкам слышали? :)

Но не когда N=2, а зависимость не только явно нелинейная, но и, вообще, не факт, что есть корреляция.

KRoN73 ★★★★★
()
Ответ на: комментарий от Kuka

>Сейчас лень перечислять все здешние лисп-мифы, пожалуй, как-нибудь систематизирую и оформлю их отдельным постом, оно того стоит.

странно, вроде бы тред о том, что везде маргинальшина со своими мифами, а на просьбу их назвать (хотя бы несколько), последовал отказ.

III
()
Ответ на: комментарий от III

> вроде бы тред о том, что везде маргинальшина со своими мифами, а на просьбу их назвать (хотя бы несколько), последовал отказ.

Главный миф маргинальных языков - это то, что они круто повышают производительность труда.

tailgunner ★★★★★
()
Ответ на: комментарий от III

> странно, вроде бы тред о том, что везде маргинальшина со своими мифами, а на просьбу их назвать (хотя бы несколько), последовал отказ.

Ну я могу вкратце перечислить основные, только углубляться в разбор не будем, ладно? Тут каждый миф достоин отдельного поста, и рано или поздно мы к ним вернемся, даю слово. Обращаю внимание на то, что некоторые из них противоречат друг другу, но ничего странного здесь нет.

  • Лисп - прост;
  • Лисп - элитарен;
  • Лисп - язык общего назначения;
  • Лисп - язык с изменяемым синтаксисом;
  • Лисп - язык с изменяемой семантикой;
  • Программы на лиспе пишутся быстрее и меньшим количеством программистов;
  • Лисперы зарабатывают в 10 раз больше джавщиков;
  • «Blub paradox»;
  • «Десятое правило Гринспуна»;

ну и много всего по мелочам.

Kuka ★★
() автор топика
Ответ на: комментарий от archimag

> Не следишь за новостями? Почитай: http://www.google.com/press/ita/

Ну вы чудак. Приобретают не исходники на лиспе, а клиентскую базу.

Исходники достаются в нагрузку, и их потом долго и муторно переписывают с *банистического языка на нормальный. Вам напомнить историю поделки Глагне Одепта Лиспа, г-на Пола Грэхема, которую купил Yahoo и переписал на C++ и Perl?

Вне всяких сомнений, здесь будет точно так же.

Kuka ★★
() автор топика
Ответ на: комментарий от anonymous

да j

у меня на телефоне вполне заменяет R, по причине отсутствия оного под данную архитектуру и в виду немногословности

psv1967 ★★★★★
()
Ответ на: комментарий от Kuka

Предвосхищая «агаааа! на C++/Perl переписывают долго и муторно, а на лиспе два человека все сделали за месяц» - замечу, что из этого «долго и муторно» 95% времени относится к копанию в «мешанине из овсянки и обрезков ногтей», а 5% - на собственно реализацию.

Причем, скорее всего, одним человеком и за неделю.

Kuka ★★
() автор топика
Ответ на: комментарий от Kuka

>Лисп - прост

базовый лисп - да. CL - есть нормальная поддержка императивных вычислений и ортогональность.

Лисп - язык общего назначения

да, а вообще general purpose, так любой тьюринг полный называют.

Лисп - язык с изменяемым синтаксисом;

Лисп - язык с изменяемой семантикой;

да, в стандарте есть средства работы работы как с деревом, так и с ридером. называть это мифом - неоспоримая ошибка.

Десятое правило Гринспуна

да. динамические платформы есть уже даже на десктопе. тот же фаерфокс.

Программы на лиспе пишутся быстрее и меньшим количеством программистов

по сравнению с фортраном и си - да. если нужна гибкая платформа - да (Десятое правило Гринспуна).

III
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.