Re[11]: Жизнь без IDE
От: lomeo Россия http://lomeo.livejournal.com/
Дата: 27.10.09 09:18
Оценка:
Здравствуйте, LaPerouse, Вы писали:

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


Я работал с IDEA и Eclipse. Да и в vim у меня eclim, там есть команда :JavaCorrect.
Да и потом — это же vim, там можно очень многое. Уж создать то класс по имени можно точно

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

И вот тут IDE мне очень сильно мешает. А что? Ведь написать тонну кода там очень просто.

На самом деле для меня ценность IDE не в редакторе, который понимает контекст. Гораздо важнее навигация по коду. Но вот в vim-е с навигацией тоже всё в порядке, так что зачем мне IDE?

LP>Как ты это автоматизируешь? Для этого нужен умный анализатор, который видит код на уровне синтаксического дерева.


Ну существуют же системы доказательства теорем — это то же самое. Да и для Haskell есть инструменты. Если интересно — глянь на djinn. Он, правда, не работает с рекурсивными типами и код генерит единственный, на возможные, но для очень многих случаев этого достаточно:

Djinn> data Reader r a = Reader (r -> a)
Djinn> returnR ? a -> Reader r a
returnR :: a -> Reader r a
returnR a = Reader (\ _ -> a)
Djinn> bindR ? Reader r a -> (a -> Reader r b) -> Reader r b
bindR :: Reader r a -> (a -> Reader r b) -> Reader r b
bindR a b =
        case a of
        Reader c -> Reader (\ d ->
                            case b (c d) of
                            Reader e -> e d)
Re[11]: Жизнь без IDE
От: thesz Россия http://thesz.livejournal.com
Дата: 27.10.09 09:40
Оценка:
Здравствуйте, LaPerouse, Вы писали:

T>>Ну!

T>>Я про то и говорю. Про Эклипс вкупе с языком.
LP>Значит ты им неправильно пользовался.

Если бы я не был умным, я бы тебе поверил.

LP>>>И пустой метод заглушку при создании метода Или ты думал что эклипс сам еще код пишет

T>>Вообще-то, я собирался автоматически код писать.
T>>Есть у меня пара описаний, я хочу из них создать пару десятков классов.
T>>И всё!
T>>В Эклипсе мы приехали. Слезаем.
LP>И при чем здесь эклипс? Он тебе чем-то мешает?

Да.

Мне надо уметь во время компиляции Java кода создавать некоторые классы и подтыкать их в проекты Эклипса.

Скажешь, как это делать проще, чем в GNU make, буду признателен — признаю свою неправоту.

LP>>>Эти рутинные задачи были, есть и будут всегда. Программирование — на 50 процентов рутинная работа. Состоит из создания новых модулей, файлов, вбивания кода.


T>>Как я понимаю, ты пишешь не задумываясь о том, что же ты пишешь.

LP>Как раз таки благодаря эклипсу у меня есть возможность подумать над тем, что я пишу.

Если ты не понял, то это относилось к тому, что ты написал в комментарии, на который отвечал я.

Хотя я не знаю, может, есть RSDN plugin для Eclipse?

LP>Эклипс снимает с меня большинство грубой технической работы по набору кода, я больше времени могу уделять на продумывание (процентов 70 от времени работы. само собой под работой не принимаются разговоры по телефону по личным делам и написание постов на рсдн).


Вот взял ты язык по мощнее.

Ту же Agda2.

Как тебе поможет Eclipse?

T>>На одну строку кода приходится, наверное, 0.5% файлов и 1-2% классов.

LP>А сигнатуры методов? Их эклипс также помогает эффективно создавать с параметрами, взятыми из контекста.

Мне проще наперёд продумать, чем запоминать ещё одну редко используемую (если наперёд всё продумал) последовательность нажатий кнопок.

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

LP>Модули, файлы, пакеты и сигнатуры функций — весьма значимые единицы набора кода.

Вот типы функций и аргументов — это да. Остальное можно смело выкидывать.

T>>Насчёт чтения — согласен.

