LINUX.ORG.RU

LambdaBeans - Scheme IDE на платформе NetBeans

 , , ,


0

0

Antonio Vieiro, системный архитектор из Мадрида, создал IDE для языка Scheme на программной платформе NetBeans IDE. Поддерживается стандарт R5RS, лицензия - GPLv2. В интервью команде NetBeans Антонио ответил на некоторые интересные вопросы.

NetBeans: Антонио, поздравляем с выпуском LambdaBeans! Что особенного можно сказать об этой IDE?

Antonio: В LambdaBeans можно редактировать исходный код на Scheme (с подсветкой синтаксиса), сохранять код в системах контроля версий (CVS, SVN, Mercurial, Git, ...), запускать код, «играться» с REPL-консолью, читать спецификации R5RS и SLIB, и, наконец, просто радоваться программированию на Scheme!

NetBeans: В чем суть Вашей привязанности к Scheme?

Antonio: Я считаю, что Scheme - отличный язык программирования, потому что он одновременно и простой, и мощный. Отталкиваясь от совсем небольшого количества исходных понятий, вы обретаете хвостовую рекурсию, продолжения (continuations), замыкания (closures), и прочие прелести настоящего функционального программирования. Также Scheme - очень выразительный язык: на Scheme я пишу гораздо быстрее, чем на Java или на C. В конце концов, Scheme - это просто прикольно!

NetBeans: Но ведь уже имеется некоторое количество редакторов для Scheme. Что побудило к созданию ещё одного?

Antonio: Да, конечно же, на свете есть много редакторов кода Scheme. Но им всем не хватает той самой интегрированности, которую имеют в виду, когда говорят об «интегрированной среде разработки». LambdaBeans позволяет делать все в рамках одного программного пакета: я могу писать программу, сохранять ее в CVS, читать документацию, пользоваться автодополнением ключевых слов R5RS, «ходить» по определениям внутри файла, и так далее.

NetBeans: Но почему бы в этом случае не сделать LambdaBeans дополнением к NetBeans?

Antonio: Понимаете, программисты на Scheme не пользуются Java на каждодневной основе. Хотелось создать IDE, который для своего использования не потребует знания Java. Вообще, конечно, я планирую выпуск LambdaBeans как дополнения для NetBeans, хотя это займёт некоторое время.

Долгое время разработка на LISP и Scheme подразумевала использование REPL (примитивной консоли для вычисления выражений) или в лучшем случае Slime (расширения для Emacs). Некоторыми ортодоксальными программистами REPL до сих пор считается самодостаточным, в отличие от «навороченных» современных IDE.

Несмотря на это, появление сперва DrScheme, а затем CUSP (на базе Eclipse) и LambdaBeans несомненно знаменуют новую веху в продуктивности разработки на LISP-подобных языках.

Интервью (на английском).

>>> Сайт проекта.

Re: LambdaBeans - Scheme IDE на платформе NetBeans

Прозреваю тонкий троллинг.

tailgunner ★★★★★ ()

Re: LambdaBeans - Scheme IDE на платформе NetBeans

Зачем?

yoghurt ★★★★★ ()

Re: LambdaBeans - Scheme IDE на платформе NetBeans

что-то про функциональное программирование много писать стали...

/me ушел пытаться учить это все. по крайней мере университетский курс по прологу осилил

IgorIs ()

Re: LambdaBeans - Scheme IDE на платформе NetBeans

закапывайте

eypPiorrIv ()

Re: LambdaBeans - Scheme IDE на платформе NetBeans

NetBeans вроде пророчат смерть после продажи Sun.

mr_anonymous ()

Re: LambdaBeans - Scheme IDE на платформе NetBeans

и как же это все много лет работало до появления такой отличной IDE? и cvs, хождение по тегам, чтение документации и т.д. видимо мне все это приснилось

ott ★★★★★ ()

Re: LambdaBeans - Scheme IDE на платформе NetBeans

1)Тормозит, проекты при добавлении даже не отображаются, глюк устранился только при попытке их открыть из существующих. REPL уныл, при ошибке дополнительно выдает жабовский StackTrace.

2) поправьте ссылку на СUSP

http://www.sergeykolos.com/cusp/update

Самым вменяемым пока остается DrScheme.

rual_ilmarranen ()
Ответ на: Re: LambdaBeans - Scheme IDE на платформе NetBeans от rual_ilmarranen

Re: LambdaBeans - Scheme IDE на платформе NetBeans

> Самым вменяемым пока остается DrScheme.

