LINUX.ORG.RU
ФорумTalks

Почему yahoo store переписали с LISP на C++?


1

0

ну в общем это и есть мой вопрос. Пол Грехэм типа гордиться, как он мощно сделал этот самый магазин на лиспе, так что все конкуренты нервно курили в стороне. Но в 99 (или 98?) он ушел из яхи (которая сначала купила его разработку, а потом он пару лет там работал), а через несколько лет Яха полностью переписала с листа yahoo store на C++.

Что произошло? Кто в курсе?. Завел это в talks так как ожидаю некоторого флейма. Но надеюсь за интересной беседой все же понять в чем дело. Тем более у меня стоит конкретная задача о написании некоторого важного кода (некоторый простой и узко специальный code generator в язык C и FORTRAN) и рассматриваются кандидатуры языков сейчас активно. Среди них первые Питон и Лисп (именно в таком порядке) и я могу сильно повлиять на окончательный выбор - так как буду, видимо, серьезно определять куда двигаться в этом деле.

Предлагают альтернативу типа C++ и Java и если C++ я готов еще принять, то яву - нет (даже не из-за моих любимых templates, а просто я ее не знаю совсем). Так что, лисп, получается, не катит?

2Производитель вдов (WidowMaker): OCaml не предлагать, так как его я точно не могу ни пролоббировать ни навязать. У ключевых фигур в этой игре к ML стойкая неприязнь. :)

ЗЫ Модераторы, пожалуйста, будьте терпимее.

★★★

Забыл добавить, что одна из ключевых фигур испытывает страсть, граничащую с безумием к языку ADA. Так что у этого суперского языка есть шансы тоже. Нужны аргументы, чтобы повлиять против (или убедить себя, что Эйда - рулит).

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

Да все потому-же. Обезьянок, знающих C++ больше, чем обезьянок, знающих Lisp. Вот и фсе. А таких, как Пол Грэхем, тяжело заставить горбатиться на дядю за копейку по 12 часов, такие уходят и находят другую работу, не обязательно даже лучше. И приходится манагерам нанимать индусов, молдаван, мексиканцев, москвичей, чтобы те пахали хотя бы на том, что знают, хотя бы на C++. Потому что C++ преподают в маськовских ВУЗах, а Lisp - нет. Его осваивают только в порядке самообразования.

P.s. Java- мейнстрим, Lisp - должен сдохнуть!

anonymous
()

Обобщю сказанное онанимусом.

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

Наступает момент, когда разработка ПО перестает быть ремеслом, занятием хакеров-фриков и превращается в промышленную отрасль. Для промышлености важна технологичность процессов разработки и сопровождения изделия (разделение труда, дешевизна, простота, повторяемость, стандартизация, взаимозаменяемость и т.д. ).

Yahoo переписал свой движок на C++ по очевидной причине - язык lisp *не технологичен*. Число lisp программистов мало, а их стоимсоть велика. Пол Грехем ушел, и скорее всего у Yahoo начались проблемы с поддержкой и развитием того кода, который он написал. Все держалось на одном lisp программисте. Это *НЕ правильно* и *НЕ технологично*. Компания, руководство которой дружит со своей "крышей" никогда не поставит себя в ситуацию, когда судьба важного проекта зависит от одного технического работника. Действия Yahoo вполне понятны.

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

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

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

Возможно. Но речь в данном конкретном моем случае идет еще о научном творческом стартапе стариков, считающих себя хакерами ;) Шутка с долей шутки.

Что касается Грэхзма, то возможно ты и прав: яха просто не смогла сопровождать и развивать этот код. Но все же мне это дело не ясно до конца.

Еще один неясный момент: Грэхэм не любит МЛ языки. Откровенно. Еще он не всегда корректно пишет про С. Например про указатели на функции (кстати, я давно с них фанател: всегда казалось чуть ли не самым ценным в языке). Они гораздо более общи, чем он думает.

Так вот, может он вообще не любит ничего, чего не знает, да и учиться новому устал. Конечно PhD у него гарвардсое, а мастер он MIT. Я его не могу понять: не все хорошо, что он пишет. Какие-то завихрени с дизайном и рисованием. В общем, несерьезно это как-то.

>Наступает момент, когда разработка ПО перестает быть ремеслом, занятием хакеров-фриков и превращается в промышленную отрасль

