LINUX.ORG.RU

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

 lambdabeans, , ,


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-подобных языках.

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

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

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

> Вообще-то я про скалу не говорил,

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

> поскольку далеко ей до мейнстрима. Success story-то хоть одна приличная есть?

Тебе подсказать сайт Scala? Там всё есть.

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

>Тебе подсказать сайт Scala? Там всё есть.

Извините, но вы клоун.
Хотя по-моему я это уже говорил.

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

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

Тоже обратил на это внимание :) Журнал вот недавно вышел :) Теперь IDE :). Наверное это хорошо :).

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

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

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

>Поясняю... - бред поскипат...


Поздравляю тебя, Шарик, ты балбес, троль и девственник! Могу с уверенностью сказать, что ты не программировал на лиспе и не использовал REPL. Навороты IDE были созданы для удобной и продуктивной работы с языками типа Java, в некоторых продуктах реализованы здорово и красиво, и в них удобнее программировать, отлаживать и пр. Java проекты. Лисп же совсем другой по мощности, подходу и концепции язык, для которого уже созданы соответствующие среды разработки, тоже с классной реализацией.
Твои рассуждения о "XXI веке" и "современности" смешны. Быдлом тебя делает не незнание, а твой образ мысли и подобные высеры.

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

> 1)Тормозит

А что, кто-то когда-то видел жабоиде, которое не тормозит (жабофилов и их голубые мечты не считаем)? Так что этот пункт там автоматом подразумевался...

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

> Никто тут вроде не ратует за ... gdb из CLI-интерфейса.

Я ратую. gdb не тот инструмент, чтобы ему нужна была интеграция в ide (ну, если только не хочется из emacs'а куда-то переключаться по идеологическим причинам). Случаев, когда реально надо долго ползать по коду в gdb -- один на миллион.

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

> оконный графический интерфейс, с его эргономикой, выразительностью и интерактивностью

Это Вы имели в виду "мышевозиловом, ненужными свистелками и тормознутостью"? Ну так не все же такие мазохисты, аднака...

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

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

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

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

То есть и шелл скрипты тоже так взяли и ввиду несерьезности выкинули на помойку?

>Отрицать оконный графический интерфейс, с его эргономикой, выразительностью и интерактивностью, в пользу текстового режима Emacs или vim - мракобесие.

К слову оконный интерфейс в его привычном понимании обильных флоатинг_виндоу - хрень, однако, неудобная по многим причинам.

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

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

В начале предложения почему-то говорится о профи высокого класса, но к концу предложения становится очевидно, что речь идёт о долбодятлах, занимающих 99% программерских позиций 99% софтверных контор.

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

1) Я уже не один раз говорил, что твоё "летает" на проверку для меня может оказаться "тормозит аж абзац". Примеры были.

2) Под фрёй тормозит, под линуксом тормозит. Не, ну под вендой, может, и летает, но мне-то что? Ради странного поделия пользоваться патологически неудобной средой, где к 2009му году даже до виртуальных рабочих столов не додумались? Не-не-не, Дэвид Блейн.

3) Но нетбинс по тормозам -- это, конечно, вообще пездтня. 8))

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

Эклипс удобен плагинами. Наример, для платформы BlackBerry существует официальная IDE, которая написана на жабе, тормозит, кажется, сильнее Нетбинса, а по юзабилити совсем где-то в ауте, и их плагин для Эклипса, с которым можно хотя бы работать.

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

> Отрицать оконный графический интерфейс, с его эргономикой, выразительностью и интерактивностью, в пользу текстового режима Emacs

Чё? Интерфейс, реализованный в Emacs, ащето, тайловый оконный. И для IDE (по моему мнению, конечно) он гораздо удобнее ублюдочных вкладок. Я могу располагать тайлы так, как нужно в данный момент МНЕ, а не как левая пятка IDE захочет. После Emacs в той-же визуалке работать, мягко говоря, некомфортно, и насрать на их IntelliSense (или как там они автодополнение обозвали). Для особо яростных поклонников плюсов и визуалки появился QtCreator, который, разве что, по интегрированности с отладчиком пока уступает VisualStudio.

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

>> Тебе подсказать сайт Scala? Там всё есть.

> Извините, но вы клоун.

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

tailgunner ★★★★★
()

> (примитивной консоли для вычисления выражений) или в _лучшем_ случае Slime (расширения для Emacs).

o_O

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

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

Эт врядли. скорее Jdeveloper закопаютЪ

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

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

