LINUX.ORG.RU

LispWorks 6.0.1 Personal Edition

 , , ,


0

2

Интегрированная среда разработки для языка программирования Common Lisp под названием LispWorks версии 6.0.1 стала доступна совершенно бесплатно без каких-либо платежей в редакции Personal Edition.

LispWorks Personal Edition предлагает следующие возможности для своих пользователей:

  • поддержка симметричной мультипроцессорности (SMP);
  • поддержка GTK+;
  • поддержка платформы Solaris для архитектур x86 и x86_64;
  • интеграция ASDF прямо в IDE;
  • профилирование многопоточных приложений;
  • изменяемые и редактируемые нативные тулбары;
  • улучшенная документация и дополнительные новые примеры;
  • множество других общих улучшений и улучшений в CAPI;
  • множество исправлений ошибок и недочётов.

Более полный перечень и описание новых возможностей в данной версии. Не все возможности среды разработки доступны для всех платформ. Ознакомиться со списком возможностей под каждую платформу можно здесь.

>>> Скачать персональную редакцию LispWorks

★★★

Проверено: svu ()
Последнее исправление: resurtm (всего исправлений: 1)

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

> что можно на лиспе написать полезного попсового

емакс же.

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

Это такой очередной мертворожденный проект на КоммонЛИСП? Я слышал:

News

* Januari 2006 - There is now a mailinglist for KPAX, KPAX-DEVEL hosted at common-lisp.net.

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

«Они хотели, чтоб это был редактор, который можно программировать, но потом программистская часть выросла до невообразимых размеров и редактор стал настоящим кошмаром. В него входит все, кроме разве что кухонной раковины, именно поэтому кухонная раковина часто служит его значком.» (Torvalds)
Действительно, емакс - не редактор, а просто новая ось ;). Потому его програмируемость - имхо, минус, так как лично мне хотелось, чтоб у него было поменьше фич) и побольше скорости (тот же vim, хотя ужасно его не люблю, намного быстрее)

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

>что можно на лиспе написать полезного попсового

maxima. и да, веб-приложения на нём ещё как пишутся

memnek
()

Allegro получше будет

ну и emacs ест.

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

ну мертворожденный он или нет, но в образовательных целях имхо самое оно.

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

> чтоб у него было поменьше фич и побольше скорости

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

Komintern ★★★★★
()

Так я правильно понял что реализацию Common Lisp от LispWorks затмили другие, а всё что получилось у LispWorks это попасть на исследовательский спутник NASA в 1999 году?

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

а в слаке ни vim, ни emacs, ни вообще ничего не тормозит. впрочем как и во фре. что как бы намекает на правильные операционки.

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

> Зато в CL мегакрутые макросы. После лиспа сишные дефайны кажутся унылым говном

Ну ты даешь, лисповые макросы с сишными сравнивать. Надо же так укуриться-то.

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

>Как хотят вести бизнес-модель, так и делают.

Это верно. А лор как хочет, так и комментирует...

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

Да. Бывает, что тормозит. И на достаточно современном железе. Правда, я имею в виду не чистый емакс, а рабочий cedet, semantic, auto-complete-mode и другие полезные плюшки типа темы... Ну, не тормозит там все время, а бывает иногда, что «думает» + открывается не сразу. опонент - все тот же vim...

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

LISP is worth learning for a different reason — the profound enlightenment experience you will have when you finally get it. That experience will make you a better programmer for the rest of your days, even if you never actually use LISP itself a lot.

Золотые слова.

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

Раскрой тему.

Я не в курсе, но педивикия говорит что в CL биндинги есть... что подразумевается под CLIM 2.0 однозначно не сказано, и похоже раскрытием темы CLIM в современном мире никто даже не интересовался.

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

А-а-а, ты просто решил, что я буду здесь отстаивать коммон лисп? Бггг. Если что, учти на будущее, что /me в рядах неосиливших.

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

