LINUX.ORG.RU

Lisp

 , , ,


1

7

Решил прокачать скиллы на CL. Несколько вопросов. 1)Ни одной вакансии.Почему? 2)Преимущества и недостатки для web? 3)Инфраструктура? 4)Есть идея проекта игровой тематики. Хочу использовать Lisp. Разумно? Если да то почему.Если нет то какие минусы и с какими сложностями и трудностями прийдется столкнуться?

Перемещено post-factum из web-development

Перемещено mono из talks

Не надоело?

1)Ни одной вакансии.Почему?

Потому что не умеешь искать. Вакансий мало, потому что язык не ахти как популярен.

2)Преимущества и недостатки для web?
3)Инфраструктура?

Инфраструктуры почти нет, пара полуживых веб-серверов и веб-фреймворков.

4)Есть идея проекта игровой тематики. Хочу использовать Lisp. Разумно?

Проект ради лиспа или осознанно лисп для проекта? Судя по всему, неосознанно, значит не разумно.

staseg ★★★★★ ()
Ответ на: Не надоело? от staseg

Потому что не умеешь искать.

Ну так просветил бы человека.

proofit404 ()

1)Ни одной вакансии.Почему?

синтаксис выглядит странно, среда чужеродная для большинства из С/С++/.NET/PHP мира.

вакансии есть, их нужно искать в разделе R&D и других подобных проектов, где язык можно самому выбирать

2)Преимущества и недостатки для web?

Недостатки: инфраструктуры маловато, по сравнению с PHP :-) например. Хостинг должен быть под контролем, типа VDS, чтобы поставить свой лисп с библиотеками.

Преимущества: гибкость среды, REPL, макросы, sxml. Особых преимуществ с Web с другими языками нет.

см. uncommon web, RESTAS, и т.п. archimag делал на http://lisper.org свой движок.

3)Инфраструктура?

есть. http://lisper.org http://quicklisp.org http://asdf.com http://cliki.net http://www.common-lisp.net

4)Есть идея проекта игровой тематики. Хочу использовать Lisp. Разумно? Если да то почему.Если нет то какие минусы и с какими сложностями и трудностями прийдется столкнуться?

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

Плюсы: REPL, интерактивность разработки, более быстрый цикл разработки

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

При этом со все поля пользоваться интерактивностью разработки (REPL), CLOS, MOP, макросами.

Оптимизировать: найти узкие места и переписать их на Си, на лиспе сделать FFI обёртки

просмотрщик моделей

lisp sdl builder

для iPhone: новость (там Gambit Scheme, но неважно)

оптимизировать можно

ну и поищи ссылки с lisp на YouTube и GitHub-е, там много игрушек показывается.

ещё бложки типа game in a day, среди отчётов попадаются истории (post mortem) о разработке игры за день на питоне с PyGame, и на лиспе в том числе.

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

lispjobs.wordpress.com

На linkedin иногда бывает.

На лоре в Jobs бывает.

На hh бывает.

На тематических лисп-сайтах бывает.

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

staseg ★★★★★ ()

Несколько вопросов

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

Решил прокачать скиллы на CL. Несколько вопросов

А можно встречный вопрос - чем вызвано такое решение и, особенное, выбор веба?

no-such-file ★★★★★ ()
Ответ на: комментарий от anonymous

Особых преимуществ с Web с другими языками нет.

Ну почему. Возможность писать в Web-приложении (when (login) (main-page)), где login — отдельная страница с авторизацией достаточно удобна и мало где ещё возможна.

monk ★★★★★ ()
Ответ на: комментарий от no-such-file

Отвечаю на вопрос: тошнит от ООП. Закончил свой проект на питоне. Последние недели заставлял себя писать код на нем. Сам пишу на стороне сервера. Ничего из отдела визуализации не делаю и не собираюсь. Считаю что ФП гораздо разумнее использовать в своих проектах если заказчик и один из исполнителей ты сам. Стоит выбор: Haskell или Lisp. С Лиспом не знаком,но мой преподаватель советует Lisp так как вроде как лучше распараллеливать логику.

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

Да да да... Код пишется намного более последовательнее и логичнее. Фактически пишешь по ходу своих мыслей и развития логики. Скачал Allegro Expreess. На нем попробую поучиться.

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

Лучше смотри не на Common Lisp, а на Clojure. Это JVM Based ЯП, так что будут батарейки и много.

Вот тебе свежая мотивационная статья с хабра: http://habrahabr.ru/post/173071/

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

а на Clojure. Это JVM Based ЯП, так что будут батарейки и много.

Тогда уж лучше kawa. Те же батарейти, но на scheme.

no-such-file ★★★★★ ()
Ответ на: комментарий от OpRussia

Считаю что ФП гораздо разумнее использовать в своих проектах если заказчик и один из исполнителей ты сам

Во-первых, вам ничто не мешает использовать ФП в питоне.

