Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 29, 2007 10:21:02

nss
От:
Зарегистрирован: 2007-01-06
Сообщения: 103
Репутация: +  0  -
Профиль   Отправить e-mail  

Textmate

xml нужен чтоб хранить метаданные, и руками его никто не редактирует.

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



Офлайн

#2 Ноя. 29, 2007 21:25:47

bialix
От:
Зарегистрирован: 2006-07-13
Сообщения: 774
Репутация: +  1  -
Профиль   Отправить e-mail  

Textmate

ничего особенного. только подтверждение моего собственного мнения о том, что НОРМАЛЬНОГО API для написания плагинов для редакторов просто НЕ СУЩЕСТВУЕТ. и это меня черезвычайно печалит.



Офлайн

#3 Ноя. 30, 2007 02:20:29

nss
От:
Зарегистрирован: 2007-01-06
Сообщения: 103
Репутация: +  0  -
Профиль   Отправить e-mail  

Textmate

Интресно услышать требованию к нормальному API.



Офлайн

#4 Ноя. 30, 2007 15:39:23

bialix
От:
Зарегистрирован: 2006-07-13
Сообщения: 774
Репутация: +  1  -
Профиль   Отправить e-mail  

Textmate

Нормальное API должно быть достаточно высокоуровневым и позволять работать на соответствующем уровне абстракции: редактируемый документ, пункты меню отвязанные от их GUI-реализации, индекс активного документа, список открытых файлов, если используется нечто типа дерева проектов – то соответствующий интерфейс позволяющий читать и манипулировать этим деревом. Доступ к внутренним функциям самого редактора по возможности также расширенный и высокоуровневый. Если в редакторе реализованы какие-то полезные дополнительные докируемые окна, то хотелось бы иметь возможность их наследовать и создавать при желании без переписывания GUI-кода.

Очень хочется иметь нормальное разделение Model-View-Controller, а не мешать GUI в кучу с реализуемыми алгоритмами.

Нормальное API не должно вам вываливать на голову внутреннюю реализацию редактора в перемешку с GUI-кодом (как это имеет место быть в Dr.Python) и с другой стороны быть достаточно богатым, чтобы можно было добраться до потрохов, а не просто дублировать доступные юзеру команды главного меню (как это имеет место быть в PSPad). Хорошее API должно иметь хоть какую-то документацию, а не так как в UliPad.

Сравнивать мне мало с чем, я фактически пытался изучать как это сделано в Eclipse, DrPython, UliPad, PSPad. Для PSPad даже немного написал сам, но потом наткнулся на серьезные препятствия с мешанием в кучу пространства имен и дальше мне стало резко неинтересно. Textmate в силу его яблочности в ближайшем будущем мне не видеть. Но ваши ссылки на поддержку hg вызывают у меня сильные аналогии с эклипсом.

Хотелось бы в будущем поглядеть как плагины пишутся для знаменитого Emacs-a, чтобы сложить еще более полное впечатление.



Офлайн

#5 Ноя. 30, 2007 20:25:07

nss
От:
Зарегистрирован: 2007-01-06
Сообщения: 103
Репутация: +  0  -
Профиль   Отправить e-mail  

Textmate

Я сам на емаксе сидел очень долго, пока на мак не переполз. Вот что думаю по поводу реализации перечисленных вами требований:

Особенность емакса в том, что он сам по себе написан с помощью плагинов. На С написан только интерпретатор емакс-лиспа, все функции редактирования реализованы на нем. Поэтому, есть доступ абсолютно ко всем частям редактора. Поэтому, под емакс возможно даже написать мейлер, броузер, джаббер-клиент, и т. д.

gui-кода в емаксе очень мало, и он очень примитивный, совершенно под ногами не путается. емакс-лисп сделан абстрагированным от кода рисования, а самих бекендов очень много (консольный, гтк-2, мотиф, xaw3d, lesstiff и еще что-то).

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

Из минусов емакса: очень разросшаяся кодовая база, редактор реально является монстром. Плохая интеграция с другими компонентами операционной системы (особенно гуевыми). Отсутствие нормального парсера документов (все парсится только регекспами, есть движок semantic, но он жутко недоделанный и глючный). Отсутсвие нормальных режимов редактирования для современных языков (в т. ч. питона). Необходимость очень много времени тратить на настройку.

Емакс можно рассматривать сейчас как некий академический проект, но практическую ценность он потерял, имхо.

Можете еще посмотреть на jedit. http://jedit.org/ (юзал его в линухе месяца 2, когда емакс в конец достал, но еще не купил мак)

По той ссылке на поддержку хг судить сложно (хотя бы потому что она не является частью текстмейта), посмотрите лучше этот скринкаст: http://macromates.com/screencast/scopes_and_comments.mov (61 мб).



Офлайн

#6 Дек. 1, 2007 06:04:13

bialix
От:
Зарегистрирован: 2006-07-13
Сообщения: 774
Репутация: +  1  -
Профиль   Отправить e-mail  

Textmate

спасибо за обзор по потрохам эмакса. по вашим словам получается что там все реализовано “правильно”. :-)



Офлайн

#7 Дек. 1, 2007 18:53:12

piranha
От:
Зарегистрирован: 2007-10-05
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Textmate

Емакс можно рассматривать сейчас как некий академический проект, но практическую ценность он потерял, имхо.
Ну нельзя сказать, что совсем потерял. :) Я пользуюсь, и даже если некоторыми вещами недоволен - другими редакторами недоволен ещё больше.



Офлайн

#8 Дек. 2, 2007 11:06:43

nss
От:
Зарегистрирован: 2007-01-06
Сообщения: 103
Репутация: +  0  -
Профиль   Отправить e-mail  

Textmate

bialix
спасибо за обзор по потрохам эмакса. по вашим словам получается что там все реализовано “правильно”. :-)
Скажем так, в нем заложены правильные идеи, но с точки зрения юзабилити он не очень. С другой стороны, теоретически можно эту юзабилити улучшить, но практически это слабо реализуемо. Как я все больше убеждаюсь, рядовой юзер не знает как сделать так, чтоб было удобно. Маковские эксперты по эргономике знают, а юзер не знает. “В большом пусть поют, а я буду оперировать, и никакой разрухи” (с) Проф. Преображенский.



Отредактировано (Дек. 2, 2007 11:07:02)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version