Re[7]: О закономерностях
От: Cyberax Марс  
Дата: 01.02.07 18:55
Оценка: +3
WolfHound wrote:
> Может попробуешь поработать и ReSharper'ом? Иначе если ты не видил
> ничего умнее IDE для С++ разговаривать с тобой о IDE не имеет смысла.
Еще можно порекомендовать IDEA для Java. Чтобы отпали все вопросы о том,
что в нормальной IDE должно быть.

> XC>В реалтайме проверять код ненужно, ИХМО это будет просто раздражать

> (как минимум — тормозами). Идеальный вариант — кнопочка типа "ввести" по
> которой файл/фрагмент кода будет преобразовываться в AST и при
> необходимости указываться ошибки.
> Нет никаких тормозов. Те вобще нет.
> Всеравно у тебя процессов постоянно бездействует вот пусть и
> подсвечивает ошибки в отдельном потоке с очень низким приоритетом.
Угу, особенно это круто на двухпроцессорных машинах. Там оно вообще
параллельно работает с набором кода без всяких тормозов. Я когда
попробовал — выпал в осадок.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[8]: О закономерностях
От: WolfHound  
Дата: 01.02.07 19:55
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Угу, особенно это круто на двухпроцессорных машинах. Там оно вообще

C>параллельно работает с набором кода без всяких тормозов. Я когда
C>попробовал — выпал в осадок.
Идею не использовать но ReSharper и на одном процессоре совсем не тормозит. Разве что стартует очень долго. Что-то у них там с кешами.
С другой стороны часто ли IDE нужно запускать?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[6]: О закономерностях
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.02.07 23:05
Оценка: +1
Здравствуйте, 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>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: О закономерностях
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.02.07 23:05
Оценка: +1
Здравствуйте, WolfHound, Вы писали:

XC>>А пока я невооруженным глазом (!) по скорости открывания меню и диалогов определяю, написан ли софт на Java, каком-либо managed-языке .NET, или под реальный процессор, пишу на C++. Хотя уже достало

WH>Жаба да. .NET извини не поверю.

А что Жаба? Ты ИДЕЮ видел? Многие кто ею пользовался утверждают, что она работает вполне быстро.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: О закономерностях
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.02.07 23:05
Оценка: :)
Здравствуйте, Cyberax, Вы писали:

C>Еще можно порекомендовать IDEA для Java. Чтобы отпали все вопросы о том,

C> что в нормальной IDE должно быть.

Вать машу... если так дальше пойдет кто же С++ то останется защищить?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: О закономерностях
От: Cyberax Марс  
Дата: 01.02.07 23:28
Оценка:
VladD2 wrote:
> C>Еще можно порекомендовать IDEA для Java. Чтобы отпали все вопросы о том,
> C> что в *нормальной* IDE должно быть.
> Вать машу... если так дальше пойдет кто же С++ то останется защищить?
Ну так я никогда и не утверждал, что для С++ есть нормальные IDE
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[9]: О закономерностях
От: Pavel Dvorkin Россия  
Дата: 02.02.07 13:25
Оценка: +2
Здравствуйте, VladD2, Вы писали:

VD>Вать машу... если так дальше пойдет кто же С++ то останется защищить?


C++ или IDE ?

C++ — защищать не стоит, он и сам за себя прекрасно постоит.

IDE — это как сказать. Но отмечу мимоходом, что у Visual Studio C++ и C# вообще-то одна и та же IDE . На .Net написанная.

Ну а что касается всяких фич IDE — это ИМХО на любителя. Кому-то нравится. что IDE на каждый его чих реагирует и подсказывает, что так и что не так (по ее мнению), кому-то — нет. Лично мне — как сказать. Я сейчас с Eclipse дело имею, там этого добра много. С одной стороны приятно, что он контролирует без того, чтобы нажимать F7 каждый раз, с другой — иногда он мне такое выдает, что и испугаться можно.

Оптимально решение ИМХО — такие возможности должны быть, но должны легко отключаться. И волки будут сыты, и овцы целы.