в java уже есть groovy :)

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

>> IDE головного мозга

> Я этот диагноз ещё полгода назад предложил ввести в обиход.

А что такое "IDE головного мозга"?

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

Так я и не говорю, что Eclipse/NetBeans/IDEA/что_там_у_нас_ещё_есть_из_модного -- однозначное и неизбывное зло. В ряде случаев удобно, сам QtCreator'ом пользовался, когда надо было относительно быстро разобраться в нагромождении плюсового ужоса с впихнутыми в каждое место шаблонами проектирования (ненавижу). Но _я_ работать предпочитаю в виме. Удобнее. _Мне_ удобне, ага. 8))

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

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

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

А что Вы хотели сказать? Я, к сожалению, не понял.

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

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

Psyco? Мои домашние тапочки только что лопнули от смеха.

Полузаброшенный недоJIT для x86-only? спасибо, заберите в зад.
Сюсю-PyPy? пожалейте трупы моих тапочек.

Java HotSpot JIT - вот бы на что посмотреть принцу Гведону с педоном.

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

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

Скажите это архитектору из Мадрида, ага. Что он быдлло.

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

> Случаев, когда реально надо долго ползать по коду в gdb -- один на миллион.

Скажи, пупсик, а ты пытался _писать_ программы?

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

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

> То есть и шелл скрипты тоже так взяли и ввиду несерьезности выкинули на помойку?

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

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

> В начале предложения почему-то говорится о профи высокого класса, но к концу предложения становится очевидно, что речь идёт о долбодятлах, занимающих 99% программерских позиций 99% софтверных контор.

Если человек юзает IDE и работает продуктивно, вместо того, чтобы ковыряться в унылой консольке - то он долбодятел, каковых 99%? Трололо.

Отличный критерий, мне добавить нечего. См. выше про сектантство, луддитов и прочее.

Kuka ★★
() автор топика

Вообще, поражаюсь, сколько в этом треде набралось школоты, не нюхавшей пороху.

Посмотрю я на вас, как вы будете в своем Емаксе:
- визуально моделировать бизнес-процессы;
- проектировать ПО с использованием UML;
- проектировать схему БД;
- разрабатывать пользовательские интерфейсы.

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

А считать, что решение олимпиадных задачек по функциональному программированию на Хаскеле возносит до высот практического профессионализма - не более чем следствие сублимации юношеского спермотоксикоза.

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

> Скажи, пупсик, а ты пытался _писать_ программы?

Скажи, малыш, а ты сам-то пробовал _писать_ программы, а не быдлокодить?

1) для _разработки_ отладчик не нужен. Вообще.

2) в случае разбора падений -- в 99,99% случаев достаточно посмотреть бэктрейс и пару переменных. Всё. Никакого мучительного ползания по коду в отладчике не нужно. В 999999 случаях на миллион.

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

Строго формализуемых определений нет. 8)) Но необходимость усиленно ползать по коду в отладчике -- клиника.

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

> Но необходимость усиленно ползать по коду в отладчике -- клиника.

То есть код получается сразу не содержащим ошибки?

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

> визуально моделировать бизнес-процессы

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

> проектировать ПО с использованием UML


Для грамотного проектирования ПО костыли в виде UML нахер не нужны. Вся эта шелуха -- для показа младшими манагерами начальству: "вот, скока _мы_ налабали!!!".

> проектировать схему БД

> разрабатывать пользовательские интерфейсы


Emacs для этого не предназначен.

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

> Но необходимость усиленно ползать по коду в отладчике -- клиника.

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

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

> Разве не заказчик определяет то, что должна выполнять программа?

Во первых, как вышенаписанное коррелирует с http://ru.wikipedia.org/wiki/%D0%91%D0%B8%D0%B7%D0%BD%D0%B5%D1%81-%D0%BF%D1%8... ?
Во вторых, если ты пытаешься иметь в виду http://ru.wikipedia.org/wiki/%D0%91%D0%B8%D0%B7%D0%BD%D0%B5%D1%81-%D0%BB%D0%B... , то придумывание новой ублюдочной терминологии не есть признак большого ума. Всё это прекрасно описывается двумя словами: "требования заказчика".

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

Я просто спрашиваю, а вы перешли сразу на личности.

Мне интересно, а как вы собираетесь отлаживать приложения, сложнее, чем "Hello world!" ?

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

Разве требования заказчика по сценариям использования нельзя наглядно проиллюстрировать Use Case диаграммами?

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