LINUX.ORG.RU

Вышел перевод книги «ANSI Common Lisp»

 


5

8

На днях издательство «Символ-Плюс» выпустило русский перевод книги «ANSI Common Lisp». Автор книги — Пол Грэм (Paul Graham), который известен как создатель системы Viaweb, эссеист, автор других книг по Lisp. На данный момент имеется только бумажный вариант книги.

>>> Подробности

★★★★

Проверено: JB ()
Последнее исправление: JB (всего исправлений: 7)
Ответ на: комментарий от anonymous

В случае этой книги хороший перевод вреда не принесет - она в 1995 году написана.

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

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

chg ★★★★★
()

предпочитаю на электронных носителях. и зачем нужен перевод. целевая аудитория наверняка английский в школе не прогуливала.

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

Я от любой технической книжки, читаемой на диване просто так, для общего развития, на второй странице гарантированно засыпаю.

Всё правильно, здоровая реакция.

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

а вместо этого уже второй час валяюсь на диване с ноутом и вкладки и браузере переключаю

А это уже ненормально.

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

неужто так востребованы специалисты знающие Common Lisp?

Я бы сформулировал утверждение по-другому: среди специалистов часто востребован CL.

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

О... Нагуглил... Джон Маккарти. Кто еще? А кто еще известный такой? Авторы книг: Пол Грэм, Питер Сайбель или Хювёнен Э., Сеппянен Й. Или еще есть?

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

Даже здесь на лоре лисперов хватает с хорошей зп и мозгами в черепной коробке. А нагуглил ты мало. Это как если б из крутых питонщиков только гвидо и лутца, пробуй еще.

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

gensym, antares0, Ritmik, TirNaNog (если не ошибаюсь), эпизодические чуваки из науки (оставляли по 3-10 каментов здесь и прекращали общение), archimag, vseloved, много лисперов, которые по работе на лиспе пишут не очень много - ott, dmitry_vk, тысячи их, всех и не упомнить.

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

То что есть люди которые пишут на Лисп и они присутствуют на ЛОРе я не сомневаюсь. Мне более интресен ответ на другой вопрос. В каких компания пишут на лисп и как часто тудо набирают людей? Ну и конечно же уровень оплаты и что именно там пишут (какой софт, предметная область какая). Вот к чему был первоначальный мой вопрос.

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

То что есть люди которые пишут на Лисп и они присутствуют на ЛОРе я не сомневаюсь. Мне более интресен ответ на другой вопрос.

Не знаю, какой тебе ответ нужен, напомню нить:

alienclaster>> среди специалистов часто востребован CL.
SuperNoob> Хорошо. Приведите примеры.

И я начал приводить.

В каких компания пишут на лисп и как часто тудо набирают людей?

В тех, где занимаются R&D + нужна скорость исследовательских прототипов. Нанимают по мере необходимости расширения штата, вестимо.

Ну и конечно же уровень оплаты и что именно там пишут

200 раз уже озвучены области, для которых лисп в фаворе перед остальными языками - сложные системы, слабодетерминированные исследовательские прототипы (нетривиальных программных комплексов), где зачастую требуется разработка (e)DSL и/или кодогенерация. Уровень оплаты, как всегда, договорной. Lisp-программистов не ищут, ищут специалистов, инженеров, ученых, исследователей, проектировщиков - а они уже сами выбирают Lisp. Если ты нацелен работать именно «лисп-программистом» вынужден тебя разочаровать. Lisp - исследовательские области, бухучет делается на 1с, унылый интерпрайз на жабе, сайты по столбам на пыхе, разовые скрипты на выборос - на перле etc.

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

Спасибо за развернутый ответ, но началось все с ->

Учите CL - не проголодае^W прогадаете!

неужто так востребованы специалисты знающие Common Lisp?

сложные системы, слабодетерминированные исследовательские прототипы (нетривиальных программных комплексов), где зачастую требуется разработка (e)DSL и/или кодогенерация.

1. (e)DSL - это все понятно.

2. сложные системы - тут уж непонятки какие то, на других что простое все пишут, сложных систем нету кроме как на ЛИСПе

3. слабодетеминированные - это можно рашифровать то?

Вот определение детерминированности

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

Что подразумевается под слабо детерминированными исследовательскими протототипами или системами?

Что есть некоторая неопределенность в коде? Или в способе решении задачи или в алгоритме?

Если ты нацелен работать именно «лисп-программистом» вынужден тебя разочаровать. Lisp - исследовательские области, бухучет делается на 1с, унылый интерпрайз на жабе, сайты по столбам на пыхе, разовые скрипты на выборос - на перле etc.

Я не куда не нацелен. Как раз вы призываете всех учить ЛИСП.

Учите CL - не проголодае^W прогадаете!

А я только хотел уточнить