Это, кстати, не о IDE, а вообще о всех "интеллектуальных" средах — то есть любом ПО, которое "знает как надо". Пока его предположения о том, как надо, совпадают с моими — я рад им пользоваться. Но когда у меня появляется иное мнение "как надо" — я должен иметь возможность попросить его заткнуться и не мешать.
With best regards
Pavel Dvorkin
Re[10]: О закономерностях
От: Cyberax Марс  
Дата: 02.02.07 13:31
Оценка:
Pavel Dvorkin wrote:
> Это, кстати, не о IDE, а вообще о всех "интеллектуальных" средах — то
> есть любом ПО, которое "знает как надо". Пока его предположения о том,
> как надо, совпадают с моими — я рад им пользоваться. Но когда у меня
> появляется иное мнение "как надо" — я должен иметь возможность попросить
> его заткнуться и не мешать.
Интересно, а в чем это должно выражаться? Например, я еще пока не нашел
в чем IDEA была когда-либо не права
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[11]: О закономерностях
От: Pavel Dvorkin Россия  
Дата: 02.02.07 13:46
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Pavel Dvorkin wrote:

>> Это, кстати, не о IDE, а вообще о всех "интеллектуальных" средах — то
>> есть любом ПО, которое "знает как надо". Пока его предположения о том,
>> как надо, совпадают с моими — я рад им пользоваться. Но когда у меня
>> появляется иное мнение "как надо" — я должен иметь возможность попросить
>> его заткнуться и не мешать.
C>Интересно, а в чем это должно выражаться? Например, я еще пока не нашел
C>в чем IDEA была когда-либо не права

Нет, не то я имею в виду. По существу она права. Но , как известно, человек, который всегда прав, в конце концов начинает вызывать тихую ненависть окружающих . Здесь то же самое. Однажды переводил я программу с C на Паскаль. Работа формальная в основном, думать не надо. Я просто взял текст на C, вставил в редактор Delphi и начал редактировать. Периодически F7 нажимал, чтобы убедиться, что выше по тексту у меня ошибок нет. И все нормально было. Представляю себе, что было бы с интеллектуальной IDE в таком случае... . И со мной.
With best regards
Pavel Dvorkin
Re[10]: О закономерностях
От: Андрей Хропов Россия  
Дата: 02.02.07 13:49
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>IDE — это как сказать. Но отмечу мимоходом, что у Visual Studio C++ и C# вообще-то одна и та же IDE . На .Net написанная.

Нет. Visual Studio написана на C++ и лишь с некоторыми .NET добавками. На насчет "одна и та же" — не совсем так, потому что речь шла о таких возможностях как автозаполнение, подсветка ошибок, автоматизированный рефакторинг и т.п. А это в существенно бОльшем объеме поддерживается для C#.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[12]: О закономерностях
От: Cyberax Марс  
Дата: 02.02.07 13:55
Оценка:
Pavel Dvorkin wrote:
> Периодически F7 нажимал, чтобы убедиться, что выше по тексту у меня
> ошибок нет. И все нормально было. Представляю себе, что было бы с
> интеллектуальной IDE в таком случае... . И со мной.
Она бы все закрасила красным цветом Хотя ради такого случая просто
можно было бы отключить нафиг все фичи.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[12]: О закономерностях
От: Sinclair Россия https://github.com/evilguest/
Дата: 02.02.07 14:07
Оценка: +1
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Нет, не то я имею в виду. По существу она права. Но , как известно, человек, который всегда прав, в конце концов начинает вызывать тихую ненависть окружающих . Здесь то же самое. Однажды переводил я программу с C на Паскаль. Работа формальная в основном, думать не надо. Я просто взял текст на C, вставил в редактор Delphi и начал редактировать. Периодически F7 нажимал, чтобы убедиться, что выше по тексту у меня ошибок нет. И все нормально было. Представляю себе, что было бы с интеллектуальной IDE в таком случае... . И со мной.
Боюсь, что ничего катастрофического. Delphi же не умер при Code Completion? А это почти то же самое — компиляция частично неправильного кода. Это как раз немереная крутизна текстового формата с интеллектуальным помощником за плечом. Вот если бы ты попробовал сделать такой трюк в Direct AST Editor, то ты бы встрял.
1.2.0 alpha rev. 655
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[13]: О закономерностях
От: Turtle.BAZON.Group  
Дата: 02.02.07 17:35
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Боюсь, что ничего катастрофического. Delphi же не умер при Code Completion? А это почти то же самое — компиляция частично неправильного кода. Это как раз немереная крутизна текстового формата с интеллектуальным помощником за плечом. Вот если бы ты попробовал сделать такой трюк в Direct AST Editor, то ты бы встрял.