Скорее речь идет о том, что разработка ПО становится ремеслом, а не искусством. А Видоумейкер и ко думают, что это можно исправить тем, что роботы начнут кодить лучше кодеров. :) Я лично сомневаюсь сильно, так как в истории было много "код генераторов", "фреймворков", "визуальных систем разработки" которые благополучно сдохли (сдохли почти все, я хотел сказать). Лишь малая толика из них жива, и то в основном в узких очень областях (например знаменитая система - забыл имя - в обработке сигналов).

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

Но романтическая натура продолжает надеяться на лучшее.

В любом случае, одно могу сказать точно: самое интересное в жизни - это учить новое. Так что время, которое я трачу на изучение всех этих прикольных вещей в компьютер сайенс - даром не проходит. Это и есть самый большой фан.

>Если твое начальство ступило и отдало право выбирать язык разработки тебе, то выбирай наименее технологичный, тот, который никто не знает

Хоть я и не считаю, что "никто не знает" И "не технологичный" это синонимы (вовсе не так, на самом деле), но ты мне подкинул идею. Пожалуй, стоит настоять на Лиспе, на котором пишу (хоть и с очень недавнего времени) лишь я. Ибо знаю лишь C, C++, Fortran, Python, Pascal (забыл уже его) и LISP (недавно начал писать реальные приложения). Из них самый "никто не знает" - это Лисп. Подсажу народ на иглу :) Надо только пару аспирантов найти, кто не сбежит после этого из проекта через месяц траханья с Лиспом.

:) Блин, был студент со Схемой, но в остальном не шарил. Знал бы тему - сейчас бы цены не было. А так сам ушел, так как не хотел учиться.

Но Лисп будет трудно пропихнуть. Все легко соглашаются лишь на Питон. И еще: трудно кадры искать под проект.

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

А зачем? Язык - не цель, а средство. Да и, скорее всего, приложения на lisp тоже чем-то страдают (производительность?). А Python популярен, так как импортным студентам теперь его преповают вовсю, ввиду простоты (и это правильно)?

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

>Да и, скорее всего, приложения на lisp тоже чем-то страдают (производительность?).

Чушь. Ты путаешь термины _язык_ и _реализация_ языка. Производительность приложений к языку никак не относится. К тому же, некоторые компиляторы лиспа способны производить код, сопоставимый по производительности с компиляторами Це.

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

> Потому что C++ преподают в маськовских ВУЗах, а Lisp - нет. Его осваивают только в порядке самообразования.

неправда. лисп преподают и в МГУ (вроде бы на вмик и на мехмате), и в бауманке, и даже в МАИ. А ещё, если не изменяет склероз, в ИТМО.

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

>Ты путаешь термины _язык_ и _реализация_ языка.

Не путаю. Производительность компиляторов C++ в зубах уже навязла, хотя, конечно есть еще куда рости, и я буду только рад, есди кто-то так же вылизывает компилятор lisp'a или что там еще.

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

Ну у нас например (МЭСИ) его дают курсе на 4... только вот бесполезно - все равно нихера никто его не понимает, как-то сдают и благополучно забывают

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

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

Bonegnasher
()

Ну вот снова дискуссию зарезали. Кстати лисперы конечно взаимозаменяемы - но их до неприличия мало, что в конечном итоге всё-таки является угрозой проектам. Что поделать, таковы реалии.

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

Да не мало их. Достаточно. Их же и нужно в разы меньше, чем всяких там кодеришек, потому как они в разы эффективнее. Риска никакого нет.

Грехем правильно писал - лучше всего брать свежих выпускников-CS-ников, и обучать их самостоятельно. Это окупится...

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

>Ну вот снова дискуссию зарезали.

Луговской разговаривать не умеет. Честно говоря, надоели его перлы.

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

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

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

Думаю лучше обучать математиков у них хотя-бы не такая иннерция мышления как у ITшных с++ ников и жабунов. По себе знаю.

Есть такой эффект снежного кома. Тебе задают большое количество параллельных проектов. Сидишь и думаешь - на чём писать. Да было-бы круто например поучить что-то новое. Я только за. НО! Время поджимает и тебя ситуация заставляет писать на том, что лучше всего знаешь. Т.К. Результаты надо показывать оч. быстро.

Меня уже блевать просто тянет от С/С++, но никуда от него отойти подальше не могу.

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

