LINUX.ORG.RU

Лисп в промышленной разработке


0

1

http://13-49-ru.blogspot.com/2010/07/blog-post_21.html

Утритесь, неосиляторы и s-exp'офобы. Лисп - не только лучший язык, но и успешно доказывает это в промышленных разработках и даже среди C++- и java-кодеров, не читавших умных книжек.

★★★★★

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

>А джаверы не пишут что у них на работе, очевидно, потому что Историй Успеха Java хватает, а CL вечно всевозможным троллям не хватает.

Вы не могли бы мне пояснить, почему афишируемую вами разработку расцениваете как успешную? Она выбилась в лидеры по %-ам дохода на бирже? Чем вообще она себя положительно проявила в деле, а не на словах самих разработчиков?

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

> Вы не могли бы мне пояснить, почему афишируемую вами разработку расцениваете
как успешную? Она выбилась в лидеры по %-ам дохода на бирже? Чем вообще она
себя положительно проявила в деле, а не на словах самих разработчиков?

при использовании подходящего языка под задачу, в данном случае CL подходит
больше для 90% задач, чем C++, при наименьших затратах времени/финансов
получаем больше профита. --КО.

CL-USER
()
Ответ на: комментарий от CL-USER

>при наименьших затратах времени/финансов

А поскольку сравнивать по существу не с чем, т.к. параллельно на С++ никто не пишет эту поделку, то все аргументы - это чисто субъективные слова разработчиков. Не впечатляет.

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

А поскольку сравнивать по существу не с чем, т.к. параллельно на С++ никто не пишет эту поделку, то все аргументы - это чисто субъективные слова разработчиков.

Зато придётся конкурировать с существующими решениями, и на С++ тоже, так что всё по честному.

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

>Зато придётся конкурировать с существующими решениями, и на С++ тоже, так что всё по честному.

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

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

> бла-бла, короче стандартные мифы. Так что никаких объективных фактов,
подтверждающих «успешность истории» нет.

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

CL-USER
()
Ответ на: комментарий от CL-USER

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

Есть одна проблема: чтобы увидеть нечто, это нечто должно объективно существовать. А в твою аргументацию можно только уверовать. Поэтому вас и называют сектантами.

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

>Вы не могли бы мне пояснить, почему афишируемую вами разработку расцениваете как успешную?

Потому что она живет и развивается, неуспешную задавили бы конкуренты.

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

> Неадекватом не быть - на ЛОР не ходить.

Ну про ваше неадекватность мы всё вчера уже выяснили. Просто не надо других по себе судить.

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

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

«мы»? у вас предположительно шизофрения

Просто не надо других по себе судить.


хорошее правило - теперь научитесь ему следовать

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

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

«мы»? у вас предположительно шизофрения


Поясните, при чём тут шизофрения, если некоторое количество людей выяснило Вашу неадекватность и один из них сказал об этом?

Просто не надо других по себе судить.


хорошее правило - теперь научитесь ему следовать


Вы сбежали с ныне покойного форума linuxsuxx.org?

И вообще, не засоряйте тему переходом на личности. Оба. :)

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

> если некоторое количество людей выяснило Вашу неадекватность и один из них сказал об этом?

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

Вы сбежали с ныне покойного форума linuxsuxx.org?


нет

ahonimous
()
Ответ на: комментарий от CL-USER

А анон-то всё же прав… Есть некая сферическая история, но нет конкретики. Так что утереться пока нечем.

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

А анон-то всё же прав… Есть некая сферическая история, но нет конкретики. Так что утереться пока нечем.