Да нет, просто переташил бы AST, а дальше что там написалось — все само!

А можно для редакторов не компилировать неправильный код, пока дерево не заполнится, оно считается невалидным и в этап компиляции не включается, а когда уже все, то помечается специальной версией.
... << RSDN@Home 1.2.0 alpha rev. 669>>
Re[10]: О закономерностях
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.02.07 19:07
Оценка:
Здравствуйте, 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>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: О закономерностях
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.02.07 22:57
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Интересно, а в чем это должно выражаться? Например, я еще пока не нашел

C>в чем IDEA была когда-либо не права

Да, ты молой еще. Жизни не знаешь. Вот открой в ИДЕЕ С++-файл! Вот ругани то будет! А почему собственно? Язык то круче!
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[14]: О закономерностях
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.02.07 22:57
Оценка: +2
Здравствуйте, Turtle.BAZON.Group, Вы писали:

TBG>Да нет, просто переташил бы AST, а дальше что там написалось — все само!


АСТ разных языков не совместимы. Или это уже один язык у которого заменили синтаксис скобой.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: О закономерностях
От: Pavel Dvorkin Россия  
Дата: 05.02.07 05:26
Оценка:
Здравствуйте, VladD2, Вы писали:

PD>>C++ — защищать не стоит, он и сам за себя прекрасно постоит.


VD>Он живой?


Он нас с тобой переживет
With best regards
Pavel Dvorkin
Re[11]: О закономерностях
От: Pavel Dvorkin Россия  
Дата: 05.02.07 05:28
Оценка:
Здравствуйте, Андрей Хропов, Вы писали:

АХ>Здравствуйте, Pavel Dvorkin, Вы писали:


PD>>IDE — это как сказать. Но отмечу мимоходом, что у Visual Studio C++ и C# вообще-то одна и та же IDE . На .Net написанная.

АХ>Нет. Visual Studio написана на C++ и лишь с некоторыми .NET добавками. На насчет "одна и та же" — не совсем так, потому что речь шла о таких возможностях как автозаполнение, подсветка ошибок, автоматизированный рефакторинг и т.п. А это в существенно бОльшем объеме поддерживается для C#.

Я имел в виду только тот факт, что VS IDE есть .Net приложение. А на чем ее писали — естественно, я сказать не могу. Рефлектор, если захочешь, тебе и Delphi код ее покажет . Вполне допускаю, что там и unmanaged кода полно.
With best regards
Pavel Dvorkin
Re[15]: О закономерностях
От: Turtle.BAZON.Group  
Дата: 05.02.07 05:36
Оценка:
Здравствуйте, VladD2, Вы писали:

TBG>>Да нет, просто переташил бы AST, а дальше что там написалось — все само!

VD>АСТ разных языков не совместимы. Или это уже один язык у которого заменили синтаксис скобой.

Да ладно? И чем же они не совместимы? Тем, что АСТ функции, класса имеют другой класс? По сути все одно и то же.
... << RSDN@Home 1.2.0 alpha rev. 669>>
Re[12]: О закономерностях
От: Андрей Хропов Россия  
Дата: 05.02.07 09:47
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Вполне допускаю, что там и unmanaged кода полно.

Точно оценить сложно, но, я думаю, процентов 80%.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.