Не математиков, а инженеров. У них есть важное умение - адаптироваться к новым областям знания и решать нечётко сформулированные задачи.

А когда учиться - время найдётся всегда. По часу в день - и за 3-4 недели выучишь новую парадигму (с несколькими языками).

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

Ничё подобного. Знаешь что говорят например мэтры классической музыки? Успех - это 99% работы и 1% таланта. Мне - 7 летнему пацану так сказал препод дающий мастер классы и хотел забрать учиться в интернат. Слава богу что не отдали, конечно я тогда жутко испугался гигансткого количества работы (6-8 часов в сутки - хехе), зато теперь допирает по полной как он был прав. Так что - самоорганизация - гуд.

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

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

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

Ну ёпершмидт! Ты занимался музыкой? Нет не тем, что современная молодёжь называет музыкой. Классика. Ну? О каких бесконечных повторениях ты говоришь? Программирование - жалкое перекладывание кирпичиков из одной кучи в другую по сравнению с Музыкой. Там душу надо выложить чтобы зазвучало, а тут... Даже сравнивать не пытайся.

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

Блин. Ты же сам сказал - 1% таланта и 99% - техники. То же и в спорте. А в программировании техники не надо. Так что только одно и остаётся - тренировать талант и наращивать знания.

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

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

> требуется максимальное разнообразие на максимальной сложности.

в программировании присутствует экспоненциальность. Если писать максимально "творчески", то при добавлении N строк кода, сложность и мощь возрастет в M раз.

И именно для борьбы с этим придумывалось много техник. То же структурное программирование, разбиение кода на функции/модули/объекты с "тупыми" интерфейсами наносит удар по экспоненциальности. Или борьба с нелокальным goto -- то же самое.

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

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

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

Красивым и гениальным может быть и простой код, и что либо дико сложное и запутанное может оказаться порождением воспалённого сознания безмозглого барана. Так что тут нет корреляции между сложностью и степенью принадлежности к высокому Искусству.

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

сказано было, что программа должна, в результате, генерировать исходный код на C и FORTRAN. при чем тут производиетльность?

anonymous
()

2Виталий:

> некоторый простой и узко специальный code generator в язык C и FORTRAN

>А вот такое как раз на ML или Haskell сейчас чаще всего пишут. Для ML есть CIL - оченно мощный фреймворк для работы с Си.

А вот с этого места, если можно, поподробнее пожалуйста. "Чаще всего пишут" означает, что уже много чего пишется. Нужны очень все возможные ссылки интересных проектов в этой области!

Еще, можно поподробнее про Haskel. Есть ли опыт работы с этим языком.

Сама задача довольно простая. Нужен скриптовый язык описания моделей в конкретной области. Есть такие работы где-то?

Интересно, что NSF любит финансировать сейчас такие вещи.

>Избавься от них. Они - больные люди. Ну или Haskell попробуй протолкнуть - если неприязнь к ML не есть неприязнь к Хиндли-Миллнеру и алгебраическим типам данных.

О, вовсе нет. Люди эти не больные, просто был неудачный опыт работы. Вообще-то народ этот довольно гибкий и готов признать и ML, если надо. Они кроме всего еще боятся, что не будет работать на AIX.

>Лисп, конечно же, тоже сгодится - но предварительно придётся написать для него тот или иной вариант алгебраических типов - без них с AST сложных языков работать гнило, а C - язык весьма сложный.

С этого места тоже хочется поподробнее. Ведь не я первый и не я последний пытаюсь делать эту задачу. Значит, кто-то уже пытался написать алгебраические типы для Лиспа. Может ты знаешь какие-нибудь реализации и в чем они уступают или превосходят вариант с Хаскелем или МЛ.

По поводу С. Что ты понимаешь под его сложностью? Сложно генерить на нем код? На самом деле речь идет не о мэппинге на всю семантику С, а лишь на некое множество шаблонов на нем и библиотек (в том числе наших собственных).

Еще хочется узнать, если язык подразумевается очень простой, то стоит ли затевать бодягу с мощными парсерами вродя яка с лехом? Если вопрос глупый, то это оттого, что я этой области совсем не знаю пока. Максимум сложного что делал - это парсер для своей очень старой виндовой программы (Uni-K Sensei), для ее словарей (и конвертер для закрытых форматов "конкурентов"). И (тоже старый) парсер для ини файлов (на sf.net это parse_conf). Все делал руками на C, так что опыта работы с более мощным чем-то не было.

