Жизнь без IDE
От: D. Mon Великобритания http://thedeemon.livejournal.com
Дата: 27.09.09 12:58
Оценка: +2
Здравствуйте, vshabanov, Вы писали:

V>* killer feature -- показывает типы отдельных частей выражения (надо компилить с опцией -dtypes), очень удобно при поиске ошибок (можно посмотреть код вокруг ошибки и понять где типы раходятся) и при разбирании в коде.


В OcaIDE это тоже есть.

V>Замечу, что никакой class browser, autocomplete с анализом кода (типа выдать методы после точки) не нужны и не используются.


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

V>Знаю нескольких человек, пишущих на Хаскеле в FAR-е, и по своей производительности они сделают любого программиста, сидящего в навороченной IDE.


V>Кстати, очень неплохой тест для языка -- если для работы на языке нужна IDE, значит в языке есть рутинная работа, которую надо автоматизировать, значит надо думать не об IDE, а о смене языка.


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

27.09.09 18:33: Ветка выделена из темы IDE для ФЯ
Автор: VladD2
Дата: 26.09.09
— VladD2
Re: Жизнь без IDE
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.09.09 14:16
Оценка:
Здравствуйте, D. Mon, Вы писали:

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


Кстати, я бы с огромным удовольствием послушал бы тех кто считает, что IDE с разными автодополнениями не нужны как класс. Интересно как у них построен процесс разработки? Как они получают информацию о внешних типах и функциях которые нужно вызвать? И так далее. То ест как протекает процесс кодирования (ну, и разработки в целом) и отладки без использования поддержки IDE.

Мне периодически приходится писать писать код без поддержки IDE. Не скажу, что это очень трудно. Но определенный дискомфорт испытываю. Помогает отладчик. Когда в отладчике видишь структуру данных, то конечно проще написать несколько строк кода, но потом без многократных итераций "компиляция <-> правка" не обходится. Если же код пишется в IDE, то компиляция в большинстве случаев проходит с первого раза, да и отладка требуется реже.
Недавно переписывал части кода в интеграции немерла и был момент когда в IDE не было части функций. Например, не работали хинты к методам. При этом можно было бы смотреть типы выражений (в том числе и типов... то что тут назвали "мегафичей"), но вот списка перегрузок (описания параметров для каждой из перегрузок) получить было нельзя. Так вот даже это уже замедлило работу в несколько раз, так как пришлось лазить и выяснять описания типов для каждого метода. Эта проблема не так актуальна в языках основанных на алгоритме хиндли-миллера, так так полноценной перегрузки в них нет (не считая расширений вроде классов типов), но все же и в них приходится лазить по модулям и выяснять описания функций. А это время и нервы которые лучше потратить на разработку и отладку алгоритмов.
Когда я слышу про отладку... что мол она не нужна, то тоже как-то смешно становится. Мне не понятно как можно разбираться с чужим, объемистым, кодом в условиях когда нет ни отладчика, ни даже полной информации о типах. Ну, а в таких языках как Haskell и F# где есть или намеки на перегрузку (классы типов) или почти полноценная перегрузка (как F#) отладка, на мой взгляд вообще необходима.

Посему послушать моснстров которым "все эти баловства" (с) не нужны, было бы очень интересно.
Так что если кто-то может поделиться, то не стесняйтесь. Это очень интересно!
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Жизнь без IDE
От: vshabanov http://vshabanov-ru.blogspot.com
Дата: 27.09.09 14:51
Оценка:
Здравствуйте, D. Mon, Вы писали:

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


V>>* killer feature -- показывает типы отдельных частей выражения (надо компилить с опцией -dtypes), очень удобно при поиске ошибок (можно посмотреть код вокруг ошибки и понять где типы раходятся) и при разбирании в коде.


DM>В OcaIDE это тоже есть.


Только вот кроме окемла там мало что поредактируешь, изучать еще одну IDE для одного-то языка не очень охота.

V>>Замечу, что никакой class browser, autocomplete с анализом кода (типа выдать методы после точки) не нужны и не используются.


DM>Удивительно! Для меня такой автокомплит стал наоборот очень большой подмогой, скорость и удобство разработки возросла очень сильно по сравнению с обычным редактором с подсветкой.


Я как-то пробовал окемл с автокомплитом (только вроде это был не OcaIDE, а какой-то режим для eclipse). В принципе в меру удобно, но кроме этого автокомплита там была еще система проектов, вместо Makefile, ну и еще всякие привычные вещи из emacs отсутсвовали. В общем я посчитал, что не стоит оно того, чтобы изучать другую IDE.