неужто так востребованы специалисты знающие Common Lisp?

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

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

Кроме примеров приведенных в вики может кто либо привести примеры своих проектов, раз уж так много лисперов на ЛОРе. Заранее буду премного благодарен.

Применение

Первые области применения языка Лисп были связаны с символьной обработкой данных и процессами принятия решений.

Наиболее популярный сегодня диалект Common Lisp является универсальным языком программирования. Он широко используется в самых разных проектах: Интернет-серверы и службы, серверы приложений и клиенты, взаимодействующие с реляционными и объектными базами данных, научные расчёты и игровые программы.

Одно из направлений использования языка Lisp — его использование в качестве скриптового языка, автоматизирующего работу в ряде прикладных программ:

- язык Лисп используется как язык сценариев в САПР AutoCAD (диалект AutoLISP);

- его диалект — SKILL — используется для написания скриптов в САПР Virtuoso Platform компании Cadence Design Systems;

- язык Лисп является одним из базовых средств текстового редактора Emacs (диалект EmacsLISP)[2];

- язык Лисп используется как язык сценариев в издательском программном обеспечении Interleaf/Quicksilver (диалект Interleaf Lisp);

- в оконном менеджере Sawfish применяется специальный диалект Лиспа Rep, который в значительной степени повторяет диалект Лиспа от Emacs;

- диалект Scheme используется в качестве одного из скриптовых языков в графическом процессоре Gimp;

- диалект GOAL используется для высокодинамичных трёхмерных игр;

- язык Лисп может использоваться для написания скриптов в аудиоредакторе Audacity.

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

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

Даже прочитав Введение->Почему ЛИСП из PCL, понятно, что Питер Сайбель не может внятно пояснить почему ЛИСП. А так хотелось бы кратко и сжато сформулированый ответ на этот вопрос услышать.

Так что прежде, чем вы погрузитесь в изучение языка Lisp, вполне естественным кажется желание узнать, что это вам даст, какую выгоду принесёт. Для некоторых языков выгода очевидна. Например, если вы хотите писать низкоуровневые программы для Unix, то должны выучить C. Или если вы хотите писать кросс-платформенные приложения, то должны использовать Java. И большое число компаний до сих пор использует C++, так что если вы хотите получить работу в одной из них, то должны знать C++. Тем не менее, для большинства языков выгоду не так просто выделить. Мы имеем дело с субъективными оценками того, насколько язык удобно использовать. Защитники Perl любят говорить, что он «делает простые вещи простыми, а сложные - возможными» и радуются факту, озвученному в девизе Perl - «Есть более чем один способ сделать это». С другой стороны, фанаты языка Python думают, что Python – прозрачный и простой язык, и код на Python проще понять, потому что, как гласит их лозунг, «Есть лишь один способ сделать это». Так почему же Common Lisp? Здесь нет такой очевидной выгоды, как для C, Java или C++ (конечно, если вы не является счастливым обладателем Lisp-машины). Выгоды от использования Lisp заключены в переживаниях и впечатлениях от его использования. В остальной части книги я буду показывать отличительные черты языка, так что вы сможете по себе оценить, на что эти впечатления похожи. Сейчас я попытаюсь показать смысл философии Lisp. В качестве девиза для Common Lisp лучше всего подходит похожее на дзенский коан описание «программируемый язык программирования». Хотя и несколько запутанный, данный девиз, тем не менее, выделяет суть преимущества, которое Lisp до сих пор имеет перед другими языками программирования. Больше, чем другие языки, Common Lisp следует философии: что хорошо для разработчика языка, то хорошо для его пользователей. Программируя на Common Lisp, вы, скорее всего, никогда не обнаружите нехватки каких-то возможностей в языке, которые упростили бы программирование, потому что, как будет показано далее, вы можете просто добавить эти возможности в язык. Следовательно, программы на Common Lisp стараются предоставить наиболее прозрачное отображение между вашими идеями о том, как программа должна работать, и кодом, который вы пишете. Ваши идеи не замутняются нагромождением кода и бесконечно повторяющимися выражениями. Это делает ваш код более управляемым, потому что вам больше не приходится бродить по нему всякий раз, когда вы хотите внести какие-то изменения. Даже систематические изменения в программе могут быть достигнуты относительно малыми изменениями исходного кода. Это также означает, что вы будете писать код быстрее; вы будете писать меньше кода и не будете терять время на поиск пути для выражения своих идей в ограничениях, накладываемых языком программирования. Common Lisp — это также прекрасный язык для исследовательского программирования (прототипирования?), когда вам неизвестно достоверно, как ваша программа должна работать. Common Lisp предоставляет некоторые возможности, помогающие вам вести инкрементальную интерактивную разработку. Интерактивный цикл read-eval-print, о котором я расскажу в следующей главе, позволяет вам непрерывно взаимодействовать с вашей программой во время её разработки. Пишете новую функцию. Тестируете её. Меняете её. Пробуете другие подходы к реализации. Вам не приходится останавливаться для длительной компиляции. Другими особенностями, которые поддерживают непрерывный, интерактивный стиль программирования, являются динамическая типизация Lisp и система обработки условий в Lisp. Первое позволяет вам тратить меньше времени на убеждение компилятора в том, что вам можно запустить программу, и больше времени на её действительный запуск и работу с ней. Последнее позволяет интерактивно разрабатывать даже код обработки ошибок.

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