T>>Но это уж язык такой, что описанием типа метода не отделаешься, надо обязательно взглянуть внутрь, чтобы понять, что же он делает.
LP>Не нужно, если модуль-класс нормально спроектированы. И тем более не нужно, если есть документация — ее эклипс покажет по F2 или при наведении курсора мыши.

Видишь — два "если".

Значит — нужно.
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Re[12]: Жизнь без IDE
От: Mr.Cat  
Дата: 27.10.09 11:44
Оценка:
Здравствуйте, lomeo, Вы писали:
L>Да и потом — это же vim, там можно очень многое.
Кстати, вопрос ко всем виммерам и любителям емакса. Чем (набор плагинов/режимов/...) вы пользуетесь для работы с кодом на хаскеле?
Я бы, например, не отказался от плагина, показывающего выведенные типы переменных внутри функции. Еще было бы неплохо уметь видеть какую-нибудь доку (хотя бы тип) по произвольной функции.
Re[13]: Жизнь без IDE
От: lomeo Россия http://lomeo.livejournal.com/
Дата: 27.10.09 12:22
Оценка: 10 (1)
Здравствуйте, Mr.Cat, Вы писали:

MC>Кстати, вопрос ко всем виммерам и любителям емакса. Чем (набор плагинов/режимов/...) вы пользуетесь для работы с кодом на хаскеле?

MC>Я бы, например, не отказался от плагина, показывающего выведенные типы переменных внутри функции. Еще было бы неплохо уметь видеть какую-нибудь доку (хотя бы тип) по произвольной функции.

Сначала у меня даже средства для рефакторинга стояли (см. HaRe), GHC внутре (shim) и ещё по мелочи, но потом я от них отказался. Оказалось вполне достаточно иметь haskell-mode.

Что такое переменная внутри функции в Haskell я не очень понимаю — то, что в let вяжется? Или where тоже пойдёт? Или аргумент лямбды? Сомневаюсь, что этот тип будет показан (надо глянуть на GHC API, это вообще возможно?). Но тип самой функции он выводит замечательно. Мне этого бывает достоточно, т.к. я стараюсь писать маленькие функции.

-- разбор camel case идентификатора
parse = groupBy (\_ -> not . isUpper)


и их них уже композицией складывать крупные, которые по количеству строк тоже оказываются маленькими. Тип выводится нажатием _t или _T, в зависимости от того, хотим мы тип посмотреть или вставить в код. Но на самом деле, так как разработка ведётся от REPL-а, то необходимости даже в этом не возникает. А доку я смотрю в гугле/хугле. Кстати, вот hoogle пользуюсь часто, так как иногда не вспомнишь как называется функция, или даже не знаешь, существует ли она, но что она должна делать понятно — то есть тип её выписать можешь.

Если отбросить редкие использования, то очень часто пользуюсь — подсветкой, :make с показом ошибок, автодополнением, навигацией (обычно по тегам). Всё. Остальное снаружи — google, hoogle, cabal, ghci, lambdabot.
Re[14]: Жизнь без IDE
От: Mr.Cat  
Дата: 27.10.09 13:07
Оценка:
Здравствуйте, lomeo, Вы писали:
L>Сначала у меня даже средства для рефакторинга стояли (см. HaRe)
L>GHC внутре (shim)
Ага, спасибо.

L>и ещё по мелочи, но потом я от них отказался.

Можно хотя бы названия?

L>Оказалось вполне достаточно иметь haskell-mode.

Речь сейчас про emacs? Или имеется в виду родная поддержка вима?

L>Что такое переменная внутри функции в Haskell я не очень понимаю — то, что в let вяжется? Или where тоже пойдёт? Или аргумент лямбды?

Угу. Я иногда читаю чужой код и там бывает что-то такое:
какаяТоФункция :: чтоТо -> НеведомаяМонада ЧтоТоЕще
какаяТоФункция = do
  переменная <- известнаяФункция . неведомаяФункция $ чтоТоТретье
  ...

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

L>автодополнением

Для этого нужно что-то ставить?

L>навигацией (обычно по тегам)