V>>Знаю нескольких человек, пишущих на Хаскеле в FAR-е, и по своей производительности они сделают любого программиста, сидящего в навороченной IDE.


V>>Кстати, очень неплохой тест для языка -- если для работы на языке нужна IDE, значит в языке есть рутинная работа, которую надо автоматизировать, значит надо думать не об IDE, а о смене языка.


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


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

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

Про ненужность IDE. Действительно у окемла IDE уровня VS нет. Да и отладчик там под виндой как-то непросто заставить работать. В начале я тоже как-то думал "а где бы мне IDE нормальную надыбать". Но в итоге я теперь и для C++/Java кода никакой IDE и отладчиком не пользуюсь. Стиль разработки сменился.
Re[2]: Жизнь без IDE
От: samius Япония http://sams-tricks.blogspot.com
Дата: 27.09.09 15:02
Оценка: +1
Здравствуйте, VladD2, Вы писали:

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

Хиндли — Милнера
Re[2]: Жизнь без IDE
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 27.09.09 15:03
Оценка:
Я пишу в на Яве в Эклипсе, Шарпе в Студии и Немерле в Виме. В целом, эффективность ввода текста в Виме полностью компенсирует необходимость чаще переключаться на окно со справкой. С автодополнением было бы лучше, но всё как-то лень его прикрутить.
Ce n'est que pour vous dire ce que je vous dis.
Re[3]: Жизнь без IDE
От: Cyberax Марс  
Дата: 27.09.09 15:07
Оценка: +1
Здравствуйте, Don Reba, Вы писали:

DR>Я пишу в на Яве в Эклипсе, Шарпе в Студии и Немерле в Виме. В целом, эффективность ввода текста в Виме полностью компенсирует необходимость чаще переключаться на окно со справкой. С автодополнением было бы лучше, но всё как-то лень его прикрутить.

Это лишь означает, что ты не умеешь пользоваться IDE.
Sapienti sat!
Re[4]: Жизнь без IDE
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 27.09.09 15:08
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Это лишь означает, что ты не умеешь пользоваться IDE.


Обоснуй.
Ce n'est que pour vous dire ce que je vous dis.
Re[3]: Жизнь без IDE
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.09.09 15:09
Оценка:
Здравствуйте, samius, Вы писали:

S>Хиндли — Милнера


Это не важно. Да и звучит прикольнее .
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Жизнь без IDE
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.09.09 15:11
Оценка:
Здравствуйте, Cyberax, Вы писали:

DR>>Я пишу в на Яве в Эклипсе, Шарпе в Студии и Немерле в Виме. В целом, эффективность ввода текста в Виме полностью компенсирует необходимость чаще переключаться на окно со справкой. С автодополнением было бы лучше, но всё как-то лень его прикрутить.

C>Это лишь означает, что ты не умеешь пользоваться IDE.

Я тоже так считаю, но ОЧЕНЬ хотел бы услышать развернутую аргументацию от тех кто так не считает. Жаль, что все заканчивается на пустых декларациях.

Народ! Поделитесь, плиз!
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Жизнь без IDE
От: Cyberax Марс  
Дата: 27.09.09 15:15
Оценка:
Здравствуйте, Don Reba, Вы писали:

C>>Это лишь означает, что ты не умеешь пользоваться IDE.

DR>Обоснуй.
В ViM'е нет: онлайновой подсветки ошибок и вывод результатов инспекций, рефакторинг, отладка, банальный переход по типу.

А сказки про "скорость ввода" не надо мне рассказывать. Я уже не помню чего в ViMе было бы, чего нет в той же IDEA. Там есть и прямоугольные выделения, и кольцо буфферов обмена, закладки, возможность повторять N последних действий.
Sapienti sat!
Re[5]: Жизнь без IDE
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.09.09 15:19
Оценка: +1
Здравствуйте, Don Reba, Вы писали:

C>>Это лишь означает, что ты не умеешь пользоваться IDE.


DR>Обоснуй.