Ситуация довольно смешная. Сам факт, что вместо какого-нибудь мейнстримного языка (Java, C# или ныне умирающего C++) был успешно применён Common Lisp, известный в народе по множеству предрассудков, типа: «сложный», «много скобок», «медленный», «100500 библиотек нет», программистов не найти", никого не удивляет.

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

Другой стереотип: даже не чистые функциональные языки - это только и обязательно монады, DSL'и и призрак Зефирова. При виде императивного куска кода на лиспе они кричат: «Ха! Да я это на C++ напишу!». Ну и что? Ради императивного куска, который, к слову, прекрасно на лиспе пишется, внедрять в проект C++? А что это даст, кроме геморроя?

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

> Другой стереотип: даже не чистые императивные языки - это только и обязательно процедурный и ООП подход. При виде функционального куска кода на С++ они кричат: «Ха! Да я это на лиспе напишу!». Ну и что? Ради функционального куска, который, к слову, прекрасно на С++ пишется, внедрять в проект коммон лисп? А что это даст, кроме геморроя?

fixed

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

Есть одна существенная разница: локальный даунгрейд абстракции (императивщина на лиспе) делается легче, чем постоянный её апгрейд (функциональщина на C++). Нет, конечно, если с подводной лодки деваться некуда, то и boost'у будешь рад, но по сравнению с более мощными языками, где эти абстракции являются органичной частью базового языка, boost всё равно неполноценная пришлёпка сбоку.

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

> Ради функционального куска, который, к слову, прекрасно на С++

пишется, внедрять в проект коммон лисп?


Common Lisp используют не ради его «функциональных» возможностей (я вообще не считаю CL ФЯП), а просто потому, что это значительно более мощный (с точки зрения языковых средств) язык, чем С++, и разработка на нём потребует меньше сил и времени.

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

наверное поэтому ты лично написал не один велосипед?

См. выше про предрассудок «нету 100500 библиотек». А сколько велосипедов написали вы? Или сколькими велосипедами типа boost воспользовались?

К слову, количество и скорость рождения «велосипедов» archimag'ом как раз говорит о том, что делать это на лиспе очень просто... ;)

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

> Не помню, что бы я писал велосипедов. Напомните?

дык вот же:

http://github.com/archimag/

особенно умиляют форки существующих проектов, в то время как для С/С++ существует масса отличных библиотек( и даже «комбайны» вроде Qt ) - на CL надо писать с нуля, либо брать чужую недоделку и допиливать, либо писать враппер вокруг сишной библиотеки( среди врапперов кстати тоже существуют зоопарк недоделок ), наверное поэтому «разработка на нём потребует меньше сил и времени»

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

> См. выше про предрассудок «нету 100500 библиотек». А сколько велосипедов написали вы? Или сколькими велосипедами типа boost воспользовались?

я пользуюсь чужими «велосипедами» - коих есть выбор, мне не надо писать обертки или реализовывать с нуля

К слову, количество и скорость рождения «велосипедов» archimag'ом


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

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

> дык вот же: http://github.com/archimag/

Хм, и что там является «велосипедами»? Просто интересно ваше мнение...

особенно умиляют форки существующих проектов


Ваша неосведомлённость просто пугает. Походите по страницами людей, пишущих на C++ и посмотрите сколько там форков плюсовых проектов.

в то время как для С/С++ существует масса отличных библиотек


И в Common Lisp существует масса отличных библиотек. В С++ уже перестали писать новые библиотеки?

Я писал на С++ (на неплохом уровне) около 7 лет и ушёл с него на CL. Кстати, у меня и для С++ «велосипед» открытый есть: http://code.google.com/p/popenplusplus/ - а всё потому, что в С++, с его «массой отличных библиотек» нет ни одной приличной либы для создания дочерних процессов и взаимодействия с ними через стандартные потоки ввода/вывода.

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

я пользуюсь чужими «велосипедами» - коих есть выбор, мне не надо писать обертки или реализовывать с нуля

В Коммон Лиспе много «велосипедов» встроено прямо в язык. В некоторых библиотеках просто нет нужды. Например, при переписывании кода с лиспа на си я был вынужден использовать libconfig, хотя в лиспе был простой вызов функции load (то же самое с libxml2). Или городить огород с protobuf для маршаллинга/демаршаллинга данных, хотя в лиспе просто успешно слал sexp'ы, полученные штатным средством, а на другом конце из этих sexp'ов штатным способом получались объекты. Или необходимость использовать неудобный gmp, а в лиспе bignum и ratio из коробки. А что придётся городить, чтобы поиметь аспекты на существующем крестовом коде? А какую библиотеку нужно использовать, чтобы иметь мультиметоды?

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

Это проблема opensource, я не одного конкретного языка. 5 лет назад я и с плюсами обжигался, когда автор забрасывал библиотеку, аналога которой на момент внедрения в свой продукт не было.

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

> Хм, и что там является «велосипедами»? Просто интересно ваше мнение...

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

Ваша неосведомлённость просто пугает. Походите по страницами людей, пишущих на C++ и посмотрите сколько там форков плюсовых проектов.


и кто из нас паясничает? форки есть везде - но в С/С++ есть базовые проекты, а форкают чтоб сделать по-своему, а ты форкаешь библиотеку 2003-его года, чтоб исправить один баг

Я писал на С++ (на неплохом уровне) около 7 лет и ушёл с него на CL


вашу личную жизнь мы потом обсудим отдельно

Кстати, у меня и для С++ «велосипед» открытый есть: http://code.google.com/p/popenplusplus/ - а всё потому, что в С++, с его «массой отличных библиотек» нет ни одной приличной либы для создания дочерних процессов и взаимодействия с ними через стандартные потоки ввода/вывода.


pstreams?

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

> Это проблема opensource, я не одного конкретного языка. 5 лет назад я и с плюсами обжигался, когда автор забрасывал библиотеку, аналога которой на момент внедрения в свой продукт не было.

вы хотите сказать, что кол-во «самобытных» библиотек на CL сравнимо с С/C++?

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

вы хотите сказать, что кол-во «самобытных» библиотек на CL сравнимо с С/C++?

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

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

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

нет - я просто ответил на фразу «разработка на нём потребует меньше сил и времени.», в которой архимаг «не заметил», что для разработки на CL есть свои проблемы

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

> да почти все, или вы считаете форки, обертки, свою «оригинальную»

реализацию и пр. - чем то новым?


Хм, не понял, всё что не ново это «велосипед»? Тогда в современном IT ничего кроме велосипедов и нет и суть претензий мне не понятна.

форки есть везде - но в С/С++ есть базовые проекты


Хм, а в CL их нет?

а ты форкаешь библиотеку 2003-его года, чтоб исправить один баг


О чём речь? Будьте пожалуйста более конкретны.

pstreams


Не переносима же. К тому же, яркий пример «велосипеда», ибо основной код библиотеки это реализация потоков и его можно было бы выкинуть, воспользовавшись той же boost::iostreams

archimag ★★★
()

Фи, какой вы тут срач из ничего развели. Вот я пишу мелкие велосипедики на Common LISP и запускаю в CLISP. Писать прикладные велосипедики на тех же плюсах - самоубийство. На отладку плюсокода уходит слишком много времени. Плюсы хорошо пользовать, если в проекте есть гуй на кутях. Для остальных задач существуют остальные языки. ^_^

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

>На отладку плюсокода уходит слишком много времени

Пишу на плюсах, какой кнопкой в иде врубается отладчик давно забыл. ЧЯДНТ?

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

>См. выше про предрассудок «нету 100500 библиотек».

А как насчет предрассудка «есть 100500 библиотек, и которых 100499 нерабочих»? Или стандарт древний, как говно мамонта, поэтому в нем нет ни сокетов, ни потоком. Из этого, кстати, вытекает следующий миф: каждая современная реализация предоставляет необходимые вещи по-своему (про обертки see above про 100500 библиотек). А «коммерческая среда разработки, в которой все есть стоит много денег и обладает зверской лицензией»?

Или сколькими велосипедами типа boost воспользовались?

Мне стало интересно, что ты подразумеваешь под словом «велосипед» в контексте «пользоваться»?

К слову, количество и скорость рождения «велосипедов» archimag'ом как раз говорит о том, что делать это на лиспе очень просто... ;)

Вообще-то большое количество и высокая скорость могут с таким же успехом говорить, что «в лиспе нет многих примитивных вещей».

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

> Из этого, кстати, вытекает следующий миф: каждая современная

реализация предоставляет необходимые вещи по-своему


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

Вообще-то большое количество и высокая скорость могут с таким же

успехом говорить, что «в лиспе нет многих примитивных вещей».



Хм, поскольку речь зашла о моих проектах, то скажите, пожалуйста, когда в стандарт С++ добавили поддержку routes, библиотеку веб-шаблонов и прочие примитивные вещи? Может я чего-то пропустил? Или как понимать «в лиспе нет»?

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

> Треды(да даже и сокеты, но треды - особенно) в стандарт языка программирования пихать - бредятина.

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

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

>Треды(да даже и сокеты, но треды - особенно) в стандарт языка программирования пихать - бредятина.

Можно и не в стандарт. Можно прийти к соглашению вроде POSIX и во всех имплементациях предоставлять единообразные интерфейсы для доступа к сокетам, управлению процессами и т. п. Это же какой писец творился бы в сишноплюсовом стане, если бы каждый компилятор навязывал свой open, свой socket и прочие радости, не совместимые друг с другом? А в случае с зоопарком CL так оно и происходит.

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

У нас есть стандарт, наркоман. ANSI INCITS 226-1994 (R2004).
Треды на разных ОС отличаются. А где-то их и нет. А где-то и ОС вообще нет. Их нельзя пихать в стандарт языка программирования.

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

> Это же какой писец творился бы в сишноплюсовом стане, если бы каждый

компилятор навязывал свой open, свой socket и прочие радости, не

совместимые друг с другом?



Это каким образом компилятор может навязывать свой open, если он определён в стандарте?? А что, какая-то реализация CL навязывает свой open, когда работа с файлами чётко прописана в стандарте? И сколько реализаций C++ пользуются широкой популярностью??? И ни одна из этих двух с половиной реализаций не содержит своих расширений??

Прекратите бредить.

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

Наверное, ты забыл, что код надо компилить и потом ещё и запускать. :D

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

> Я отвечу на этот вопрос, как только это будет иметь хоть какое-то отношение к дискуссии.

а это имеет прямое отношение - если вы пишете из под браузера, написанного на С++( все нормальные ), то лицемерно заявлять, что вам С++ не нужен

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