Согласен. Емакс, конечно, велик и ужасен (прекрасен?), но это философия. Я как заядлый вимер не могу ее понять. :)

RaySlava ()

Re: LambdaBeans - Scheme IDE на платформе NetBeans

>Antonio: Да, конечно же, на свете есть много редакторов кода Scheme. Но им всем не хватает той самой интегрированности, которую имеют в виду, когда говорят об "интегрированной среде разработки". LambdaBeans позволяет делать все в рамках одного программного пакета: я могу писать программу, сохранять ее в CVS, читать документацию, пользоваться автодополнением ключевых слов R5RS, "ходить" по определениям внутри файла, и так далее.

Предлагаю такой диагноз: IDE головного мозга.

env ★★☆ ()

Re: LambdaBeans - Scheme IDE на платформе NetBeans

Велосипедостроители совсем уже обалдели. Это всё есть в Емаксе. И
всевозможные SCM, и документация, и к схемам можно как клиент
подключаться. Удивили скобочников голым реплом.

Спорим, у них нельзя lambda заменить на λ? :)

Sphinx ★★☆☆ ()
Ответ на: Re: LambdaBeans - Scheme IDE на платформе NetBeans от env

Re: LambdaBeans - Scheme IDE на платформе NetBeans

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

rual_ilmarranen ()
Ответ на: Re: LambdaBeans - Scheme IDE на платформе NetBeans от rual_ilmarranen

Re: LambdaBeans - Scheme IDE на платформе NetBeans

> DrScheme

Там есть пара прикольных фич, иногда помогающих в отладке (стрелочки
всякие ^_^), но всё-таки в Емаксе удобнее как-то.

Sphinx ★★☆☆ ()
Ответ на: Re: LambdaBeans - Scheme IDE на платформе NetBeans от rual_ilmarranen

Re: LambdaBeans - Scheme IDE на платформе NetBeans