Мне кажется, обосновывать нужно как раз заявление о бесполезности IDE.
Их преимущества очевидны. Это возможность постоянно видеть инфрмацию о типах которая без этого была бы доступна только после компиляции (которая может занимать минуты и даже часы). Если в динамических языках информацию о типах можно получать и динамически и менять код (тоже динамически). Это возможность быстро переключаться между частями проекта. Когда проект большой — это дорогого стоит. Это возможность моментально выявлять ошибки и практически не допускать их. Это возможность быстро, без ошибочно и просто менять проект (делать сложный рефакторинг). Это возможность не лазить в хэлп по каждому поводу. К тому же в статически-ипизированном языке не всегда ясно в какой хэлп лезть. Ведь тип варжения может быть не очевиден если нет IDE. Ни конечно же отладка... Разбираться в чудом (и тем более, плохо написанном) проекте не просто без отладчика. Да и в своем иной раз разобраться не просто.

В общем, преимущества как раз очевидны.

Лучше расскажи как же люди умудряются жить без IDE и при этом иметь достойную производительность труда?
И часть про волшебные свойства ФП можно пропустить, так как не ФЯ тут даже не рассматриваются.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Жизнь без IDE
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 27.09.09 15:22
Оценка:
Здравствуйте, VladD2, Вы писали:


VD>Я тоже так считаю, но ОЧЕНЬ хотел бы услышать развернутую аргументацию от тех кто так не считает. Жаль, что все заканчивается на пустых декларациях.


Заглядывать в справку требуется только изредко. Как это действие не ускоряй, его влияние на производительность ограничено. Мой опыт говорит, что оно и не велико.
Ce n'est que pour vous dire ce que je vous dis.
Re[2]: Жизнь без IDE
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.09.09 15:25
Оценка:
Здравствуйте, vshabanov, Вы писали:

V>Про ненужность IDE. Действительно у окемла IDE уровня VS нет. Да и отладчик там под виндой как-то непросто заставить работать. В начале я тоже как-то думал "а где бы мне IDE нормальную надыбать". Но в итоге я теперь и для C++/Java кода никакой IDE и отладчиком не пользуюсь. Стиль разработки сменился.


Ну, так и расскажи нам про этот стиль.
Я вот иногда вынужден писать оноситльно большие куски кода без IDE (в расширенном смысле этого слова) и испытываю дикий дискомфорт. То что я мог бы сделать за 5 минут в IDE требует десятков минут, а то и часов когда делаешь это "вручную".
Дико интересно как народ умудряется без этого всего обходиться. Причем не заявления, а именно рассказ...
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Жизнь без IDE
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 27.09.09 15:41
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>В ViM'е нет: онлайновой подсветки ошибок и вывод результатов инспекций, рефакторинг, отладка, банальный переход по типу.


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

C>А сказки про "скорость ввода" не надо мне рассказывать. Я уже не помню чего в ViMе было бы, чего нет в той же IDEA. Там есть и прямоугольные выделения, и кольцо буфферов обмена, закладки, возможность повторять N последних действий.


В IDEA появилась поддержка Немерле? При чём он тут?
Вим это не пара фич которые достаточно иметь, чтобы быстро печатать. То, что ты его плохо помнишь не повод заявлять, что я не умею пользоваться IDE.
Ce n'est que pour vous dire ce que je vous dis.
Re[2]: Жизнь без IDE
От: FR  
Дата: 27.09.09 15:45
Оценка: +1
Здравствуйте, vshabanov, Вы писали:

V>Я как-то пробовал окемл с автокомплитом (только вроде это был не OcaIDE, а какой-то режим для eclipse). В принципе в меру удобно, но кроме этого автокомплита там была еще система проектов, вместо Makefile, ну и еще всякие привычные вещи из emacs отсутсвовали. В общем я посчитал, что не стоит оно того, чтобы изучать другую IDE.


OcaIDE это и есть плагин для эсклипса
Он нормально подерживает Makefile.
Правда вроде есть еще один камловский плагин для eclipse, он вроде чуть уступает OcaIDE.

V>Про ненужность IDE. Действительно у окемла IDE уровня VS нет. Да и отладчик там под виндой как-то непросто заставить работать. В начале я тоже как-то думал "а где бы мне IDE нормальную надыбать". Но в итоге я теперь и для C++/Java кода никакой IDE и отладчиком не пользуюсь. Стиль разработки сменился.


OcaIDE в общем-то вполне на уровне VS.
Под win если использовать mingw вариант OCaml все настраивается и графический отладчик и сборка через make.
Re[2]: Жизнь без IDE
От: FR  
Дата: 27.09.09 15:53
Оценка: +2
Здравствуйте, VladD2, Вы писали:

VD>Кстати, я бы с огромным удовольствием послушал бы тех кто считает, что IDE с разными автодополнениями не нужны как класс. Интересно как у них построен процесс разработки? Как они получают информацию о внешних типах и функциях которые нужно вызвать? И так далее. То ест как протекает процесс кодирования (ну, и разработки в целом) и отладки без использования поддержки IDE.


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

