WolfHound wrote: > Может попробуешь поработать и ReSharper'ом? Иначе если ты не видил > ничего умнее IDE для С++ разговаривать с тобой о IDE не имеет смысла.
Еще можно порекомендовать IDEA для Java. Чтобы отпали все вопросы о том,
что в нормальной IDE должно быть.
> XC>В реалтайме проверять код ненужно, ИХМО это будет просто раздражать > (как минимум — тормозами). Идеальный вариант — кнопочка типа "ввести" по > которой файл/фрагмент кода будет преобразовываться в AST и при > необходимости указываться ошибки. > Нет никаких тормозов. Те вобще нет. > Всеравно у тебя процессов постоянно бездействует вот пусть и > подсвечивает ошибки в отдельном потоке с очень низким приоритетом.
Угу, особенно это круто на двухпроцессорных машинах. Там оно вообще
параллельно работает с набором кода без всяких тормозов. Я когда
попробовал — выпал в осадок.
Здравствуйте, Cyberax, Вы писали:
C>Угу, особенно это круто на двухпроцессорных машинах. Там оно вообще C>параллельно работает с набором кода без всяких тормозов. Я когда C>попробовал — выпал в осадок.
Идею не использовать но ReSharper и на одном процессоре совсем не тормозит. Разве что стартует очень долго. Что-то у них там с кешами.
С другой стороны часто ли IDE нужно запускать?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, x-code, Вы писали:
XC>к сожалению, для меня пока языки типа C# непреемлемы, т.к. разрабатываю системы реального времени.
А чем конкретно, если не секрет?
XC>А пока я невооруженным глазом (!) по скорости открывания меню и диалогов определяю, написан ли софт на Java, каком-либо managed-языке .NET, или под реальный процессор, пишу на C++. Хотя уже достало
Ну, про глаз ты загибаешь. На самом деле прекомпилированные ехе-шники нета ни чем по скорости не оличаются. То что ты можешь наблюдать скорее всего вызвано или медлительностью написанного на каком-нить GDI+ меню, или банальным процессом джит-компиляции который происходит всего лишь раз.
Хотя бесспорно отенет пока для реалтайм-задач не применим. Если конечно речь идет о настоящем жестком реальном времени.
Вот только не могу понять причем тут IDE? Ведь IDE точно не задача реального времени.
XC>AST-редактор для всего кода конечно же неудобен. Но, например, структуры и классы было-бы удобнее заполнять в виде таблиц, а не текста. Например, для полей данных минимальная таблица "доступ — тип — имя — значение по умолчанию — комментарий", для методов "доступ — тип — имя — раскрывающееся дерево с таблицей аргументов — комментарий".
Это сделать элементарно, но вряд ли это будет удобно.
XC>функции и методы, безусловно, удобнее в виде текста, но чтобы в одном окне ("отсеке" окна? здесь есть место для новых концепций UI) было тело одного метода, а в какой-то заголовочной части была таблица аргументов, аналогичная таблице структуры или класса.
Чего же тут новго? Это, простите за моветон, VB 1.0 или даже еще раньше... тот самый SqlWindows 93-его года выпуска.
XC>Речь идет просто об отказе от длинных "полотен" кода в котором свалены и классы и методы и все остальное.
Дык а чем хуже то длинное полотно, если по нему есть удобная навигация?
XC>Еще одна проблема — в программах нет связи с логикой предметной области.
У гого как.
XC> Я сейчас разрабатываю плагин для студии, чтобы добавить такую связь в простейшем варианте (по сути "иерархическая база букмарков с метаданными"). В C# эту область частично могут покрывать атрибуты. А то плоский список классов из нескольких сотен классов, в каждом из которых десятки методов и переменных, уже раздражает.
Велкам ту Немерле! В нем можно писать свои DSL-и (встроенные предметно-ориентированные языки), расширять синтаксис и реализовывать логику времени компиляции (например, для тех же атрибутов).
XC>Это как?
Вот так. В один момент правишь меотд — рассматриваешь его как сущность. А в другой момент оказывается удобным произвести поиск по коду всего проекта. Или скажем замену. При рефакторинге вообще неудобно в рамках одного метода сидеть.
XC>Если я работаю с методом, ни разу не нужно было выходить за его пределы. Если мне нужно перейти к другому методу — пользуюсь деревом классов (к сожалению, его тоже приходится прокручивать)
Для перехода внутри файла лучше использовать комбы над редактором. А если нужно перейти к некторорому методу вызваемому в данном месте, топроще нажать F12. Метаданные же по всему коду есть!
XC>А для проекта есть древовидное представление — дерево классов или то что будет вместо него на более высоких уровнях программирования. От него как раз никто и не предлагает отказываться.
Дык в один момент удобно на уровне классов по проекту полазить. А в другой на уровне файлов. Ведь один класс может лежать в 10 файлах, а нам может быть нужен конекретный.
XC>зачем так сделано? не вижу смысла. ради простой навигации по коду? поиск по файлам быстрее работает.
Смысл в том, что работать с файлом удобнее. Ты можешь быстро взять код из одного места и скопировать в другое. Переместить сразу 10 методов. В общем можешь работать с файлами, а не отдельными фукнциями. А когда надо нет проблем перейти к нужной фукнции и т.п.
VD>>К сожалению, тогда появится другая проблема. Дело в том, что очень сложно ввести сразу полностью корректный код. А такая IDE обязана будет отвергать некорректный ввод. В итоге программист попросту не сможет ввести код программы, или будет вынужден ужасно мучиться.
XC>В реалтайме проверять код ненужно, ИХМО это будет просто раздражать (как минимум — тормозами).
Процессоры довольно мощьны. Проверить код одной фукцнии не проблема.
XC> Идеальный вариант — кнопочка типа "ввести" по которой файл/фрагмент кода будет преобразовываться в AST и при необходимости указываться ошибки.
Привет тебе. При твоей схеме текста нет! Ты сразу вводишь АСТ! А стало быть ошибки не приемлемы. Более того, проблематичным будет даже ввести код в нужном порядке.
Когда же у нас первично текстовое представление, то проблем нет. Ведь текст (как бумага) стерпит все! Мы даже можем сохранить программу в некорректном состоянии, закрыть... потом открыть и продолжить редактирование. И это не вызовет проболем.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, WolfHound, Вы писали:
XC>>А пока я невооруженным глазом (!) по скорости открывания меню и диалогов определяю, написан ли софт на Java, каком-либо managed-языке .NET, или под реальный процессор, пишу на C++. Хотя уже достало WH>Жаба да. .NET извини не поверю.
А что Жаба? Ты ИДЕЮ видел? Многие кто ею пользовался утверждают, что она работает вполне быстро.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
VladD2 wrote: > C>Еще можно порекомендовать IDEA для Java. Чтобы отпали все вопросы о том, > C> что в *нормальной* IDE должно быть. > Вать машу... если так дальше пойдет кто же С++ то останется защищить?
Ну так я никогда и не утверждал, что для С++ есть нормальные IDE
Здравствуйте, VladD2, Вы писали:
VD>Вать машу... если так дальше пойдет кто же С++ то останется защищить?
C++ или IDE ?
C++ — защищать не стоит, он и сам за себя прекрасно постоит.
IDE — это как сказать. Но отмечу мимоходом, что у Visual Studio C++ и C# вообще-то одна и та же IDE . На .Net написанная.
Ну а что касается всяких фич IDE — это ИМХО на любителя. Кому-то нравится. что IDE на каждый его чих реагирует и подсказывает, что так и что не так (по ее мнению), кому-то — нет. Лично мне — как сказать. Я сейчас с Eclipse дело имею, там этого добра много. С одной стороны приятно, что он контролирует без того, чтобы нажимать F7 каждый раз, с другой — иногда он мне такое выдает, что и испугаться можно.
Оптимально решение ИМХО — такие возможности должны быть, но должны легко отключаться. И волки будут сыты, и овцы целы.
Это, кстати, не о IDE, а вообще о всех "интеллектуальных" средах — то есть любом ПО, которое "знает как надо". Пока его предположения о том, как надо, совпадают с моими — я рад им пользоваться. Но когда у меня появляется иное мнение "как надо" — я должен иметь возможность попросить его заткнуться и не мешать.
Pavel Dvorkin wrote: > Это, кстати, не о IDE, а вообще о всех "интеллектуальных" средах — то > есть любом ПО, которое "знает как надо". Пока его предположения о том, > как надо, совпадают с моими — я рад им пользоваться. Но когда у меня > появляется иное мнение "как надо" — я должен иметь возможность попросить > его заткнуться и не мешать.
Интересно, а в чем это должно выражаться? Например, я еще пока не нашел
в чем IDEA была когда-либо не права
Здравствуйте, Cyberax, Вы писали:
C>Pavel Dvorkin wrote: >> Это, кстати, не о IDE, а вообще о всех "интеллектуальных" средах — то >> есть любом ПО, которое "знает как надо". Пока его предположения о том, >> как надо, совпадают с моими — я рад им пользоваться. Но когда у меня >> появляется иное мнение "как надо" — я должен иметь возможность попросить >> его заткнуться и не мешать. C>Интересно, а в чем это должно выражаться? Например, я еще пока не нашел C>в чем IDEA была когда-либо не права
Нет, не то я имею в виду. По существу она права. Но , как известно, человек, который всегда прав, в конце концов начинает вызывать тихую ненависть окружающих . Здесь то же самое. Однажды переводил я программу с C на Паскаль. Работа формальная в основном, думать не надо. Я просто взял текст на C, вставил в редактор Delphi и начал редактировать. Периодически F7 нажимал, чтобы убедиться, что выше по тексту у меня ошибок нет. И все нормально было. Представляю себе, что было бы с интеллектуальной IDE в таком случае... . И со мной.
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>IDE — это как сказать. Но отмечу мимоходом, что у Visual Studio C++ и C# вообще-то одна и та же IDE . На .Net написанная.
Нет. Visual Studio написана на C++ и лишь с некоторыми .NET добавками. На насчет "одна и та же" — не совсем так, потому что речь шла о таких возможностях как автозаполнение, подсветка ошибок, автоматизированный рефакторинг и т.п. А это в существенно бОльшем объеме поддерживается для C#.
Pavel Dvorkin wrote: > Периодически F7 нажимал, чтобы убедиться, что выше по тексту у меня > ошибок нет. И все нормально было. Представляю себе, что было бы с > интеллектуальной IDE в таком случае... . И со мной.
Она бы все закрасила красным цветом Хотя ради такого случая просто
можно было бы отключить нафиг все фичи.
Здравствуйте, Pavel Dvorkin, Вы писали: PD>Нет, не то я имею в виду. По существу она права. Но , как известно, человек, который всегда прав, в конце концов начинает вызывать тихую ненависть окружающих . Здесь то же самое. Однажды переводил я программу с C на Паскаль. Работа формальная в основном, думать не надо. Я просто взял текст на C, вставил в редактор Delphi и начал редактировать. Периодически F7 нажимал, чтобы убедиться, что выше по тексту у меня ошибок нет. И все нормально было. Представляю себе, что было бы с интеллектуальной IDE в таком случае... . И со мной.
Боюсь, что ничего катастрофического. Delphi же не умер при Code Completion? А это почти то же самое — компиляция частично неправильного кода. Это как раз немереная крутизна текстового формата с интеллектуальным помощником за плечом. Вот если бы ты попробовал сделать такой трюк в Direct AST Editor, то ты бы встрял.
1.2.0 alpha rev. 655
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Sinclair, Вы писали:
S>Боюсь, что ничего катастрофического. Delphi же не умер при Code Completion? А это почти то же самое — компиляция частично неправильного кода. Это как раз немереная крутизна текстового формата с интеллектуальным помощником за плечом. Вот если бы ты попробовал сделать такой трюк в Direct AST Editor, то ты бы встрял.
Да нет, просто переташил бы AST, а дальше что там написалось — все само!
А можно для редакторов не компилировать неправильный код, пока дерево не заполнится, оно считается невалидным и в этап компиляции не включается, а когда уже все, то помечается специальной версией.
Здравствуйте, Pavel Dvorkin, Вы писали:
VD>>Вать машу... если так дальше пойдет кто же С++ то останется защищить?
PD>C++ или IDE ?
-----------------------------------
— Василий Иванович! Приборы!!!
— 42.
— Что, 42,
— А что приборы?
PD>C++ — защищать не стоит, он и сам за себя прекрасно постоит.
Он живой?
PD>IDE — это как сказать. Но отмечу мимоходом, что у Visual Studio C++ и C# вообще-то одна и та же IDE . На .Net написанная.
VS — это оболочка запускающая разные пакеты. А вот уже поддержка пакетов определяет качество поддержки языка. Создать качественную IDE для С++ не позволяют слабость современных процессоров и дизайн С++ не рассчитанный на это. Так что хорошая IDE есть только для соотвествющих языков.
PD>Ну а что касается всяких фич IDE — это ИМХО на любителя. Кому-то нравится. что IDE на каждый его чих реагирует и подсказывает, что так и что не так (по ее мнению), кому-то — нет. Лично мне — как сказать. Я сейчас с Eclipse дело имею, там этого добра много. С одной стороны приятно, что он контролирует без того, чтобы нажимать F7 каждый раз, с другой — иногда он мне такое выдает, что и испугаться можно.
Дык выброси С++ и будет выдавать все как часы. Насколько я знаю с Явой Эклипс работает стабильно.
PD>Оптимально решение ИМХО — такие возможности должны быть, но должны легко отключаться. И волки будут сыты, и овцы целы.
Не волки, а страперы. Они себе нопэд с подсветкой синтксиса (а то и без оной) и так за всегда найдут.
Эффективность программиста зависит от того исползует он качественную IDE или нет. А суждения о ее ненужности разводятся теми кто банльно имеет производительность ниже плинтуса и не имеет реального оптыа применения этих самых IDE.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Андрей Хропов, Вы писали:
АХ>Здравствуйте, Pavel Dvorkin, Вы писали:
PD>>IDE — это как сказать. Но отмечу мимоходом, что у Visual Studio C++ и C# вообще-то одна и та же IDE . На .Net написанная. АХ>Нет. Visual Studio написана на C++ и лишь с некоторыми .NET добавками. На насчет "одна и та же" — не совсем так, потому что речь шла о таких возможностях как автозаполнение, подсветка ошибок, автоматизированный рефакторинг и т.п. А это в существенно бОльшем объеме поддерживается для C#.
Я имел в виду только тот факт, что VS IDE есть .Net приложение. А на чем ее писали — естественно, я сказать не могу. Рефлектор, если захочешь, тебе и Delphi код ее покажет . Вполне допускаю, что там и unmanaged кода полно.
Здравствуйте, VladD2, Вы писали:
TBG>>Да нет, просто переташил бы AST, а дальше что там написалось — все само! VD>АСТ разных языков не совместимы. Или это уже один язык у которого заменили синтаксис скобой.
Да ладно? И чем же они не совместимы? Тем, что АСТ функции, класса имеют другой класс? По сути все одно и то же.