-------

По поводу МБА. Они на самом деле довольно неплохо считают деньги. Я все же думаю, что лисп просто оказался дороже. Ребята с головой и руками нужны в моменты расширения на рынке. КОгда дело сделано и надо просто брать свой кусок в устоявшихся условиях, то, возможно, нужно все переписывать на Яве. :)) Но это моя версия. Что там было на самом деле неизвестно. Вот бы послушать самих яховцев.

----

CMUCL офигенно быстр - это правда. Установил уже с три месяца в придачу к Clisp и просто офигел, насколько CMUCL быстр. Сделал простую зачачку на Clisp с рекурсией. Так она была раз в 10 меньше сишного аналога. Цмьюсил не проиграл C. Удивительно.

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

----

анонимусу:

Хороших компиляторов С++ все же полно. Я бы особенно отметил родной IBM под AIX - вещь в себе, а также упомянул бы интел компайлер для PC.

-----

>2atoku: читай удалённые сообщения, тут малолетний модератор пытается скрыть свидетельства собственного невежества.

Прочитал, спасибо за намек :) Когда подразумевается флейм на тему Лиспа и функциональных языков, я всегда включаю режим показа удаленных. Там, часто, самое ценное, которое уничтожают люди с бубнами. :) Полиция нравов, блин! Но все же, постарайся не ругаться, пожалуйста.

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

> Не путаю. Производительность компиляторов C++ в зубах уже навязла, хотя, конечно есть еще куда рости, и я буду только рад, есди кто-то так же вылизывает компилятор lisp'a или что там еще.

ты конкретно не в теме, скомпиленый lisp быстрее чем скомпиленый c++ .. было бы замечательно если бы в c++ компиляторах использовалось хотя бы 5% от техник оптимизации которые используются в Pythonе(не путай с языком программирования) .. к тому же, если следовать некоторым схемам построения кода на lispе, можно писать мега оптимизированные алгоритмы (по сути когда ты пишешь на лиспе ты строешь уже отпарсенные семантические деревья) и добиться того что невозможно добиться при компилировании c++ ибо в c++ ты не можешь контролиравать семантические деревья ..

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

> Потому что C++ преподают в маськовских ВУЗах, а Lisp - нет.

LISP преподают, например, на ВМиК МГУ.

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

> А вот с этого места, если можно, поподробнее пожалуйста. "Чаще всего пишут" означает, что уже много чего пишется. Нужны очень все возможные ссылки интересных проектов в этой области!

Так с ходу ссылок не нарою (кроме всё того же CIL-а, ищи на Caml Hump), однако, я видел много числодробильных софтин, где аналитическая часть писалась на ML-е, с генерацией Фортрановского кода.

> Еще, можно поподробнее про Haskel. Есть ли опыт работы с этим языком.

См. список библиотек на www.haskell.org - там про кодогенерацию и разработку DSL-ей довольно таки много всякого (начиная от Parsec, и заканчивая заточенными под тот же Си фреймворками)

> Вообще-то народ этот довольно гибкий и готов признать и ML, если надо. Они кроме всего еще боятся, что не будет работать на AIX.

Байткод-версия OCaml - точно будет работать. Нативная, как я понимаю, и не нужна.

> Значит, кто-то уже пытался написать алгебраические типы для Лиспа.

TypeL, искать на cliki.net

> По поводу С. Что ты понимаешь под его сложностью?

AST сложный - много разнородных конструкций в языке (тогда как у того же Лиспа - всего лишь С-выражения, у ML-а (в грубом приближении) - три типа лямбда-термов, и всё).

Ну и ещё, про разработку DSL-ей на Лиспе - см. мою статью (ссылку много раз тут давал, больше не буду - всякий раз удаляют).

Howler
()

Забавно

Похоже что не целиком переписали :)

Цитата с http://www.paulgraham.com/avg.html:

In January 2003, Yahoo released a new version of the editor written in C++ and Perl. It's hard to say whether the program is no longer written in Lisp, though, because to translate this program into C++ they literally had to write a Lisp interpreter: the source files of all the page-generating templates are still, as far as I know, Lisp code.

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