Ctags или как их там? Или что-то особое для хаскеля есть?
Re[15]: Жизнь без IDE
От: lomeo Россия http://lomeo.livejournal.com/
Дата: 27.10.09 14:06
Оценка: 10 (1)
Здравствуйте, Mr.Cat, Вы писали:

L>>и ещё по мелочи, но потом я от них отказался.

MC>Можно хотя бы названия?

Вспомню — напишу. Что-то для кабала было, не помню, к сожалению.

L>>Оказалось вполне достаточно иметь haskell-mode.

MC>Речь сейчас про emacs? Или имеется в виду родная поддержка вима?

Про vim. Хотя изначально я сидел на emacs. Там поддержка Haskell сильнее, если нет разницы какой редактор использовать, то иди на emacs лучше.

L>>Что такое переменная внутри функции в Haskell я не очень понимаю — то, что в let вяжется? Или where тоже пойдёт? Или аргумент лямбды?

MC>Угу. Я иногда читаю чужой код и там бывает что-то такое:
MC>
MC>какаяТоФункция :: чтоТо -> НеведомаяМонада ЧтоТоЕще
MC>какаяТоФункция = do
MC>  переменная <- известнаяФункция . неведомаяФункция $ чтоТоТретье
MC>  ...
MC>

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

А ну можно _si, он покажет тип неведомойФункции и НеведомойМонады. Т.е. для топ-левел всё работает. Вот для "переменная" он ничего не покажет.

L>>автодополнением

MC>Для этого нужно что-то ставить?

Нет, haskellmode только, он не всё может, но хватает.
Смотри здесь — http://projects.haskell.org/haskellmode-vim/screencasts.html

L>>навигацией (обычно по тегам)

MC>Ctags или как их там? Или что-то особое для хаскеля есть?

Да, их умеет генерить ghci (:etags/:ctags), а также есть отдельная утилитка.
Re[12]: Жизнь без IDE
От: LaPerouse  
Дата: 27.10.09 15:05
Оценка:
Здравствуйте, thesz, Вы писали:

LP>>И при чем здесь эклипс? Он тебе чем-то мешает?

T>Да.
T>Мне надо уметь во время компиляции Java кода создавать некоторые классы и подтыкать их в проекты Эклипса.
T>Скажешь, как это делать проще, чем в GNU make, буду признателен — признаю свою неправоту.

Так возрадуйся — ANT и MAVEN тебя спасут. Я даже тебе могу сказать по шагам что надо сделать — оформить через External Tools свой скрипт, включить в опциях тула refresh и rebuild и все.

T>Ту же Agda2.

T>Как тебе поможет Eclipse?

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

T>Вот типы функций и аргументов — это да. Остальное можно смело выкидывать.


Во-первых не надо. Слишком это удобно, чтобы просто так отказываться. Во-вторых, описание сигнатур методов занимают процентов 10 от объема исходников. Учытывая, что эклипс может генерить их из самых различных ситуций (по quick fix, с помощью средств рефакторинга и т.д.), это очень полезная фича.

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

LP>>Не нужно, если модуль-класс нормально спроектированы. И тем более не нужно, если есть документация — ее эклипс покажет по F2 или при наведении курсора мыши.
T>Видишь — два "если".
T>Значит — нужно.

Ну-ну. На практике о том, что делает метод зачастую можно догадаться уже из названия.
Социализм — это власть трудящихся и централизованная плановая экономика.
Re[13]: Жизнь без IDE
От: LaPerouse  
Дата: 27.10.09 15:08
Оценка:
Здравствуйте, LaPerouse, Вы писали:

LP>Здравствуйте, thesz, Вы писали:


LP>>>И при чем здесь эклипс? Он тебе чем-то мешает?

T>>Да.
T>>Мне надо уметь во время компиляции Java кода создавать некоторые классы и подтыкать их в проекты Эклипса.
T>>Скажешь, как это делать проще, чем в GNU make, буду признателен — признаю свою неправоту.

LP>Так возрадуйся — ANT и MAVEN тебя спасут. Я даже тебе могу сказать по шагам что надо сделать — оформить через External Tools свой скрипт, включить в опциях тула refresh и rebuild и все.