Сами знаете, чего там выстлано благими намерениями (:

А так вообще сильно удивляет, как люди пользуются IDE на Java для других языков. Я вот Eclipse попробовал и NetBeans, и так и не дождался индексирования не самого большого плюсового проекта. /:

env ★★☆ ()
Ответ на: Re: LambdaBeans - Scheme IDE на платформе NetBeans от env

Re: LambdaBeans - Scheme IDE на платформе NetBeans

Я использую Eclipse для небольших проектов на C/С++. На маленьких работает неплохо. NetBeans мне просто не нравится. А, вообще, у Нетбинса и Эклипса интересные проблемы с тормознутостью. У меня под оффтопиком Эклипс летает на довольно больших проектах, а Нетбинс тормозит нещадно. Под Дебианом практически противоположная ситуация.

rual_ilmarranen ()
Ответ на: Re: LambdaBeans - Scheme IDE на платформе NetBeans от rual_ilmarranen

Re: LambdaBeans - Scheme IDE на платформе NetBeans

Рискну предположить, что тормоза эклипса это из-за SWT: на оффтопике он дёргает нативные виджеты, что получается сильно быстрее, чем дёрганье GTK2. С NetBeans'ом тут, правда, не укладывается. Вряд ли под линупсом Swing рисует быстрее.

env ★★☆ ()
Ответ на: Re: LambdaBeans - Scheme IDE на платформе NetBeans от env

Re: LambdaBeans - Scheme IDE на платформе NetBeans

>на оффтопике он дёргает нативные виджеты, что получается сильно быстрее, чем дёрганье GTK2.

С чегобы? Чем виндовые виджеты быстрее Gtk?

theos ★★★ ()

Re: LambdaBeans - Scheme IDE на платформе NetBeans

"Хотелось создать IDE, который для своего использования не потребует знания Java." (с)

Мой мозг просто сломался на этой фразе.

Bioreactor ★★★★★ ()
Ответ на: Re: LambdaBeans - Scheme IDE на платформе NetBeans от IgorIs

Re: LambdaBeans - Scheme IDE на платформе NetBeans

Да, промышленность начинает обращать внимание на функциональщину. И вообще, от ФП невозможно не кайфовать вследствие невероятной математической красоты этой парадигмы.

Zenom ★★★ ()

Re: LambdaBeans - Scheme IDE на платформе NetBeans

Ждем ассиметричный ответ, включение F#, Lisp, Boo, Nemerle в Visual Studio Education Edition 2010?

Karapuz ★★★★★ ()
Ответ на: Re: LambdaBeans - Scheme IDE на платформе NetBeans от ott

Re: LambdaBeans - Scheme IDE на платформе NetBeans

И как же это все много десятилетий работало на перфокартах, перфолентах, вводе машкодов вручную с пульта, до появления развитых средств разработки? А ведь все было, и контроль версий, и документация. Видимо, это все мне приснилось?

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

Или того и другого вместе. Ох, как нередко это случается среди LISP-братвы.

Kuka ★★ ()

Re: LambdaBeans - Scheme IDE на платформе NetBeans

Вообще, REPL-джедайство в XXI веке смотрится как минимум странно.

"А ты попробуй топором сосну свалить, милок! Бензопилой-то каждый дурак сможет."

Настоящий специалист _умеет_ обращаться с топором, но использует то, что эффективнее в данный момент.

Поясняю. Профи высокого класса знает, да-да, о принципе считывания перфокарт. Представляет себе, как выглядит и что означает машинный код. Как минимум раз в жизни запускал ed. Умеет работать в REPL/gdb из командной строки/whatever. Но использует тот инструмент, который в данной ситуации максимально эффективен. Например: при удаленной отладке павшей коры по ssh альтернатив gdb практически нету (gdbserver не всегда доступен). Но отлаживать голым gdb при имеющихся под рукой Eclipse CDT, NetBeans for C++, Anjuta, Nemiver, Insight или на худой конец ddd - нелепо и попахивает мазохизмом.

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

Kuka ★★ ()
Ответ на: Re: LambdaBeans - Scheme IDE на платформе NetBeans от Zenom

Re: LambdaBeans - Scheme IDE на платформе NetBeans

> Да, промышленность начинает обращать внимание на функциональщину.

Лолчто?

Промышленность (или, если хотите, "enterprise") - штука прагматичная. И руководствуется не математической красотой парадигмы, а сухой экономической выгодой.

Если в какой-то области "промышленности" оправдано применение функциональщины - можно за такую промышленность только порадоваться. Но абсурдно предполагать, что enterprise ВНЕЗАПНО "прозреет" и кинется переводить разработку ПО на Лиспы, Хаскели, ОКамли и иже с ними.

Одним лямбда-исчислением сыт не будешь, а то, что ФП экономически невыгодно в качестве general-purpose инструмента - давно обсосанный факт.

Kuka ★★ ()
Ответ на: Re: LambdaBeans - Scheme IDE на платформе NetBeans от Zenom

Re: LambdaBeans - Scheme IDE на платформе NetBeans

Вообще, наверное, вас смутили "профессионалы промышленного программирования" в редколлегии недавнего журнала о ФП.

Рекомендую поинтересоваться детальнее этими "профессионалами", которых там кот наплакал. Основная масса - "участники олимпиад", "преподаватели", "авторы книг" и прочая академически-яйцеголовая братва. Инженеров-практиков там нет.

Kuka ★★ ()
Ответ на: Re: LambdaBeans - Scheme IDE на платформе NetBeans от Kuka

Re: LambdaBeans - Scheme IDE на платформе NetBeans

>Лиспы, Хаскели, ОКамли и иже с ними

C#, Python, Ruby. Могу перечислить фичи, которые попали в эти языки из функциональщины. А Scala так вообще полноценный функциональный язык.

Zenom ★★★ ()
Ответ на: Re: LambdaBeans - Scheme IDE на платформе NetBeans от Zenom

Re: LambdaBeans - Scheme IDE на платформе NetBeans

Я, кстати, никогда не ратовал за оголтелую функциональщину. Но вот подход "по умолчанию пытаемся решить задачу в функциональном стиле, но с лёгкостью переключаемся на императивщину, когда таким путём задача решается легче" считаю оправданным. Поэтому весьма тепло и отношусь к Scala.

Zenom ★★★ ()
Ответ на: Re: LambdaBeans - Scheme IDE на платформе NetBeans от Zenom

Re: LambdaBeans - Scheme IDE на платформе NetBeans

> C#, Python, Ruby. Могу перечислить фичи, которые попали в эти языки из функциональщины.

Абсолютно оправданный подход. Вон в Java скоро лямбда-функции появятся.

Из ФП надо брать самое удачное и вкусное, оставляя за бортом всякую шелуху и подчас искусственные ограничения. Взять, например, Хаскель с его "чистой объектной ориентированностью" и, как следствие, костылями в виде монад. Ни одному здравомыслящему прожект-менеджеру не придет в голову тащить эту академическую муть в ентерпрайз.

> Я, кстати, никогда не ратовал за оголтелую функциональщину.


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

Kuka ★★ ()
Ответ на: Re: LambdaBeans - Scheme IDE на платформе NetBeans от Kuka

Re: LambdaBeans - Scheme IDE на платформе NetBeans

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

Проснитесь! У «LISP-секты» кроме чистого REPL есть SLIME. В «редакторе» Emacs есть gdb-mode, прозрачная работа с VCS и прочие атрибуты IDE. Никто тут вроде не ратует за чистый REPL и gdb из CLI-интерфейса.

env ★★☆ ()
Ответ на: Re: LambdaBeans - Scheme IDE на платформе NetBeans от Kuka

Re: LambdaBeans - Scheme IDE на платформе NetBeans

>Гибридные языковые подходы, набирающие популярность в последнее время, дадут фору любой "чистой" парадигме.

Пока они чего-то не слишком гибридные. Ущербная лямбда и генерация списков в петоне ни разу не делает его пригодным для ФП.

Вообще, речь не о том, что вот прям щас всем броситься и побежать внедрять хаскелли на производстве. А о том, что понимание ФП и умение его применять к месту — необходимое знание для ИТ-инженера.

env ★★☆ ()
Ответ на: Re: LambdaBeans - Scheme IDE на платформе NetBeans от env

Re: LambdaBeans - Scheme IDE на платформе NetBeans

> В «редакторе» Emacs есть gdb-mode, прозрачная работа с VCS и прочие атрибуты IDE.

Emacs, без преувеличения опередивший время на момент написания, в XXI веке сам является музейной архаикой. Отрицать оконный графический интерфейс, с его эргономикой, выразительностью и интерактивностью, в пользу текстового режима Emacs или vim - мракобесие. Есть, конечно, редкие исключения (навроде Midnight Commander), но IDE - определенно не из этого класса.

Kuka ★★ ()
Ответ на: Re: LambdaBeans - Scheme IDE на платформе NetBeans от env

Re: LambdaBeans - Scheme IDE на платформе NetBeans

> Пока они чего-то не слишком гибридные. Ущербная лямбда и генерация списков в петоне ни разу не делает его пригодным для ФП.

Про педон никто не спорит. Его вообще всерьез рассматривать сложно, как и любой другой язык в XXI веке без нативной или JIT-компиляции.

Речь идет о многоязыковых программах, где, например, критические по производительности части написаны на С, а логика - на каком-нибудь приличном динамическом языке. Куски, выигрывающие от функционального подхода - на ФЯПе.


> Вообще, речь не о том, что вот прям щас всем броситься и побежать внедрять хаскелли на производстве. А о том, что понимание ФП и умение его применять к месту — необходимое знание для ИТ-инженера.


Истинно. А еще более тонкое искусство - успешно прозревать такие "места".

Но это уже, скорее, искусство архитектора ПО.

Kuka ★★ ()
Ответ на: Re: LambdaBeans - Scheme IDE на платформе NetBeans от env

Re: LambdaBeans - Scheme IDE на платформе NetBeans

>> Гибридные языковые подходы, набирающие популярность в последнее время, дадут фору любой "чистой" парадигме.

> Пока они чего-то не слишком гибридные. Ущербная лямбда и генерация списков в петоне ни разу не делает его пригодным для ФП.

Что именно тебе непонятно в слове "Scala"? Спрашивай, не стесняйся.

tailgunner ★★★★★ ()
Ответ на: Re: LambdaBeans - Scheme IDE на платформе NetBeans от Kuka

Re: LambdaBeans - Scheme IDE на платформе NetBeans

Ой да ладно. А традиционные IDE не из той же оперы? Создают внутри более 9000 маленьких окошек-областей, между которыми невозможно переключиться с помощью биндингов моего wm. Ну, где тут польза от унифицированного графического интерфейса? Какая разница, используется для представления текстовой информации WIMP или обычный текст-ориентированный буфер Emacs'а?

env ★★☆ ()
Ответ на: Re: LambdaBeans - Scheme IDE на платформе NetBeans от tailgunner

Re: LambdaBeans - Scheme IDE на платформе NetBeans

>Что именно тебе непонятно в слове "Scala"? Спрашивай, не стесняйся.

Вообще-то я про скалу не говорил, поскольку далеко ей до мейнстрима. Success story-то хоть одна приличная есть?

env ★★☆ ()
Ответ на: Re: LambdaBeans - Scheme IDE на платформе NetBeans от Kuka

Re: LambdaBeans - Scheme IDE на платформе NetBeans

> Про педон никто не спорит. Его вообще всерьез рассматривать сложно, как и любой другой язык в XXI веке без нативной или JIT-компиляции.

Тебе бы матчасть подучить, практик йопта...

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