>Так с ходу ссылок не нарою (кроме всё того же CIL-а, ищи на Caml Hump), однако, я видел много числодробильных софтин, где аналитическая часть писалась на ML-е, с генерацией Фортрановского кода.

CIL - как я понял - чистилка для С кода. У меня все же совсем иная задача. Но я постепенно нахожу точки опоры, однако :)

Кстати, вспомнил тот код-генератор: http://www.spiral.net, который судя по всему, написан на С.

Интересна очень еще такая ссылка (очень советую посмотреть): http://www.math.tuwien.ac.at/~aurora/Aurora/start.html

Все же мне не надо писать числодробильню. Я думаю, что мне и алгебраические типы не нужны на моем уровне абстракции. Сейчас более менее становится ясно как делать вообще задачу. Видимо, мне больше всего подойдет все же LISP. Хотя я тщательно изучу и МЛ сайт и Хаскель сайт. Ошибка на этапе проекта может потом вылиться очень плохо.

Меня еще заинтересовал http://psilab.sourceforge.net/, который я нашел на сайте ОВерблюд. Еще прикольная вещь - Hevea

> Ну и ещё, про разработку DSL-ей на Лиспе - см. мою статью (ссылку много раз тут давал, больше не буду - всякий раз удаляют).

Статья твоя у меня есть. Читаем. Тебе мнение как, сюда или личным письмом? Кстати, лично я мог бы раскрыть наш проект поподробнее. Было бы интересно обсудить. Ты в России сейчас?

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

>Для работы с AST нужен язык с алгебраическими типами - это, считай, аксиома, и обсуждать её - глупо.

Давай все же обсудим, пусть будет глупо, но зато полезно. :) Раскрой, пожалуйста, тему.

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

CIL - это несколько больше, чем чистилка кода. Это *промежуточный* язык, с удобным для обработки AST для OCaml-а.

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

В Лиспе же мы можем случайно заместо, например (variable-definition this-block "abc" int (Integer Unsafe)), породить (variable-definition "abc" Integer), чиста по малопамятству, и потом неделю пить корвалол и искать эту глюку...

Про обсудить подробнее - пиши на mauhuur@gmail.com.

В России вряд ли когда либо надолго появлюсь... :(

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

Да, забыл совсем - кроме гарантии, что обработаны будут все возможности, алгебраические типы ещё существенно упрощают pattern matching, а любой компилятор (к каковым и кодогенераторы относятся) на 90% из pattern matching-а и состоит...

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


> Про обсудить подробнее - пиши на <<>>

<offtopic>
Ребята (Виталий, atoku, dilmah, etc), сдается мне нужно больше личные блоги использовать.

Может сразу тогда на LJ выносить обсуждение и там уже ... ?
А то только до интересного дошли и тут же в приват.

Абыдна, да?
<offtopic>

-- Antey

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

Почему тогда "таки" говоришь? :)

Кстати, по ссылочке, критика XML весьма прикольна. Действительно, "разгребать" XML файл, сложнее демонстрационного примера, задача не из легких. Без "XML Шпиёна" вручную - это веселое развлечение. Правда, и к LISPу тоже привыкнуть надо, ели это не расчет семейного бюджета в guile:) (прикалываюсь).

Ты Camelot lang. смотрел? Описание МНОГО меньше Джаванского, а в JVM работает. Кстати, по поводу мнимой легкости Java - надо взять книгу по подготовке к Sun 310-025 и увидеть сколько там "ловушек". Меньше, чем в языке "автору которого место в дурке или не погосте" (с), но есть в Java "горькости" (Bitter Java).

PS. совет тебе. Выбирай погоняло Mauhuur_новыйНикнейм, если опять забанят:)

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

> Почему тогда "таки" говоришь? :)

Ой-вэй, а ви таки антисемит, да?

> Правда, и к LISPу тоже привыкнуть надо, ели это не расчет семейного бюджета в guile:) (прикалываюсь).

Если S-выражения использовать как замену XML - то есть, формат, лишь изредка редактируемый ручками - то фигли тут привыкать. Другое дело, что обрабатывать Лисп лучше всего самим же Лиспом - но на такую ересь, как отказ от любимой Жабы заради какого-то там удобства и эффективности мало кто готов пойтить...

> Кстати, по поводу мнимой легкости Java

Ну, чего ещё ждать от языка с динамической типизацией? Фишка в том, что легко выделяется подмножество, свободное от "тонкостей".

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