Само собой, можно использовать и GNU make. Через тот же externral tools
Социализм — это власть трудящихся и централизованная плановая экономика.
Re[16]: Жизнь без IDE
От: LaPerouse  
Дата: 27.10.09 15:17
Оценка: :)
Здравствуйте, lomeo, Вы писали:

L>Здравствуйте, Mr.Cat, Вы писали:

L>Про vim. Хотя изначально я сидел на emacs. Там поддержка Haskell сильнее, если нет разницы какой редактор использовать, то иди на emacs лучше.

Правильнее будет сказать — иди в emacs. Хотя твой образ мысли мне тоже нравится
Социализм — это власть трудящихся и централизованная плановая экономика.
Re[15]: Жизнь без IDE
От: LaPerouse  
Дата: 27.10.09 15:20
Оценка: -2
Здравствуйте, Mr.Cat, Вы писали:

MC>Здравствуйте, lomeo, Вы писали:

L>>Сначала у меня даже средства для рефакторинга стояли (см. HaRe)
L>>GHC внутре (shim)
MC>Ага, спасибо.

L>>и ещё по мелочи, но потом я от них отказался.

MC>Можно хотя бы названия?

Для языков без поддержки IDE я рекомендую использовать прекрасный редактор с открытыми кодами Notepad++. Им реально можно пользоваться (в отличие от emacs/vim/etc).
Социализм — это власть трудящихся и централизованная плановая экономика.
Re[13]: Жизнь без IDE
От: lomeo Россия http://lomeo.livejournal.com/
Дата: 27.10.09 15:44
Оценка:
Здравствуйте, LaPerouse, Вы писали:

T>>Скажешь, как это делать проще, чем в GNU make, буду признателен — признаю свою неправоту.

LP>Так возрадуйся — ANT и MAVEN тебя спасут.

А при чём тут тогда Eclipse?

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


http://www.rsdn.ru/forum/decl/3451868.flat.aspx#3451868
Автор: dotneter
Дата: 01.07.09


Читал уже?
Re[14]: Жизнь без IDE
От: LaPerouse  
Дата: 27.10.09 15:55
Оценка:
Здравствуйте, lomeo, Вы писали:

L>Здравствуйте, LaPerouse, Вы писали:


T>>>Скажешь, как это делать проще, чем в GNU make, буду признателен — признаю свою неправоту.

LP>>Так возрадуйся — ANT и MAVEN тебя спасут.

L>А при чём тут тогда Eclipse?


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

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


L>http://www.rsdn.ru/forum/decl/3451868.flat.aspx#3451868
Автор: dotneter
Дата: 01.07.09


L>Читал уже?


Нет, спасибо, почитаю.
Социализм — это власть трудящихся и централизованная плановая экономика.
Re[13]: Жизнь без IDE
От: thesz Россия http://thesz.livejournal.com
Дата: 27.10.09 16:29
Оценка:
Здравствуйте, LaPerouse, Вы писали:

LP>>>И при чем здесь эклипс? Он тебе чем-то мешает?

T>>Да.
T>>Мне надо уметь во время компиляции Java кода создавать некоторые классы и подтыкать их в проекты Эклипса.
T>>Скажешь, как это делать проще, чем в GNU make, буду признателен — признаю свою неправоту.
LP>Так возрадуйся — ANT и MAVEN тебя спасут. Я даже тебе могу сказать по шагам что надо сделать — оформить через External Tools свой скрипт, включить в опциях тула refresh и rebuild и все.

И это проще, чем добавление "каталог:\n\tchdir каталог\nmake all"?

В случае make у меня всё единообразно — есть список целей, есть способы их достижения. В случае Eclipse?..

T>>Ту же Agda2.

T>>Как тебе поможет Eclipse?
LP>Нафиг мне сдался язык, про который слышали полтора человека, включая тебя?

Когда-то так было со всеми языками, это раз.

Он тебе может понадобиться, это два.

LP>Кстати, раз уже речь пошла о языке с зависимыми типами, хочу попросить местный народ объяснить, что же это такое. А то слишком много шума поднялось в последнее время вокруг них.


