LINUX.ORG.RU

Emacs + Smalltalk

 , , ,


3

3

Где-то в 2010м году, во время очередного витка бурных всплесков интереса к Лиспу на ЛОРе, я решил ознакомиться-таки с этим зверем, установил SLIME, начал читать Practical Common Lisp. Хоть к тому времени я уже был знаком с т.н. инкрементальной разработкой, SLIME поразил моё сознание. Это было так чертовски удобно! И примерно в то же время я задумался, что неплохо было бы иметь нечто подобное для моего любимого Smalltalk.

Конечно, каждая современная реализация Smalltalk предоставляет свои собственные инструменты для разработки - браузеры классов, редакторы, инспекторы, рабочие пространства есть и у Pharo, и в GNU Smalltalk, и в VisualWorks. Хоть они и выполняют одни и те же задачи, они разные. И, да, самое главное - они не Emacs!

Так я и решил сделать своё некое подобие SLIME, учитывая классический подход к разработке на Smalltalk - браузер классов с пометодным редактированием. Естественно, для работы этой вещи нужен был сервер на стороне образа, который по запросам отдает браузеру нужную информацию/применяет присланные правки/выполняет команды/и т.д. Сейчас такой сервер доступен для GNU Smalltalk и Pharo.

На скриншоте можно увидеть, что в итоге получилось. Браузер классов занимает левую часть экрана, он подключен к образу GNU Smalltalk, запущенному на соседнем нетбуке. Списки в верхней половине браузера образуют иерархию: пространства имен, классы, категории методов и сами методы. В нижней половине браузера - область редактирования кода соответсвующего метода (или объявления класса).

В правой части экрана расположены Workspace (аналог REPL, для выполнения произвольного кода и просмотра результатов исполнения) и Transcript (заменяет стандартный вывод). В примере на скриншоте код в Workspace был выполнен однажды, потом в классы ClientConnection и ShampooServer были добавлены методы печати объектов (один из них открыт в браузере), и потом код был выполнен повторно. Разница в выводе и отображена в Transcript.

У проекта так же есть своя страничка, код на гитхабе, все желающие могут присоединиться.

В остальном - всё тот же FVWM, Emacs 23.4.1, NetBSD/amd64 (current).

>>> Просмотр (1680x1050, 70 Kb)

★★★★★

Проверено: JB ()

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

Возможно :) За два+ года мало что поменялось визуально, а скриншоты самого поделия я когда-то уже в Google+ выкладывал.

yoghurt ★★★★★ ()

Суровый олдскул как всегда прекрасен!

Что за шрифт?

fat_angel ★★★★★ ()

что за радуга? в остальном - прекрасно. реквестирую конфиги fvwm, ибо просто фанатею с него. а шрифт, если не изменяет память, adobe helvetica который с иксами ставится?

Spoofing ★★★★★ ()

IBM VAST даже в 1994 году повеселее был.

они не Emacs

К.О. детектед.

Bioreactor ★★★★★ ()

Перевод же смоллтоковского руководства «Pharo by Example» и ныне там. Пичалька.

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

Радуга показывает, на каком из 20ти рабочих столов я сейчас нахожусь, а так же позволяет их переключать (но обычно это делается хоткеем). Шрифт serenetypewriter.

Конфиг лежит тут: https://github.com/dmatveev/.fvwm

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

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

Я понимаю, что «а мне нравится», но шрифт не очень. Все те же проблемы fixed: l плохо отличается от 1, 0 от O.

Zubok ★★★★★ ()

«Жить» в консоли в 2013 году — это все равно что добровольно посадить себя на гауптвахту. Такими скриншотами только любопытных нубов пугать. Тебе выть не хочется?

Jayrome ★★★★★ ()

Вырвиглазное ШГ.

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

ШГ.

Можешь объяснить, как шрифты без сглаживания могут быть ШГ?
Как со зрением-то у тебя вообще? ヽ(´ー`)ノ

science ★★☆ ()

Это няняня. Но каждый раз когда я вижу такие десктопы у меня возникает закономерный вопрос: и что, действительно удобно работать?

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

А, что, разработка мышом guiless-поделок нынче так же быстра и эффективна, как и без мыша? А вместо mv *jpg jpgs у вас плюгин-к-наутилусу-скачать-бесплатно-пройдите-сквозь-меню-для-активации?

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

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

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

Удобно, да. По сути, мне вообще без разницы, где запускать Emacs, главное - это возможность быстро переключаться между его окнами, разбросанными по разным столам. И, кроме Seamonkey и Evince, ничем графическим я больше почти не пользуюсь.

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

Можешь объяснить, как шрифты без сглаживания могут быть ШГ?

на низких DPI - ещё как могут

lazyklimm ★★★★★ ()

Не пользуюсь ни Emacs, ни Smalltalk, но цветовая гамма очень приятна.

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

Этот Fixed или что у тебя там, в принципе говно.

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

На скрине иксы же =)

А вобще, гуй редко по юзабилити до консольных аналогов дотягивает.

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