LINUX.ORG.RU

Продвинутый hello-world на Common Lisp для практического знакомства


0

2

Подскажите какую бы такую прогу можно было бы написать на CL для знакомства с языком, чтобы пройтись по всем граблям в так сказать боевых условиях (или в приближенных к боевым)? Хочется что-нибудь с оттенком полезности, сложнее hello-world'а но и не сильно сложное чтобы не забить на неё в самый разгар написания. Не очень хочется связываться с гуем, максимум на что я согласен - это веб.

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

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

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

С веб раньше работал? Значит не сложно.

И оттенок практичности есть. Hunchentoot - отличная штука, но тормоз. На пиши веб-сервер для перформанса.

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

Ну скажем так, веб-сервер - это верхний порог сложности на который я согласен... А так я бы послушал еще варианты...

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

>А это не сложновато для начала?

Программировать вообще умеешь наверное? В самом веб-сервере нет ничего сложного, осиль основы HTTP и все. Пусть хотя бы статические странички отдает для начала, а потом, если будет интересно, сможешь накрутить всякие штуки-дрюки.

staseg ★★★★★
()

Подскажите какую бы такую прогу можно было бы написать на CL

Любую, в существовании которой ты заинтересован.

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

>И оттенок практичности есть. Hunchentoot - отличная штука, но тормоз. На пиши веб-сервер для перформанса.

Сомневаюсь, что начинающий напишет что-то лучше hutchentoot-а.

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

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

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

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

на решение которых он хоть как-то годится.

КЛ --- язык общего назначения и решать на нём можно что угодно.

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

Хотя, судя по топику, пацеинт уже готов.

anonymous
()

>пройтись по всем граблям

с оттенком полезности

веб



Напиши свой MVC-фреймворк для веб аля RoR или Django. Вот где реально нужно метапрограммирование Лиспа. Да и CLOS не помешает. Всего-то нужно сделать:
а) mini-ORM (CLOS+макросы)
b) шаблоны (допили CL-CLOSURE-TEMPLATE)
с) формы (CLOS+макросы)
d) urlmapper

в итоге, получишь славу + язык начнут учить 9500 пхпшников.

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

А ты не прогай интерфейс, а генери его из мета-описания, как настоящий мужик!

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

> Тут все «крутые» учат лисп и потом ищут задачи, на решение которых он хоть как-то годится.

Время от времени на ЛОРе пытаются найти задачи для которых хоть как-то годится Java, C++ и Python. CL в плане “крутости” ничем от них не отличается.

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

Ну сделай ядро на CL с API что б можно было дописывать свои UI и с поддержкой скриптинга. Переизобрети weechat на CL, короче

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

> Переизобрети weechat на CL, короче

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

ТС, обрати внимание на идею фреймворка для переманивания PHP-кодеров. ;)

anonymous
()

Напиши FORTH-машину на CL, как вариант.

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

> MVC фреймворк.

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

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

Тем, что он уже перестал быть «универсальным инструментом управления данными про всё-всё-всё»... в web, во всяком случае.

Для небольших/средних БД ещё может потянуть, а вот когда распределённые по web БД начинают разрастаться... репликация... индексирование... резервирование...

Впрочем, про «плохое масштабирование» archimag уже сказал.

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

>он уже перестал быть «универсальным инструментом управления данными про всё-всё-всё».

и какой же инструмент заменил его?

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

Да в том-то и проблема, что пока никакой...

Ситуация типа «мыши и кактус»...

PS: Только не торопись бросаться на защиту SQL. Я не против SQL, сам пользуюсь. Просто проблемы его очевидны.

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

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

фига заява, это с чего это так категорично?

shty ★★★★★
()

> Не очень хочется связываться с гуем

А зря. Хороший гуй Common Lisp бы не помешал, а то свистопляски вокруг Lisp полностью убиваются отсутствием нормального гуя.

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

> А она реально нужна?

Видимо, да - пока есть необходимость в хранении и обработке больших объёмов более или менее однотипных (по структуре) данных и в ответах на запросы по ним.

P.S. Я сейчас ориентируюсь на MongoDB

Пока близко не знакомился; знаю только по названию и общим описаниям. Благодарю за совет.

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

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

фига заява, это с чего это так категорично?


если не ошибаюсь, то документоориентированные бд дают сразу «документ», т.е. всю инфу для конкретной страницы. А значит необходимость в моделях отпадает. А раз модели не нужны, то и остается жирный контроллер + темплейты => restas.

Если ошибаюсь, поправьте пожалуйста.

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

А что, кроме гуйни программировать и нечего? Для гуйни есть Tcl. Каждой задаче свой инструмент, на кой в гуйню тащить Лисп, который для этого совершенно не приспособлен?

anonymous
()

Напиши игру, pacman какой. Хочешь gui, хочешь псевдографика. Весело и интересно.

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

>> а чем так плох sql?

Не удобно (поэтому и требуется ORM) и плохо масштабируемый.

SQL - это язык. «Плохо масштабируемым» его называют недоучки :)

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

если не ошибаюсь, то документоориентированные бд дают сразу «документ», т.е. всю инфу для конкретной страницы. А значит необходимость в моделях отпадает. А раз модели не нужны, то и остается жирный контроллер + темплейты => restas.

это вопрос терминологии, например встречаются такие классификации

Database (data), Python (logic) and Visualization/Presentation (HTML/CSS)

PS то что понятие MVC с развитием разнообразных фреймворков довольно таки сильно расширилось - это факт, но отменять его я бы повременил, скажем прямо

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

> SQL - это язык. «Плохо масштабируемым» его называют недоучки :)

К чему ёрничать? :) Ты же прекрасно понял, о чём шла речь (SQL-based DBMS).

PS: А «недоучка» - это плохо? :) Я всю жизнь чувствую себя недоучкой и всё время стараюсь научиться чему-нибудь новому...

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

Масштабируемая БД нужна 0,0001% проектам. И получая масштабируемую БД, ты скорее всего теряешь ACID. Хотя если ACID не нужно (пехапешники вон живут на своем мускуле на myisan и не жалуются), то возможно документо-ориентированные БД то, что нужно.

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

> Масштабируемая БД нужна 0,0001% проектам.

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

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