Тут рядом было, в верхних топиках.

T>>Вот типы функций и аргументов — это да. Остальное можно смело выкидывать.

LP>Во-первых не надо. Слишком это удобно, чтобы просто так отказываться.

Перевожу: ты делаешь много непродуктивной деятельности.

LP>Во-вторых, описание сигнатур методов занимают процентов 10 от объема исходников.


У меня под рукой оказались исходники из статьи первого выпуска http://fprog.ru

Они содержат процедуру сбалансированной вставки элемента в дерево.

Судя по ним, твои оценки справедливы только для Functional Java. Но, поскольку ты не пользуешься FJ (я в этом уверен, помня нашу дискуссию про оптимизации схем), я считаю, что ты преувеличиваешь в целях достижения победы в дискуссии.

LP>Учытывая, что эклипс может генерить их из самых различных ситуций (по quick fix, с помощью средств рефакторинга и т.д.), это очень полезная фича.


Ты уж извини меня, но "сигнатуры функций" не являются полезными строками кода.

Да, они занимают заметный объём кода, но они бесполезны. Их тебе проверит компилятор.

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

LP>>>Не нужно, если модуль-класс нормально спроектированы. И тем более не нужно, если есть документация — ее эклипс покажет по F2 или при наведении курсора мыши.
T>>Видишь — два "если".
T>>Значит — нужно.
LP>Ну-ну. На практике о том, что делает метод зачастую можно догадаться уже из названия.

"Зачастую" тоже означает, что нужно.
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Re[16]: Жизнь без IDE
От: z00n  
Дата: 27.10.09 18:21
Оценка: +1
Здравствуйте, LaPerouse, Вы писали:

LP>Для языков без поддержки IDE я рекомендую использовать прекрасный редактор с открытыми кодами Notepad++. Им реально можно пользоваться (в отличие от emacs/vim/etc).


