не надо ла-ла elisp уж попроще будет подхачить, чем haskell
Я писал плагин на елиспе однажды. Не скажу что мне так уж понравилось или не понравилось, но по-моему елиспом сложновато управлять если речь идёт о юзании кусков чужих плагинов + плагины не переносимы между x и не x емаксами. Конечно для небольших проектов простой скриптовый язычок со встроенной поддержкой временной модификации глобальных переменных с помощью которых можно не передавая тучу параметров в вызовы настроить всё, удобен, но при разрастании проекта лучше иметь всё-таки type-checking и более функциональный интерфейс. Ну и конечно расстраивает необходимость юзать бедные графические возможности при реализации велосипедных файломенеджеров всяких, т.к. приходится помнить о поддержке текстового режима. Был бы xemacs более продвинутым, надо было бы заняться биндингом сишных либ к нему, но он дик и древен.
Интерес, выраженный сообществом к данному посту, сделанному мною без особого умысла, побудил меня таки заняться клепанием своего емакса использую codebase yi. Посмотрим на долго ли меня хватит (я отличаюсь эпичной забиваемостью на все свои проекты).
заняться клепанием своего емакса использую codebase yi.
Почему-таки yi? До функционала емакса ему овер 10 лет разработки.
Хотя идеального редактора нет. Вим модален, а немодальность достигается костыльно. Емакс архаичен. JEdit на java. Саблайм проприетарен. Редакторы на базе scintilla пока не дотягивают.
Проще кодить свой редактор ориентируясь на небольшую, понятную, некостыльную прогу, чем зарыться с головой в кучу костылей для ненужного мне функционала. Кстати и вообще по-жизни мне хотелось бы не юзать прог, исходники которых я не в состоянии осознать. Жаль только это нереально.
Хотя идеального редактора нет. Вим модален, а немодальность достигается костыльно. Емакс архаичен. JEdit на java. Саблайм проприетарен. Редакторы на базе scintilla пока не дотягивают.
Ты еще забыл раскритиковать редакторы на базе kwite и на базе gtk-шного движка редактора, как он там называется, не помню...
Кодить, если не все, то многое все самому - это явно перебор. Да и не нужно это. Примерно понимать как устроено, использовать при помощи документации и иметь возможность расширять - это здорово и правильно.
А запилить емакс-лайк редактор на основе Yi - как раз неоправданно большая ИМХО для одного человека задача.
Ну то есть идеален, просто вам надо было к чему-то придраться.
Да я и не придираюсь. Видимо он просто не использует возможности видеокарты как следует отсюда и некоторые лаги с отображением. Но оно и понятно: когда проект стартовал такого устройства как видеокарта и не существовало :).
А больше кроме производительности и сложности настройки умного автокомплита ему предъявить и не чего.
Я как-то пробовал зокомпилить хаскельные пакеты в rpm-ы которых нету в репах (или версия недостаточная) и на сайт выложить как репозиторий. В принципе реально, только приходилось править руками описания ибо утилита конвертирующая кабал пакеты в rpm-ы не шибко умная. Покомпилил, поржал и забыл. cabal install yi -fpango вполне достаточно.
configure: error: in `/tmp/terminfo-0.3.2.45631/terminfo-0.3.2.4':
configure: error: curses headers could not be found, so this package cannot be built
See `config.log' for more details
cabal: Error: some packages failed to install:
cairo-0.12.3.1 failed during the configure step. The exception was:
ExitFailure 1
gio-0.12.3 depends on glib-0.12.3.1 which failed to install.
glib-0.12.3.1 failed during the configure step. The exception was:
ExitFailure 1
gtk-0.12.3.1 depends on glib-0.12.3.1 which failed to install.
pango-0.12.3 depends on glib-0.12.3.1 which failed to install.
terminfo-0.3.2.4 failed during the configure step. The exception was:
ExitFailure 1
vty-4.7.0.14 depends on terminfo-0.3.2.4 which failed to install.
yi-0.6.6.0 depends on terminfo-0.3.2.4 which failed to install.
Если найдутся желающие, могу возродить проект по репу хаскель пакетов. Правда мой реп был только под федорино горе. Эх, если бы только было не лень и надо народу... Действительно можно сэкономить немало усилий если всё скомпилить и зависимости указать от пакетов системы. Не говоря уж о том что в кабале не указывают зависимости даже от хаскельных же бинарей, которые кабал мог бы ставить сам (наверно он не уверен что ~/.cabal/bin прописан в $PATH)
А чо. MyClass.prototype.doSth = function() { ... } или даже без прототипа - чисто 1 объекту можно навесить новый метод - круто же. JavaScript, он почти как смолтолк, только гемор с конструкторами, который лечат всякие jQuery. А вот в хаскель компилируемый. В нём хоть и есть eval и даже генерация синтаксически грамотного AST в рантайм средствами нестандартных пакетов, выглядит это всё не естественно и заводится не всегда с первого пинка. Так что на хаскеле лучше писать сразу то, что нужно по техзаданию.
так пытался его осваивать. но я уже перешел в категорию людей которые осилил intellij idea. после такого никакими вимами и имаксами обычно не пользуются
А конфиги чем редактировать будете? Тяжелой IDE? Которая стартует примерно минуту, не меньше? Большие проекты лучше в IDE редактировать, а про конфиги и прочую мелочь vim позаботится. Иногда в готовом проекте нужно быстро пару небольших классов просмотреть, и в каком-то методе пару строк изменить. Тут тоже IDE запускать просто глупо. Пока оно запустится, вы уже пофиксите баг небольшой. И таких примеров много. Когда IDE не в тему. Просто для каждого вида работ нужно иметь свой инструмент, идеально подходящий для данного дела. И уметь с инструментами работать, на приемлемом уровне.
Ну низнаю, почему у тебя жаба такая прожорливая, аж жрёт втихаря память пока ты отошел от компа, как девушка на диете ночью из холодильника. Пруф или небыло
в моем случае ide всегда открыта. поэтому правка классов или багов идет там. и мне не оч поняты ситуации когда она у тебя закрыта и ты чтото правишь в редакторе: если исправил - все равно нужно пересобрать и посмотреть что ты там наисправлял
Такая мысль тоже была. Только все равно большая часть гуя на java пишется на swing. А одна из основных причин, заставивших меня выбросить jedit заключалась в том, что курсор в перескакивал в поле поиска после нажатия соответствующего сочетания на миг позже того, как я начинал набирать текст поиска. Соответственно, редактировался основной текст. Мелочь, а раздражает...
Ну, собрать можно и из командной строки, вы же Ant изпользуете? А я имел в виду не проект, а конфиги и прочую мелочёвку. Редактировать такие вещи в IDE нет смысла. Вы же не весь день классы пишете? Нет смысла постоянно держать IDE открытой, разве что вы дома и на работе только работаете по 24 часа в сутки...