LINUX.ORG.RU
Ответ на: комментарий от archimag

> Сама идея совмещения разметки с логикой, изначально реализованная в php/jsp/asp/т.п. оказалась неудачной.

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

При работе с AJAX/COMET нужно генерировать много мелких строчек на JS. Так вот, в виде чистого JS с подстановками, в духе моих макросов для SQL, это будет выглядеть более читаемо, чем в виде скобочек, я в этом убедился на практике. Например, потому, что в JS можно использовать разные виды кавычек, а в лиспе - нет.

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

Да, я кстати забыл ещё об одной мелочи: отлов синтаксических ошибок.
Если я пишу select * from zoo (вместо foo), я получаю ошибку синтаксиса. SQL говорит мне конкретное место в тексте, где произошла ошибка. Когда у меня исходный код является инлайном в лиспе, я могу точно определить место _своего_ исходника, где находится ошибка. И я могу это автоматизировать, так что, нажатием одной кнопки сразу попадаю на место ошибки.

Когда у тебя «слой поверх», ты получишь место ошибки относительно сгенерённого исходника на SQL. Найти соответствующее место в твоём исходнике, написанном на «слое поверх» и показать его - это задача нетривиальная и не факт, что она вообще разрешима в рамках твоей среды разработки. В итоге, слой поверх замедляет поиск синтаксических ошибок, и чем выше уровень его абстракции, тем сильнее замедляет. Я помучался с этим некоторое время, перешёл на инлайн и с тех пор меня всё устраивает.

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

> Ну, предложите альтернативные языки для реализации.

В данный момент альтернативы C++ для многих задач просто нет.

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

> > При работе с AJAX/COMET нужно генерировать много

мелких строчек на JS.


Хм, зачем?

Я не помню, это было 2 года назад. Я не занимаюсь вебом. Видимо, для обработки событий видгетов.

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

А, ну так нужно и говорить, что не при работе c AJAX/COMET, а во всяких извращениях типа SymbolicWeb ))

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

Только я не понял одного- можно ли инлайнить эти шаблоны прямо в исходник Хаскеля?

Можно. И подставлять в них функции Haskell тоже можно.

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

> Не знаю про веб, но смесь SQL и клиентского языка - это вещь вполне осмысленная.

Ну да, то-то столько ORM'ов понаворатили...

LamerOk ★★★★★
()

Самый лучший LISP - это Tcl.

Minoru ★★★
()

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

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

> И кстати, может хоть кто-нибудь из лисперов или хаскеллеров в

кои-то годы нам покажет хоть строчку полезного кода


Да устали показывать то уже. Кстати, что вы считаете «полезным кодом»?

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

> Ещё нет альтернативы C и Perl.

Ну про C то что говорить, тут всё очевидно. А вот Perl имеет большой исторический багаж и его трудно выкинуть (да и зачем?), но вот писать новые системы на Perl никакой необходимости нет. Его можно использовать, а можно и нет.

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

Просто намедни понадобился скрипт, удаляющий коментарии внутри кода на C. Найденные скрипты для sed содержали ошибки, а код на perl работал без ошибок. Хотя надо будет вернуться к этой задачке, да на C переписать :)

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

> Хотя надо будет вернуться к этой задачке, да на C переписать :)

Лучше на Python или на Ruby или вообще на любом высокоуровневом языке.

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

Вот они, кстати, для сравнения - Perl, Sed. Код на Perl заметно короче.(Взято со stackoverflow и ещё откуда-то)

> Лучше на Python или на Ruby или вообще на любом высокоуровневом языке.

Сторонник мнения, что если задача типовая, то рано или поздно должна быть переписана на C.

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

В этом примере - для экономии ресурсов цпу. Если файлов много и они большие...
Но если разница с Perl получится незначительная, то скрипт предпочтительнее, т.к. не требуется сборка.
Иными словами, этот пример - слишком простая задача для того, чтобы здесь потребовался слабо типизированный язык.

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