Я под win регулярно использую Notepad++ для просмотра кода по правой кнопке — но редактировать в нем код? Вместо emacs?! У N++ даже поиск работает через зад; и aspell прикручивается через зад и шрифты скачут по ширине.
Если уж не emacs-vim — можно использовать Jedit(http://www.jedit.org) — он еще туда-сюда.
Re[17]: Жизнь без IDE
От: VoidEx  
Дата: 27.10.09 18:48
Оценка:
Здравствуйте, z00n, Вы писали:

Z>Я под win регулярно использую Notepad++ для просмотра кода по правой кнопке — но редактировать в нем код? Вместо emacs?! У N++ даже поиск работает через зад; и aspell прикручивается через зад и шрифты скачут по ширине.

Z>Если уж не emacs-vim — можно использовать Jedit(http://www.jedit.org) — он еще туда-сюда.

Я лично пишу в HippoEDIT, сравнить не могу, давно другое не использовал. Забиндил alt + B (cabal install в папке проекта), + H (HLint текущему файлу), + R (run в WinGHCi текущего файла), + C (HsColour текущему и в буфер обмена). Подсветка есть, больше мне ничего и не нужно
Re[14]: Жизнь без IDE
От: LaPerouse  
Дата: 27.10.09 19:05
Оценка:
Здравствуйте, thesz, Вы писали:

T>Здравствуйте, LaPerouse, Вы писали:


LP>>>>И при чем здесь эклипс? Он тебе чем-то мешает?

T>>>Да.
T>>>Мне надо уметь во время компиляции Java кода создавать некоторые классы и подтыкать их в проекты Эклипса.
T>>>Скажешь, как это делать проще, чем в GNU make, буду признателен — признаю свою неправоту.
LP>>Так возрадуйся — ANT и MAVEN тебя спасут. Я даже тебе могу сказать по шагам что надо сделать — оформить через External Tools свой скрипт, включить в опциях тула refresh и rebuild и все.

T>И это проще, чем добавление "каталог:\n\tchdir каталог\nmake all"?


T>В случае make у меня всё единообразно — есть список целей, есть способы их достижения. В случае Eclipse?..


Вот не понимаю я, при чем тут эклипс. nmake — утилита сборки, эклипс — среда разработки. Совершенно разные вещи. Я думал, что тебе тяжело сынтегрировать эклипс с nmake. А теперь я и не знаю, что думать

T>>>Ту же Agda2.

T>>>Как тебе поможет Eclipse?
LP>>Нафиг мне сдался язык, про который слышали полтора человека, включая тебя?
T>Когда-то так было со всеми языками, это раз.
T>Он тебе может понадобиться, это два.

У меня конечно хватило бы отмороженности задействовать его в проекте, если бы:
1. Я знал точно, что оно поможет
2. У нее была бы хорошая интеграция с java. Не просто интероп, но компилировалось бы в ява-байткод.
3. Хоть какая-то поддержка и комунити

LP>>Кстати, раз уже речь пошла о языке с зависимыми типами, хочу попросить местный народ объяснить, что же это такое. А то слишком много шума поднялось в последнее время вокруг них.


T>Тут рядом было, в верхних топиках.


Да, да уже смотрю.
Социализм — это власть трудящихся и централизованная плановая экономика.
Re[17]: Жизнь без IDE
От: LaPerouse  
Дата: 27.10.09 19:49
Оценка:
Здравствуйте, z00n, Вы писали:

Z>Здравствуйте, LaPerouse, Вы писали:


LP>>Для языков без поддержки IDE я рекомендую использовать прекрасный редактор с открытыми кодами Notepad++. Им реально можно пользоваться (в отличие от emacs/vim/etc).


Z>Я под win регулярно использую Notepad++ для просмотра кода по правой кнопке — но редактировать в нем код? Вместо emacs?! У N++ даже поиск работает через зад; и aspell прикручивается через зад и шрифты скачут по ширине.

Z>Если уж не emacs-vim — можно использовать Jedit(http://www.jedit.org) — он еще туда-сюда.

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

Положительные стороны:
1. Есть все привычные функции редактирования, и самое главное, они изначально сидят на привычных клавишах. Это и смещение выделенных кусков по Tab и Shift+Tab, и блочное выделение и многое другое
2. Легко добавляется новая подсветка, буквально за пять минут можно сделать новую
3. Есть встроенная консоль. Компилятор добавляется очень просто.
4. Есть вкладки и очень удобное переключение между ними
5. Есть очень удобная фича — выделение текущего слова под курсором определенным цветом по всему документу.
6. Есть поддержка UTF8
7. Очень шустрав работе

Из минусов — нет нормального скриптового интерфейса (как лисп в емаксе).

JEdit показался мне тяжеловатым. Я готов терпеть тормоза в обмен на функциональность, сравнимую с эклипсом, но обычный редактор должен быть быстрым.

В Emacs нужно иметь шесть пальцев на руке для нормальной работы. В Ecb по умолчанию для переключения между панелями нужно жать одновременно на 6 кнопок(!!!). Вим, чтобы избежать подобной судьбы, ввел два режима, но от этого стало только хуже. Получается, если я хочу выделить последнее набранное слово я должен переключать режим — это же ужас.
Социализм — это власть трудящихся и централизованная плановая экономика.
Re[18]: Жизнь без IDE
От: z00n  
Дата: 27.10.09 21:48
Оценка: 6 (1)
Здравствуйте, LaPerouse, Вы писали:

LP>Здравствуйте, z00n, Вы писали:


LP>Положительные стороны:

LP>1. Есть все привычные функции редактирования, и самое главное, они изначально сидят на привычных клавишах. Это и смещение выделенных кусков по Tab и Shift+Tab, и блочное выделение и многое другое

К сожалению нет многих "непривычных функций", например delete-indentation или align-regexp — а очень привыкаешь. Очень бедные возможности работать с клавиатуры — тут третьего не дано — либо аккорды — либо командный режим как в vim. Нет нормального undo!

LP>2. Легко добавляется новая подсветка, буквально за пять минут можно сделать новую

Такая как в N++ и в емакс добавляется за 5 минут. Вот целиком подсветка JavaFX:
(require 'generic-x)

(define-generic-mode
  'javafx-mode
  '("//" ("/*" . "*/"))
  '("abstract" "attribute" "bind" "break" ... 
  '(("%{\\([A-Z_]+\\)}" 1 font-lock-variable-name-face)
    ("\\b[0-9][0-9][0-9]\\b" . font-lock-constant-face))
  '(".fx\\'")
  nil
  "Major mode for JavaFX Script.")

(provide 'javafx-mode)

LP>3. Есть встроенная консоль. Компилятор добавляется очень просто.
bash
Process started >>>
ls
bash: line 1: $'ls\r': command not found
pwd
bash: line 2: $'pwd\r': command not found

Как по ошибкам из нее скакать?

LP>4. Есть вкладки и очень удобное переключение между ними

Ну-ну, в емаксе есть, наверное 20 способов переключаться между буферами.
LP>5. Есть очень удобная фича — выделение текущего слова под курсором определенным цветом по всему документу.
C-s C-w
LP>6. Есть поддержка UTF8
стандартно с 23 версии
LP>7. Очень шустрав работе
Емакс не медленнее — он дольше стартует, поэтому его можно запустить как сервер — и он будет быстрее N++.
win: emacsclientw
nix: emacs --daemon

Вообще у емакса всего один существенный недостаток — первые 2 недели непривычно

LP>Из минусов — нет нормального скриптового интерфейса (как лисп в емаксе).


LP>JEdit показался мне тяжеловатым. Я готов терпеть тормоза в обмен на функциональность, сравнимую с эклипсом, но обычный редактор должен быть быстрым.

Во основном, он медленно стартует, но как и емакс, его можно запустить сервером — зато у него практически работает консоль

LP>В Emacs нужно иметь шесть пальцев на руке для нормальной работы. В Ecb по умолчанию для переключения между панелями нужно жать одновременно на 6 кнопок(!!!). Вим, чтобы избежать подобной судьбы, ввел два режима, но от этого стало только хуже. Получается, если я хочу выделить последнее набранное слово я должен переключать режим — это же ужас.


У меня нет ни одной комбинации из 6 кнопок. И вообще в студии или идее комбинации ничем не лучше и их не меньше.
Re[15]: Жизнь без IDE
От: thesz Россия http://thesz.livejournal.com
Дата: 27.10.09 22:18
Оценка:
Здравствуйте, LaPerouse, Вы писали:

T>>И это проще, чем добавление "каталог:\n\tchdir каталог\nmake all"?

T>>В случае make у меня всё единообразно — есть список целей, есть способы их достижения. В случае Eclipse?..
LP>Вот не понимаю я, при чем тут эклипс. nmake — утилита сборки, эклипс — среда разработки. Совершенно разные вещи. Я думал, что тебе тяжело сынтегрировать эклипс с nmake. А теперь я и не знаю, что думать

Сборка — это часть разработки.

Кстати, влияющая на многие стороны разрабатываемого проекта.

И не nmake, а GNU make.

T>>>>Ту же Agda2.

T>>>>Как тебе поможет Eclipse?
LP>>>Нафиг мне сдался язык, про который слышали полтора человека, включая тебя?
T>>Когда-то так было со всеми языками, это раз.
T>>Он тебе может понадобиться, это два.
LP>У меня конечно хватило бы отмороженности задействовать его в проекте, если бы:
LP>1. Я знал точно, что оно поможет
LP>2. У нее была бы хорошая интеграция с java. Не просто интероп, но компилировалось бы в ява-байткод.
LP>3. Хоть какая-то поддержка и комунити

Вот скажи, ты .bat файлами пользуешься?

Если пользуешься, они компилируются в Java байт-код?

Так и здесь — на Agda2 ты можешь делать ответственные вещи. Из которых получаются Java классы. Которые ты используешь в других местах твоего проекта.
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Re[18]: Жизнь без IDE
От: thesz Россия http://thesz.livejournal.com
Дата: 27.10.09 22:27
Оценка: +1 :)
LP>Вим, чтобы избежать подобной судьбы, ввел два режима

Широта твоей неосведомлённости просто поражает.
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.