Во-вторых, CL имеет отношение к ФП не намного больше, чем питон.

Ну а хаскель... при таких альтернативах лучше, конечно, взять CL.

no-such-file ★★★★★ ()

1. DoD'у потребны граждане.
2. можеш делать что угодно, должен делать что угодно.
3. Инфаструктура!
4. настолько, насколько ты разумен.

да/нет следует ровно из (4)

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

более быстрый цикл разработки

Миф.

anonymous ()

Привет ЛОР!

ЛОР, у тебя уже нет ещё готовой копипасты, чтобы отвечать на такие вопросы?

amphibrakhij ()
Ответ на: комментарий от no-such-file

Тогда уж лучше kawa. Те же батарейти, но на scheme.

Но нету, по крайней мере, русского сообщества. Если глянуть, то по Clojure куча статей и how to. А про kawa я лишь пару раз на ЛОРе слышал. Плюс, под Clojure есть Leiningen, куча расширений emacs, IDEA, Eclipse и фреймворки, заточенные именно под Clojure.

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

Стоит выбор: Haskell или Lisp. С Лиспом не знаком,но мой преподаватель советует Lisp так как вроде как лучше распараллеливать логику.

Мне самому очень нравится лисп, который Common Lisp, но здесь я бы посоветовал выбрать между Scala и clojure. Оба языка на платформе Java. Причем для clojure есть clojurescript, который умеет компилировать (не весь) clojure в JavaScript. Имей в виду, что clojure - это тоже лисп, но с большим упором на ФП. На мой скромный взгляд у обоих языков clojure и Sсala с распараллеливанием и вебом обстоят дела лучше, чем у Common Lisp.

Common Lisp, конечно, относится к ФП, и исторически и по факту, но чтобы писать на нем в функциональном стиле желательно уже много знать об ФП, лучше всего на примере других языков типа Haskell, или по книге PAIP Питера Норвига, где много приведено хорошего кода на Common Lisp в функциональном стиле (с некоторыми оптимизациями с использованием деструктивных операций по мере необходимости), включая компилятор Prolog в лисп. Common Lisp требует определенного мастерства, что ничуть не умаляет его прекрасных достоинств (особенно в образе lispworks).

dave ★★★★★ ()
Ответ на: комментарий от no-such-file

Ну а хаскель... при таких альтернативах лучше, конечно, взять CL.

А чё так? Вроде википедия говорит, что написано на нём много чего

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

Common Lisp, конечно, относится к ФП, и исторически и по факту, но чтобы писать на нем в функциональном стиле желательно уже много знать об ФП, лучше всего на примере других языков типа Haskell
то clojure - это тоже лисп, но с большим упором на ФП

ЛОЛШТО?

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

Если глянуть, то по Clojure куча статей и how to

Ну по схеме тоже материалов не мало. И для схемы есть emacs+slime, так-что всякие эклипсы ненужны. (Впрочем, для clojure slime тоже есть).

Вообще, конечно clojure сейчас популярнее, но когда я его тыкал, доступ к jvm из kawa показался мне проще.

no-such-file ★★★★★ ()

Флеймообразующий пост, ну да ладно, покормлю)

1) Ни одной вакансии. Почему?

Малая распространненость технологии.

2)Преимущества и недостатки для web?

Преимущества: мощный язык, имеется несколько быстрых реализаций. Очень неплохой багаж библиотек. Лисп +)

Минусы: пресловутые REPL и hot code swap делают проект зависимыми от состояния лисп-машины. Т.е. если ты был невнимателен, и что-то не записал в файл, или наоборот, записал, но не вычислил — может получится сломаный билд (и ты об этом узнаешь только при перезапуске лисп-машины).

Странности со стек-трейсами: они не всегда читаемы, и не всегда в них есть номер строки, откуда он прилетел.

Не у всех библиотек все хорошо с потоками (превед, CLSQL!).

Это навскидку.

3)Инфраструктура?

Неоднородна. Есть quicklisp, asdf. Мало документации и Q-A для типичных проблем. Sad but true.

Есть очень неплохой restas, cl-closure-template и иже с ними.

4)Есть идея проекта игровой тематики. Хочу использовать Lisp. Разумно?

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

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

И еще добавлю: динамическая типизация очень быстро намекает тебе на полезность тестов. А дин. типизация в сочетании с зависимостью от состояния — _необходимость_ тестов.

Sectoid ★★★★★ ()

1)Ни одной вакансии.

Найти можно. Но не у нас. Я находил.

Почему?

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

2)Преимущества и недостатки для web?

Для веб, имхо, не подходит. Никаких преимуществ особо не даёт. И вообще для всего распределённого и сетевого не подходит. По-крайней мере, ничем не лучше других.

3)Инфраструктура?

Для владельцев комбайнов типа LispWorks или Allegro - зашибись. У остальных похуже, но с появлением quicklisp всё стало гораздо проще.

