Что заставляет вас изучать Common Lisp? Что ты от этого хочешь? [закрыто]

Я работаю над инструментарием (вроде Lisp-in-a-Box для live CD) для людей, впервые знакомых с Common Lisp, и хочу убедиться, что он в целом удовлетворителен. Что привлекает вас в Лиспе? Что нужно сделать / нужно / нужно, чтобы начать и заинтересовать?

Что у меня есть: SBCL 10.22, Emacs 22.3, SLIME и LTK, собранные вместе и настроенные на live-CD Linux, который полностью загружается в RAM.


Я теперь выпустил результат этого; это доступно на веб-сайте Thnake .

11.12.2008 19:39:21
14 ОТВЕТОВ

Это делает:

http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html

Конечно, я также хотел бы узнать больше о Python 3.0, erlang и F #. Я считаю, что функциональные языки (не говоря уже о том, что Python - это функциональный язык) предоставляют просто другую перспективу. Чем больше у вас перспективы, тем лучше решения, которые вы можете создать. Все дело в использовании правильных инструментов для работы, но если вы хотя бы не знакомы с чем-то, вы никогда не решите решить проблему с конкретным инструментом. Я думаю, это восходит к старой поговорке, что для плотника все выглядит как гвоздь. Я не хочу вбивать C # во все, когда есть лучшие решения. Кроме того, времена меняются и причуды с ними.

1
11.12.2008 19:45:35

Я предлагаю включить HTTP-сервер, такой как Hunchentoot, и популярный веб-фреймворк. Я подозреваю, что большинство людей, которые хотят изучать Лисп в эти дни, делают это из-за того, что читают Пола Грэма и хотят имитировать его успехи в создании Viaweb, поэтому возможность легко создавать и изменять мощные веб-приложения была бы сильным аргументом в пользу вашей жизни. КОМПАКТ ДИСК.

6
12.12.2008 05:52:07
Хороший вопрос, но Hunchentoot - это HTTP-сервер, а не веб-фреймворк. Как вы думаете, что-то вроде Weblocks будет хорошим выбором?
JasonFruit 11.12.2008 20:01:38
У меня нет большого опыта работы с веб-приложениями на Common Lisp, но на самом деле нет причин не включать столько популярных фреймворков и HTTP-серверов, сколько сможете. Weblocks звучит похоже на веб-сервер PLT, поэтому я думаю, что это было бы хорошим началом, но сделать его очень и очень простым в настройке и запуске.
Kyle Cronin 11.12.2008 21:11:17
Я хотел бы включить UnCommon Web (UCW) - это интересный веб-фреймворк CL.
Technical Bard 16.12.2008 02:16:12

Я бы включил как минимум cl-ppcre, clx, Hunchentoot и Weblocks.

Я предполагаю, что вам придется договариваться с соответствующими авторами, но в том числе «On Lisp», «Practical Common Lisp» и «Successful Lisp» были бы отличным преимуществом для CD.

Было бы неплохо использовать stumpwm в качестве оконного менеджера на вашем живом CD.