Спасибо за развернутый ответ, но началось все с ->

Учите CL - не проголодае^W прогадаете!

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

неужто так востребованы специалисты знающие Common Lisp?

Я переформулировал свое утверждение: среди специалистов часто востребован CL, а не наоборот.

(e)DSL - это все понятно
сложные системы - тут уж непонятки какие то

Именно в сложных исследовательских системах никогда не знаешь, что понадобится. В них профит от (e)DSL и проявляется во всей полноте

Что подразумевается под слабо детерминированными исследовательскими протототипами или системами?

Плохо изученные, мало проработанные области, домейн предполагающий нетривиальный подход к решению непрогнозируемых задач - bleeding edge R&D

Я не куда не нацелен. Как раз вы призываете всех учить ЛИСП.

Никого не призываю, чай не секта

неужто так востребованы специалисты знающие Common Lisp?

Прямой зависимости нет, наблюдается лишь корреляция, выше написал об этом

дополню вопрос - неужели так много вакансий

Что значит много? Вакансии есть и почти все интересные, зачем вам «много», сотен не хватает конкретно вам?

или лисперы от новичков и выше на расхват

По вашему, знание *HDL для разработчика цифровой архитектуры должно идти отдельным требованием в вакансиях по цифровому дизайну? :D Это и так required by default. То же самое и с лиспом - если хотите заниматься data mining, expert systems, AI, robotics etc

Получается вы сами себе противоречите. Определитесь уж.

Получается, что вы делаете неосторожные выводы, а чистый троллинг не отличаете от постов по существу

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

Здесь уже масса человек приводила в пример свои проекты в OSS - смысла нуль

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

Даже прочитав Введение->Почему ЛИСП из PCL, понятно, что Питер Сайбель не может внятно пояснить почему ЛИСП.

Он не может, потому что не лиспер

А так хотелось бы кратко и сжато сформулированый ответ на этот вопрос услышать.

На вопрос «почему лисп?» - потому что гладиолус, какой вопрос - такой ответ

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

Питер Сейбель - писатель фанта^W программист, писавший в свое время на perl и java, когда лиспов было пруд пруди, иными словами он «не настоящий!!11».

alienclaster ★★★
()

Кто-нибудь из отписавшихся уже купил? Как может оценить? Хорошая? перевод качественный?

Надумываю всё-таки купить... или лучше сразу оригинал покупать? :) или перевод?

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

А ещё бумага предпочтительнее электронки (для меня).

И всё-таки дождусь комментариев о переводе... что-то мне подсказывает, что бумажный вариант оригинала может оказаться и дороже перевода =) (пойду проверю, кстати)

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

вопрос к лисперам, зачем нужен лисп если есть хаскель?

Отказ от языка ассемблера был яблоком раздора в наших садах эдема: Языки, использование которых приводит к растранжированию машинного времени, греховны. Лиспмашина сегодня позволяет своим программистам отказаться от фигового листка.

soomrack ★★★★★
()

Таки заказал. Теперь поздно отговаривать.

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

я заказал:
сначала мне написали что заказ принят
потом - что вернут предоплату, потому что тираж распродан
потом - что все таки отправляют заказ

вот жду, когда что-то еще напишут или придет посылка

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

а мне так и не пришла... по новой что ли заказать?

такое ощущение, что про меня просто забыли - не звонят и на почту не пишут

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

я там не зарегистрировался... зарегистрироваться что ли?

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

хотя нет... есть там у меня сообщение. 11 ноября. о том что заказ обработан. с тех пор тишина...

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

Lisp уже история поскольку есть более мощный инструмент (Perl) с более широкими возможностями. Эх жаль сходу не нахожу ссылку/книгу где приводилось отличная таблица сравнения Lisp и Perl. После тщательного разбора оказалось что Lisp уступает Perl.

дык таблицу что угодно VS что угодно я тебе и так нарисую. Например perl vs cat.

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

У perl серьезный недостаток, на нем в отличие от лиспа нельзя писать пьяным.

за то на LISPе нельзя писать трезвым. Точнее можно, но зачем?

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

Это и делаю. Я сейчас в плюсах вообще страшные вещи наворачиваю, типа вложенных лямбд. Код сокращается в разы.

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