Для CL есть cl-gtk2 и CommonQt, и ещё есть CAPI (http://www.lispworks.com/products/capi.html), которая, насколько я помню, на каждой платформе юзает нативные средства (GTK под линаксом, Cocoa под макосью, etc). Последнее реально круто.

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

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

> расскажите кто-нибудь пожалуйста, что можно на лиспе написать полезного попсового, кроме каких-нибудь математических алгоритмов или хитрой внутренней логики: гуевого не консольного, веб-приложение, xml-сервис, мобильное приложение и пр.?

Можно всё.

Здесь пара примеров в практиках: http://lisper.ru/pcl/

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

> /me в рядах неосиливших
Армия неосиляторов множится по причине отсутствия реальных задач. Изучение сферического языка в вакууме интересно только в научных целях.
/me смог осилить язык(и)(Лиспа нет в этом списке) только в процессе создания реальных софтин.

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

Не изучать же язык, бросаясь с ним в бой. Так херня вместо проекта получится.

Буду далеко не первым... но вот... что есть в CL чтобы я вот прям взял и срочно залюбил этот язык и обалдел от его возможностей? Наверняка я не влюблен в CommonLisp по причине своей глупости.

I-Love-Microsoft ★★★★★
()

Видимо, нужно было написать, что это не просто среда разработки, а она включает в себя ещё и (проприетарный) компилятор с интерпретатором. Т.е., это не просто редактор, а скорее среда представляет из себя оболочку для (хорошего) компилятора. Если кому надо, можно загрузить в него SWANK и работать через EMACS, но всё равно останутся те же ограничения на размер кучи и время выполнения.

И ещё «бесплатно без платежей» - это как-то «масло масляное».

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

> какой-то просто неподдающийся пониманию парадокс.

Да нет, почему же. Я этот парадокс изучаю достаточно давно, для меня он вполне понятен.

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

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

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

Соответственно, сравнивать EMACS с Lispworks некорректно. EMACS содержит только EMACS lisp, компилируемый только в байт-код. Мало того, чэто EMACS lisp используется только внутри EMACS и является убогим по сравнению с Common Lisp, для него нет никаких библиотек. Соответственно «программировать под Common Lisp в Emacs» - это значит иметь компилятор Common Lisp (например, очень модный сейчас SBCL) и использовать EMACS только как IDE для него. В отличие от этого, Lispworks содержит _свой_ компилятор. Причём, он уже давно и стабильно работает, к примеру, с тредами под офтопиком и имеет биндинги к Win API, в отличие от open-source лиспов. Вроде бы сейчас CCL сделали нормально работающим под виндой, но, когда я последний раз пробовал его полтора года назад, он ещё не работал в SLIME, а периодически рушился. Лиспворкс же и тогда работал прекрасно. SBCL и сегодня «port in progress» под офтопиком. По сравнению с Allegro Lispworks гораздо дешевле (раньше был втрое дешевле, сейчас он подорожал и разрыв мог сократиться). Существует ещё одна коммерческая реализация под офтопик, называется Corman Lisp, она в разы дешевле, а сам компилятор - open source. По-моему, она тоже поддерживает треды, но она какая-то тормозная.

Существует как минимум одна Российская контора, которая пишет учётные программы на Lispworks с использованием родных биндингов к Windows GUI и внедряет их. Вот она: http://www.ystok.ru/

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

> Это язык, по возможностям примерно эквивалентный остальным

распространенным языкам, но радикально отличающийся от них по

своему устройству, синтаксису и семантике. Обладая примитивным


синтаксисом, лисп является довольно нетривиальным в освоении и еще


менее тривиальным в использовании, что и дает адептам основание


постулировать собственное превосходство над пользователями


традиционных языков.


А ты, видимо, из ниасиливших?

Преимущества лиспа с технической точки зрения таковы:
- макросы - можно легко и без заморочек создавать свои конструкции языка, фактически это означает расширение компилятора. Такие вещи, как lex/yacc, SWIG, opencxx, m4, генераторы обёрток для COM/CORBA (не знаю, как называются), препроцессоры для embedded SQL служат той же цели и добиваются тех же результатов, что и макросы лиспа, но гораздо (в десять-сто раз) большими усилиями, поскольку дизайн других языков не столь хорошо подходит для расширения компилятора, как дизайн лиспа. К сожалению, аналогов лисповым макросам ни в одном сегодняшнем мейнстрим языке нет. Хотя есть заявки на него (tcl,boo,Nemerle).
- возможность поменять почти любую функцию и класс в рантайме
- лисп компилирует не в какой-нибудь байтоговнокод, а в нативный код, поэтому его программы работают (если я всё правильно понимаю) быстрее программ на клиентской яве и уж тем более быстрее программ на питоне. Их производительность приближается к производительности программ на серверной яве (см http://shootout.alioth.debian.org/).
- анонимные функции, консы, параметры-ключи, loop/iterate в сумме дают возможность очень легко и просто работать с графами и вообще с данными в памяти. То, что вызывает страдания при использовании STL, пишется на лиспе легко и быстро. Правда, с меньшей производительностью. Если нужна скорость как в STL, то это может оказаться столь же трудоёмко, как STL.
- по умолчанию любой примитивный тип в лиспе можно читать и писать в/из текстового потока. Нетрудно задать представление и для любого вновь определённого типа/класса. Это очень помогает в отладке, потому что представление об объекте можно получить одной командой print. Также из коробки идёт основанное на текстовом представлении persistence для примитивных типов данных и структур - не нужно думать о формате файлов инициализации и т.п., просто используй print и read. В частности, print/read умеет писать/читать циклические графы объектов примитивных типов и структур.
- ООП программирование в лиспе (CLOS) весьма наворочено и при этом поддерживается динамическая разработка. Любой класс можно переопределить, не останавливая программу. Также любой момент можно доопределить, переопределить или удалить метод для вновь появившегося типа или для отдельного экземпляра. Кроме того, по умолчанию реализован multiple dispatch (шаблон «визитор» не нужен).
- если мы упали в дебаггер, то, как правило, ситуацию можно исправить. Конечно, если мы не порушили сами данные необратимым образом. Упал в дебаггер - подправил в рантайме то, что неправильно - вызвал рестарт. Это, во многих случаях - реальное и очень весомое техническое преимущество, которое может экономить часы или даже дни при отладке долго работающих процессов.
- полиморфные контейнеры доступны из коробки (деревья, массивы, хеш-таблицы). Список можно инициализировать полимфорным списком констант (1 «a» 2.5), а в C и, насколько я понимаю, в Хаскеле, к примеру, уже из одного этого вырастает головная боль. Такая инициализация облегчает data-driven calculations и делает его осмысленным там, где в C он вряд ли имеет смысл.
- динамичекая система типов, можно определять новые типы с помощью логических операций, например, можно определить тип «число или строка».
- сборка мусора, думаю, на сегодня понятны её сильные и слабые стороны.
- эффективные хеш-таблицы по произвольным ключам (ключем выступает совершенно произвольный объект), т.е., абстракция «отображения между объектами» может быть реализована эффективно и общо, для её воплощения не нужно объявлять новые типы, как, например, в С++.
- можно сохранить образ программы (как бы .core) и потом воскресить его.

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

Недостатки у лиспа тоже есть, но о них я писал раньше.

В общем, коммон лисп несравненен, ни один язык на сегодня к нему близко не подходит по сочетанию возможностей. Если бы не определённые корявости и если бы в своё время были доступны хорошие open-source реализации, многих современных популярных языков просто не существовало бы. Не было бы Perl, Python, Ruby, tcl, PHP. Также не было бы многих shell-языков, т.к. лисп мог бы стать и командной оболочкой. Возможно, не было бы и Java. Хотя Java основана на идее разделения полномочий и инкапсуляции, а в лиспе используется модель «всё public», так что тут ещё можно спорить.

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

ЗЫ. #define и темплейты С++ - это тоже частные случаи макросов, причём оба варианта страдают инвалидностью.

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

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

Вроде не каждая реализация лиспа так умеет. Знаю что SBCL точно может.

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

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

В чем реальное техническое преимущество-то?

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

Хороший, годный вброс. Я уж думал на этот раз без срача обойдётся.

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

> Половина из вышеперечисленного - возможность выстрелить себе в ногу

Не хотелось бы в сотый раз цитировать Грема, но вы не оставляете мне выбора.

«Programmers get very attached to their favorite languages, and I don't want to hurt anyone's feelings, so to explain this point I'm going to use a hypothetical language called Blub. Blub falls right in the middle of the abstractness continuum. It is not the most powerful language, but it is more powerful than Cobol or machine language.

And in fact, our hypothetical Blub programmer wouldn't use either of them. Of course he wouldn't program in machine language. That's what compilers are for. And as for Cobol, he doesn't know how anyone can get anything done with it. It doesn't even have x (Blub feature of your choice).

As long as our hypothetical Blub programmer is looking down the power continuum, he knows he's looking down. Languages less powerful than Blub are obviously less powerful, because they're missing some feature he's used to. But when our hypothetical Blub programmer looks in the other direction, up the power continuum, he doesn't realize he's looking up. What he sees are merely weird languages. He probably considers them about equivalent in power to Blub, but with all this other hairy stuff thrown in as well. Blub is good enough for him, because he thinks in Blub.»

TL;DR: Вам кажется, что это исключительно возможности выстрелить себе в ногу, потому что вы не знаете как использовать эти фичи. Вы думаете в терминах менее выразительных языков.

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

О, кстати, приведите пример мейнстримного языка с multiple dispatch без костылей, или же пример, как этим выстрелить себе в ногу.

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

О, да это же Blub Paradox! Я так люблю этот окололисповый миф.

А знаете, почему я его так люблю? Потому что те или иные его вариации использует почти каждая уважающая себя секта. «Земля захвачена межпланетными ящериками. Это бесспорная истина; но ты не можешь осознать наши истины, потому что не достиг необходимой для этого степени просветления.»

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

Минорный, но анонса мажорного я не нашел.

Персональная версия исторически выходит позднее нормальной, а 6.0 до 6.0.1 довольно быстро проапгрейдили.

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

Так я правильно понял что реализацию Common Lisp от LispWorks затмили другие, а всё что получилось у LispWorks это попасть на исследовательский спутник NASA в 1999 году?

LW - самый прямой CL, который я видел. SBCL после него выглядит немытым панком.

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

В чем реальное техническое преимущество-то?

Когда я писал на Си, то жил в бедной Чехии и ездил на Сеате Ибице. Сейчас пишу на Лиспе, живу в омереке и езжу на Волво V70. Профит же!

Если бы я писал на Хаскелле, то максимум из Брно в Прагу переехал бы. А с Джавой и вовсе в той же конторе остался бы. С Руби аналогично.

Да... Когда писал на C++, то за границу вообще не пускали. Пошёл бы в дотнетчики, то тоже никому бы нафиг за бугром не нужен был. А с похапе и эскюэль, стыдно признаться, торчал в Сибири.

Хотя, у меня ещё есть и другая теория: чем гуще становится борода, тем лучше живу. Но, может быть, это она от скобок заколосилась, так что не факт, что это не просто другая сторона использования Лиспа. А, может быть, бутерброды с икрой так действуют. Морепродукт же, фтора и прочих минеральных веществ много, полезно.

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

И секты могут логически обосновать свои «истины» и без мозгопромывательства объяснить в чём состоит «просветление»? Впрочем, от вас фактов мы, видимо, никаких не дождёмся, почти пять часов прошло, так что 1:0. До следующего релиза.

Да, уныленький срач вышел.

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

Только бороду не отращивай. ;) Узнаем в чём на самом деле была причина.

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

> Потому его програмируемость - имхо, минус

Firefox тоже можно программировать. Vim тоже можно программировать.

«Где лужа, Робин?»

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