4)Есть идея проекта игровой тематики. Хочу использовать Lisp. Разумно? Если да то почему.Если нет то какие минусы и с какими сложностями и трудностями прийдется столкнуться?

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

mv ★★★★★ ()

очередная неделя лиспа на лоре?

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

И еще добавлю: динамическая типизация очень быстро намекает тебе на полезность тестов. А дин. типизация в сочетании с зависимостью от состояния — _необходимость_ тестов.

Тесты нужны всегда и для всего. Всё всегда в отсутствии тестов ломается. От выбранной технологии и квалификации программистов особо не зависит.

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

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

Что тебе именно не понятно? «Лисп» как семейство языков, куда входит clojure и scheme, «лисп» как конкретный язык Common Lisp. Давай, не стесняйся!

dave ★★★★★ ()

Есть идея проекта игровой тематики. Хочу использовать Lisp. Разумно?

Была одна игрушка на лиспе. abuse, что ли. Посмотри исходники.

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

Тесты нужны всегда и для всего.

Только не у всего на них есть бюджет. Sad but true.

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

Да, ломается. Вопрос лишь в частоте ломки. Зависимость от состояния лишь добавляет «ломаемости», потому для нее тесты особо критичны.

Динамическая типизация в реальной жизни не валится, если человек на ней начал не вчера писать.

Не забудь всегда добавить: при наличии тестов.

На лиспе нормальные программисты пишут супернадёжные программы.

Пишут. Вопрос лишь за сколько денег и времени.

Напоминаю, в исходном топике речь шла о стартапе-вебигре. По моему опыту типичный стартап: нищий, 100500 фич на вчера, пусть бажных но должны быть, времени денег на тесты нет. Может мне не те стартапы попадались.

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

Согласен полностью. А кто-то предлагал ручное управление памятью? (тред еще не читал)

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

Не забудь всегда добавить: при наличии тестов.

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

Ещё проблемы были в сишном коде, пока его автор не уволился и я его код не переписал. После этого и сишный код стал железобетонно работать. Жаль, что VHDL не выучил, а то и он железобетонно бы заработал.

Всё зависит от квалификации программиста.

Пишут. Вопрос лишь за сколько денег и времени.

За очень среднюю з/п, за очень мало времени. Экономия средств страшная получалась.

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

Найти можно. Но не у нас. Я находил.

У нас вообще нет или тебя зарплата не устроила?

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

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

Не-не. Я видел какой-то rpg движок на cl. Честно-честно. Вроде даже на lisper.ru был тред.

amphibrakhij ()

Коли не тролль, зачем спрашивать - бери@изучай.

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

Сейчас самостоятельно освою Lisp. Почитаю. Изучу предоставленную информацию. Стартап?...,да,возможно. Бюджет? Не знаю,не сталкивался. Я зарабатываю другим. Один делать конечно не буду. Насчет финансирования... даже сейчас я могу выделять на разработку идей 250-300 000 р ежемесячно. Немного позднее возможно намного больше. Программирование - моё хобби. В основном математику делаю для своих целей. Есть значит разбирающиеся люди. Как буду готов к тому чтобы набирать команду то опубликую информацию здесь. Лиспу доверяю потому что считаю его инструментом который позволит осмысленно подойти к делу и сделать его. Столкнувшись с java и Python/ROR понял что мир идет куда то не туда... Не правильно все это. Сложность состоит из простых представлений. Искусственно придумывать сложности не есть хорошо.

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

Я доверяю мнению ЛОР. Спросить совета никогда не плохо.

OpRussia ()

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

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

Возможность писать в Web-приложении (when (login) (main-page)),
где login — отдельная страница с авторизацией достаточно удобна
и мало где ещё возможна.

Да много где возможно, скорей это в CL мало-возможна, ибо требует CPS-трансформаций. Благо, что в 21-ом веке так больше никто не хочет писать (ну кроме парочки отмороженных лисперов, которые везде ищут особый lisp-way).

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

Не-не. Я видел какой-то rpg движок на cl. Честно-честно. Вроде даже на lisper.ru был тред.

Ну тут даже на ЛОРе был товарищ xTERM, который писал rpg. Логику на сишечке, gui на лиспе. Потом переписал gui на C#.

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

Для веба не катит - нет ни фреймворков, ни инфраструктуры

Чего именно не хватает?

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

Чего именно не хватает?

Из инфраструктуры - нормальной orm, хотя бы одной, поддерживающей > 1 сурбд. Ну и модульных фреймворков с батарейками и активным сообществом.

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

для scheme есть полноценный slime?

Схем вообще много, но для самых ходовых swank есть. А что?

no-such-file ★★★★★ ()
Ответ на: комментарий от no-such-file

не обнаружил фичей slime в geiser для racket, например.

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

нормальной orm, хотя бы одной, поддерживающей > 1 сурбд

hu.dwim.perec

Ну и модульных фреймворков с батарейками

hu.dwim или quicklisp

активным сообществом.

С этим хуже.

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