9
11.12.2008 20:09:49
Я бы хотел использовать stumpwm, но я хочу, чтобы это было легко для людей с большим опытом; Stumpwm это круто, но своеобразно.
JasonFruit 11.12.2008 22:04:30
Хороший звонок по книгам; Мне придется поговорить хотя бы с Питером Сейбелем, который, я думаю, является наиболее вероятным выбором.
JasonFruit 11.12.2008 22:06:05
Возможно, вы могли бы хотя бы указать stumpwm в качестве опции (я использую gdm для экрана входа в систему, где вы можете выбрать свой оконный менеджер).
Svante 12.12.2008 10:47:25
Вы можете скачать «On Lisp» бесплатно (www.paulgraham.com в разделе «Книги». По крайней мере, есть ссылка на него и спросить Пола Грэма о включении его на компакт-диск.
David Thornley 12.12.2008 14:29:15
Все книги, которые я упомянул, находятся в свободном доступе.
Svante 13.12.2008 12:45:16

Чтение Пола Грэма заставляет меня хотеть изучать Common Lisp. Но если я на самом деле сижу, чтобы попытаться выучить это, позыв исчезает.

3
11.12.2008 21:12:36
Так что же вас обескураживает? Я хотел бы попытаться сгладить это как можно больше, чтобы у людей был лучший опыт.
JasonFruit 11.12.2008 21:44:45
Программирование сложно, пойдем по магазинам!
Luís Oliveira 14.12.2008 19:14:36
Джон Кук не тот, кто избегает трудных проблем. Его блог «Индевор» - это тот, к которому я обращаюсь каждый день. Люблю свои вещи, Джон. Отличное понимание.
duffymo 28.12.2008 16:55:34
Я написал Джону для деталей, и он прислал мне хороший ответ. Подводя итог: отсутствие синтаксиса в Lisp делает его многословным и отнимает много времени для простых, распространенных задач; множество реализаций и отсутствие основных инструментов затрудняют управление; и Python позволяет писать код на Lispy гораздо эффективнее.
JasonFruit 8.05.2009 18:10:00

Все в clbuild ( http://common-lisp.net/project/clbuild ) должно быть хорошим кандидатом для включения. Кстати, все пакеты в вашем списке, кроме Emacs, также управляются clbuild. Я думаю, было бы хорошо, если бы коллекция проектов в clbuild могла набрать некоторый импульс к стандартному общему lisp-library-hood.

3
12.12.2008 05:37:44

Emacs почти мешал мне изучать Common Lisp. Потребовалось много усилий, чтобы пройти через это. Emacs и SLIME - слишком много для новичка, и они никогда не будут в целом удовлетворительными для новичков. Если я хочу выучить новый язык программирования, я хочу, чтобы все остальное не мешало мне в процессе обучения. Задача изучения Lisp достаточно сложна без дополнительных технических сложностей и сложностей настройки среды. Изолировать переменную.

Настройте SBCL с помощью rlwrap или его эквивалента. rlwrap поддерживает очень простое сопоставление парней и поиск по истории и даже может завершать табуляцию. Не так модно, как SLIME, но новичку не нужен SLIME. Начинающий должен уметь бегать, hello-worldне тратя часа на борьбу с Emacs. Предоставьте Emacs / SLIME в качестве опции, но не требуйте этого.

7
11.12.2008 23:05:52
Я вижу в этом смысл, но Emacs настолько распространен среди типов Lisp и настолько идеально сочетается с языком, что я думаю, что было бы плохо служить людям, предлагая им учиться чему-то еще (я чуть не сказал «меньше»).
JasonFruit 11.12.2008 23:34:44
Emacs распространен среди Лисп-ЭКСПЕРТОВ. Не новички. Если кто-то изучал C впервые, должен ли быть первый шаг «Установить Visual Studio и потратить день на изучение того, как использовать его как профессионал»? Нет, это будет «Напиши свой код в простом текстовом редакторе и скомпилируй его вручную сложным способом».
Brian Carper 12.12.2008 02:00:55
Фигня. Я изучил Lisp и Emacs одновременно и думаю, что они усиливают друг друга. Emacs / Slime обеспечивает завершение символов, автоматический поиск аргументов функций и легкий доступ к документации, навигации по коду и т. Д. И т. Д., И все это очень помогает мне быстро освоиться.
huaiyuan 12.12.2008 05:59:32
Я не понимаю, почему люди против предоставления новых возможностей пользователям. До тех пор, пока у людей складывается такое мышление One True Editor, CL никогда не будет широко апеллировать. Это пограничный догмат. Вы не можете заставить Emacs у всех в горле.
Brian Carper 12.12.2008 18:57:33
Emacs не сложный, смирись с этим.
Luís Oliveira 14.12.2008 19:15:19

Что действительно заинтересовало бы меня в Common Lisp, так это современный набор библиотек на уровне .net или Java, а также действительно хорошая документация, которая не такая уж и грубая. С точки зрения программного обеспечения, хороший редактор графического интерфейса в стиле notepad ++ или jEdit был бы хорош. Emacs / vi и текстовые редакторы всегда кажутся странными и устаревшими для серьезного развития.

4
14.12.2008 10:38:40
Хех. Мне всегда хочется вернуться в каменный век, когда мне нужно использовать что - то еще, кроме emacs или vim.
Svante 12.12.2008 10:51:49
Правда, каким-то образом использование vim или emacs кажется вдвое продуктивнее, чем, скажем, Eclipse ...
Bartosz Radaczyński 20.02.2009 21:52:57

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

Готовый CUA-режим включен в наши дни (поэтому Cx, Cc, Cv работает "стандартно"), и есть меню с файловыми операциями, такими как save и т. Д., Так что это не должно быть сложно утомительный, если это все предварительно упаковано. Но предварительно настроить файл .emacs , чтобы убедиться , что режим АКС будет включен, SLIME не должен быть настроен пользователем и т.д. является обязательным - плюс perhpas больше документации в пределах для пользователя для .emacs конфиги - ссылки на EmacsWiki и т. д. (хм, если это на компакт-диске, маловероятно, что пользователь сам настроит его, не так ли ...)

1
12.12.2008 14:28:06

Конечно, включите Emacs, но вы можете захотеть что-нибудь более мягкое.

Средой Lisp, в которую я нашел простейшую пробежку, был Macintosh Common Lisp с редактором FRED (Fred напоминает Emacs преднамеренно). Digitool не смог успешно войти в нынешнюю эпоху Mac, но многие из них были открыты, когда складывались. Попробуйте www.clozure.com или поищите "openmcl" в Google.

Был проект по запуску среды Fred на Openmcl, но я не знаю, как это было сделано (я давно ничего не делал с Lisp и не обращал внимания на списки рассылки).

Итак, мои рекомендации:

Спросите Пола Грэма, можете ли вы включить "On Lisp". Так как он бесплатно раздает скачивание, вероятно, он даст разрешение. (Его другая превосходная книга о Лиспе, «ANSI Common Lisp», по-видимому, все еще продается, поэтому вряд ли он даст вам разрешение.)

По крайней мере, проверьте материал MCL, чтобы увидеть, есть ли что-нибудь, что вы можете найти, чтобы сделать это проще. Emacs - отличная среда на Лиспе, но немного пугающая для новичка.

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

4
12.12.2008 14:40:09

Я думаю, что идея включения учебников является отличной.

В дополнение к уже упомянутым, есть и самая простая книга для новичков на lisp («Нежное введение в символьные вычисления»), и несколько отличных веб-сайтов, скрывающихся в сети, о которых должны знать люди. Они здесь:

0
18.12.2008 22:11:36
Я обязательно настрою несколько хороших закладок по умолчанию - спасибо за предложение.
JasonFruit 20.12.2008 18:50:51

Насколько я понимаю, вы делаете Thnake.

Спасибо за большой живой дистрибутив!

Я попробовал это пару дней назад и нашел это довольно впечатляющим и интересным.

Есть несколько вещей, которых явно не хватает, таких как LTK, поскольку вы уже включили Common Lisp и Tcl / Tk. А поскольку есть gtk, вы можете включить привязки и документацию для CL и Python.

Также есть необходимость в Lisp Hyperspec и предварительной настройке Slime для его использования. (То же самое касается документации для Python и Tcl). Может быть, было бы лучше добавить emacs-w3m для быстрого и удобного просмотра документации.

0
21.12.2008 17:05:44
После разговора с Заком Бином и другими я переосмысливаю это: я оставляю Python, добавляю больше библиотек, собираю некоторые учебные материалы и выпускаю их с соответствующим веб-сайтом. Я также собираюсь переименовать это в нечто менее глупое. Рад, что тебе понравилось, и спасибо за идеи.
JasonFruit 22.12.2008 20:55:07

Всегда есть Практический Common Lisp , книга по Common Lisp, которую можно прочитать полностью онлайн. Также есть пакет Emacs с реализацией CL, предназначенный для использования вместе с книгой.

0
23.01.2009 20:35:03

Вы также должны обязательно добавить Vim, настроенный с помощью плагина RainbowParenthsis .

Хорошей идеей является и rlwrap для SBCL (требуется: sb-aclrepl).

Веб-блоки должны быть с преобладанием cl и, возможно, Elephant / BDB тоже.

0
17.02.2009 08:59:33

У меня есть интерес к изучению Lisp, но мне не нравится большинство доступных ресурсов. Как насчет распространения этого проекта на создание своего рода «сообщества», ответственного за предоставление учебных пособий или чего-то такого, чтобы сделать Common Lisp более популярным и легким в освоении? Плохая / странная / бесполезная идея?

1
8.02.2010 18:51:31
Хорошая идея - не тот парень. Я не очень хорош в создании "сообщества".
JasonFruit 10.02.2010 03:45:30