Вы экономите ресурсы цпу на задаче удаления комментариев из кода на С? Вряд ли мы сможет понять друг друга.

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

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

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

Ну это пример, видимо плохой... =)
Цель задачи - построить дерево зависимостей заголовочных файлов, если файлов много, а задача не одноразовая, то разница будет заметной.

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

> если файлов много, а задача не одноразовая,

то разница будет заметной.


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

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

И как понять, какую часть кода возможно потребуется модифицировать? Вообще, это же преждевременная оптимизация. ИМХО, решение переписать код на C или сразу писать код на C должно приниматься под мощным давлением суровой реальностью, требующей более высокой производительности, либо удешевления, но не в результате абстрактных рассуждений.

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

Удаление коментариев - типовая задача, постановка и решение которой не изменится. Я понимаю, нужно сравнивать, прежде чем что-то переписывать, обычно так и делаю, но в идеале, если на цпу выполняются несколько задач, то каждая должна минимизировать свои затраты ресурсов, т.к. неопределено - сколько потребуется другим задачам. В идеале... Энергопотребление, отзывчивость...

Но если задача совершенно новая и её трудно разделить на подзадачи, то, вероятно, все эти требования уйдут на второй план.

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

> В идеале... Энергопотребление, отзывчивость...

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

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

>Удаление коментариев - типовая задача
Вы не поверите, но мне такая задача ни разу в жизни не встречалась. Можно юзкейс для примера?

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

Построение дерева зависимостей файлов исходного кода.

backbone ★★★★★
()
Ответ на: Что круче: Лисп или Хаскелль? от elverion

> За пятнадцать страниц наверное уж решили что лучше?

К обсуждению этого вопроса вроде ещё не приступали. А что, интересно?

archimag ★★★
()

Что круче: вилка или топор? Что-то на лоре в последнее время слишком много идиотов с идиотскими вопросами. Идиотов, которые рассуждают о «крутости» языка по его популярности.

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

Гораздо больше идиотов, которые рассуждают о том, какие на ЛОРе идиоты, совершенно не ориентируясь в ситуации.

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

Ты слишком умный и опытный программист, основная масса состоит не из настолько умных и опытных.

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

А кто-то сомневался? Ты мог решишь что-то другое? :)

У человечества сложилось два основных взгляда на программирование: одни говорят, что это почти математика, другие - что хакерство (такая штука for fun). Так вот, я - не математик :)

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

давление внешней среды, которое слабее год от года

Вы знаете про закон Вирта? :)

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

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

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

> Хаскель пока крут тем, что у него есть полторы нормальных реализации,

в отличие от кучи реализаций лиспа (и особенно схемы).


Что-то не понял логики. Для CL есть две отличных open-source реализации (SBCL и ClozureCL) и две отличных коммерческих (со всеми вытекающими).

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

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

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

Не хочешь же ты сказать, что математиков становится все больше и больше?

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

> Кстати да, только вчера думал, что давненько на ЛОРе не было лиспосрача, а тут бац

mv всегда к вашим услугам. Правда на этот раз толстовато ИМХО.

naryl ★★★★★
()

По теме: Конечно же Хаскель круче. Алгебраические типы данных, монады, отсутствие деструктивных операций - что может быть круче? А Лисп (Common Lisp, с другими близко не знаком) - обычный практичный язык на опробованных десятилетиями идеях, доведённых до ума. Совершенно ничего крутого. Поэтому в разработке софта лучше CL.

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

> По теме: Конечно же Хаскель круче. Алгебраические типы данных, монады, отсутствие деструктивных операций - что может быть круче? А Лисп (Common Lisp, с другими близко не знаком) - обычный практичный язык на опробованных десятилетиями идеях, доведённых до ума. Совершенно ничего крутого. Поэтому в разработке софта лучше CL.

И этот человек жалуется на толстоту.

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

Всё правильно сказал, чего тебе не нравится?

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