Подтвердить что ты не робот

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

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

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


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

4b9b3361

Ответ 1

Я бы включил по крайней мере cl-ppcre, clx, Hunchentoot и Weblocks.

Я предполагаю, что вам придется вести переговоры с соответствующими авторами, но включая "Вкл. Lisp", "Практический общий Lisp" и "Успешный Lisp" будет отличным преимуществом для компакт-диска.

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

Ответ 2

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

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

Ответ 3

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

Ответ 4

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

Ответ 5

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

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

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

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

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

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

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

Ответ 6

Чтение Paul Graham заставляет меня хотеть изучить Common Lisp. Но если я действительно сажусь, чтобы попытаться изучить его, желание успокоится.

Ответ 7

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

Ответ 8

Это делает:

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

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

Ответ 9

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

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

Ответ 10

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

Ответ 11

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

В дополнение к уже заявленным, есть и самая легкая книга для новичков в lisp (A Gentle Introduction to Symbolic Computation) и несколько веб-сайтов отлично, скрывающихся там в Интернете, что люди должен знать. Вот они:

Ответ 12

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

Благодарим вас за смайлик live distro!

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

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

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

Ответ 14

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

rlwrap для SBCL - хорошая идея, и поэтому (требуется: sb-aclrepl).

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