VD>Мне периодически приходится писать писать код без поддержки IDE. Не скажу, что это очень трудно. Но определенный дискомфорт испытываю. Помогает отладчик. Когда в отладчике видишь структуру данных, то конечно проще написать несколько строк кода, но потом без многократных итераций "компиляция <-> правка" не обходится. Если же код пишется в IDE, то компиляция в большинстве случаев проходит с первого раза, да и отладка требуется реже.


У меня наоборот без IDE отладка меньше и легче.
И я обычно и запускаю IDE когда нужен отладчик

Вот разбираться в чужом коде, и в процессе изучения нового языка, да IDE здорово помогает.
Re[7]: Жизнь без IDE
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.09.09 16:04
Оценка:
Здравствуйте, Don Reba, Вы писали:

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


Это как? А чем же я тогда пользуюсь?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Жизнь без IDE
От: Cyberax Марс  
Дата: 27.09.09 16:32
Оценка:
Здравствуйте, Don Reba, Вы писали:

C>>А сказки про "скорость ввода" не надо мне рассказывать. Я уже не помню чего в ViMе было бы, чего нет в той же IDEA. Там есть и прямоугольные выделения, и кольцо буфферов обмена, закладки, возможность повторять N последних действий.

DR>В IDEA появилась поддержка Немерле? При чём он тут?
Я говорил про IDE вообще. Всё перечисленное есть для Scala.

DR>Вим это не пара фич которые достаточно иметь, чтобы быстро печатать. То, что ты его плохо помнишь не повод заявлять, что я не умею пользоваться IDE.

Ну я как бы пользовался ViM'ом. Не помню я чего там такого есть замечательного.
Sapienti sat!
Re[2]: Жизнь без IDE
От: VoidEx  
Дата: 27.09.09 16:37
Оценка:
Здравствуйте, VladD2, Вы писали:

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

Я так не считаю, но напишу.

VD>Интересно как у них построен процесс разработки? Как они получают информацию о внешних типах и функциях которые нужно вызвать? И так далее. То ест как протекает процесс кодирования (ну, и разработки в целом) и отладки без использования поддержки IDE.

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

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

Мне помогает REPL, и отсутствие оного в C++/C#/F# очень напрягает.

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

Лазить не приходится, модули обычно небольшие, в одно окно браузера умещаются. Хинты были бы полезны, если бы не одно но, нужно уже знать, что где-то какая-то функция нужная есть, а где именно — ты не помнишь, вот тогда да. Было бы полезно иметь хинты с возможностью поиска и встроенной доки (hayoo + hoogle, например), а ещё чтобы можно было модуль скачать; с этим прекрасно справляется обычный браузер, резкого улучшения производительности, скорее всего, не будет; но leskah я, может, и поставил бы, когда его допилят, но именно из-за hayoo + hoogle.

VD>Когда я слышу про отладку... что мол она не нужна, то тоже как-то смешно становится.

А ты не смейся, и правда не нужна. Т.е. как без нее жить в C++/C#/... я и сам не представляю, а в Хаскеле мне не была нужна ни разу.
VD>Мне не понятно как можно разбираться с чужим, объемистым, кодом в условиях когда нет ни отладчика, ни даже полной информации о типах.
Ну почему ж нет, документации достаточно, а благодаря чистоте, функции и модули часто изолированны настолько, что можно исправлять, не боясь задеть что-то ещё.

VD>Ну, а в таких языках как Haskell и F# где есть или намеки на перегрузку (классы типов) или почти полноценная перегрузка (как F#) отладка, на мой взгляд вообще необходима.

Зачем отладка? Как наличие перегрузки (классов типов) влияет на необходимость отладки?

VD>Посему послушать моснстров которым "все эти баловства" (с) не нужны, было бы очень интересно.

Я не монстр, и сам с трудом представляю написание кода в C++ без IDE. Да и без ассиста геморройно, но вот как-то так получается, что в Хаскеле с этим проблем нет.
Re[8]: Жизнь без IDE
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 27.09.09 16:37
Оценка:
Здравствуйте, VladD2, Вы писали:

DR>>Онлайновой подвсетки ошибок и рефакторинга для Немерле вообще нигде нет.


VD>Это как? А чем же я тогда пользуюсь?


Уже есть? Это большой плюс. Интересно, какие возможности рефакторинга реализованы?
Ce n'est que pour vous dire ce que je vous dis.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.