Здравствуйте, Ночной Смотрящий, Вы писали:
RO>>А вот здесь толку от нее не так и много. Умная IDE подчеркнет опечатку в идентификаторе, но логическую ошибку всё равно не заметит.
НС>Ты сильно заблуждаешься насчет возможностей современных IDE под современный ЯП. Они умеют отслеживать очень большой класс ошибок, далеко не только опечатки в идентификаторе.
Речь шла, помнится, о C++, где IDE отнюдь не легко пробраться через шаблонные дебри. В каком-нибудь Пайтоне тоже не очень-то получится, например, отрефакторить something.xyzzy в something.plugh, если где-то встречается getattr(something, "xyz" + "zy"). Или ты о Джаве, где нет метапрограммирования и IDE подсвечивают ошибки вплоть до несоответствия спецификаций исключений?
Одному вот современные средства порекомендовали убрать «MD_Update(&m,buf,j);», помнишь, чем кончилось? Голову, конечно, тоже надо иногда применять, но от логических ошибок IDE всё равно не спасет. От некоторых спасет, конечно, но и выигрыш по времени не так и велик (а то и меньше нуля) по сравнению с использованием чудо-редактора типа vi.
Здравствуйте, landerhigh, Вы писали:
XC>>а вот если приходится иметь дело с сотнями мегабайт страшного, goto-ориентированного кода, какой вам и в кошмарах не снился:) то только IDE
L>Ну-ка, ну-ка, и что же такого полезного может делать в таком случае IDE? (кроме как мешать работать :) )
Надо полагать, что-нибудь вроде перехода к объявлению идентификатора, подсветки всех использований оного (исключая не имеющих отношения к делу однофамильцев), интерактивного дебаггера (чтобы посмотреть, кто кого вызывает) и т. п. В коде указанного качества наверняка кучи однобуквенных идентификаторов, текстовый редактор с этим не справится.
Здравствуйте, landerhigh, Вы писали:
XC>>а вот если приходится иметь дело с сотнями мегабайт страшного, goto-ориентированного кода, какой вам и в кошмарах не снился то только IDE
L>Ну-ка, ну-ка, и что же такого полезного может делать в таком случае IDE? (кроме как мешать работать )
Например поможет сделать рефакторинг, гарантирует навигацию, поможет покрыть это дело тестами и тд и тд.
Здравствуйте, alexeiz, Вы писали:
A>Здравствуйте, Ikemefula, Вы писали:
I>>Это ты сильно не прав. Дизайнеры, визарды и всякие специальные редакторы экономят вагоны времени отладки. Рефакторинг экономит еще больше.
A>Как-то мне никогда не нужно было полагаться на визарды и дизайнеры. Обычно это либо клепка UI (дизайнеры)
Эту клёпку выполняет инструмент, т.к. программист не способен в принципе выполнть такую работу правильно.
Я сколько ни смотрел проектов, где UI делаетя руками, всегда одно и то же — косяк на косяке.
>или там где сам язык кривоват или интерфейс библиотеки не позволяет использовать ее эффективно (визарды). В майкрософте, кстате, любят этим развлекаться. Сделают какую нибудь библиотеку, которую невозможно использовать, а потом визардов к ней прикручивают.
Визарды нужны в любом языке.
A>Кстати в расширяемых редакторах (vi, emacs) можно своих (маленьких) визардов понаписать если сильно захочется с помощью скриптов. А вот в IDE свой визард так просто не добавишь.
Маленькие не нужны. Нужны серьезные инструменты. Их разработкой занимаются целые конторы.
Здравствуйте, Roman Odaisky, Вы писали:
RO>Здравствуйте, Ночной Смотрящий, Вы писали:
RO>>>А вот здесь толку от нее не так и много. Умная IDE подчеркнет опечатку в идентификаторе, но логическую ошибку всё равно не заметит.
НС>>Ты сильно заблуждаешься насчет возможностей современных IDE под современный ЯП. Они умеют отслеживать очень большой класс ошибок, далеко не только опечатки в идентификаторе.
RO>Речь шла, помнится, о C++, где IDE отнюдь не легко пробраться через шаблонные дебри.
В С++ да, очень сложно продраться через шаблоны и макросы. потому там и нет развитого инструментария.
>В каком-нибудь Пайтоне тоже не очень-то получится, например, отрефакторить something.xyzzy в something.plugh, если где-то встречается getattr(something, "xyz" + "zy").
Такое нигде нельзя отрефакторить. Но в питоне том же динамическая типизация и именно это создаёт проблемы.
RO>Одному вот современные средства порекомендовали убрать «MD_Update(&m,buf,j);», помнишь, чем кончилось? Голову, конечно, тоже надо иногда применять, но от логических ошибок IDE всё равно не спасет.
И что с того ? Набор кода это занятиен не самое важное, а вот по расходу времени получается ровно наоборот.
Потому и нужен хороший инструмент. что бы неприоритетная задача не расходовала основное время.
Здравствуйте, Ikemefula, Вы писали:
A>>Как-то мне никогда не нужно было полагаться на визарды и дизайнеры. Обычно это либо клепка UI (дизайнеры) I>Эту клёпку выполняет инструмент, т.к. программист не способен в принципе выполнть такую работу правильно. I>Я сколько ни смотрел проектов, где UI делаетя руками, всегда одно и то же — косяк на косяке.
HTML.
Насчет IDE, никто не мешает вызывать тот же Qt Designer отдельно. Я так и делал, вполне удобно.
I>Визарды нужны в любом языке.
И что за визарды нужны в каком-нибудь PHP или Python/Django?
Здравствуйте, Ikemefula, Вы писали:
I>Здравствуйте, alexeiz, Вы писали:
A>>Здравствуйте, Ikemefula, Вы писали:
I>>>Это ты сильно не прав. Дизайнеры, визарды и всякие специальные редакторы экономят вагоны времени отладки. Рефакторинг экономит еще больше.
A>>Как-то мне никогда не нужно было полагаться на визарды и дизайнеры. Обычно это либо клепка UI (дизайнеры)
I>Эту клёпку выполняет инструмент, т.к. программист не способен в принципе выполнть такую работу правильно.
I>Я сколько ни смотрел проектов, где UI делаетя руками, всегда одно и то же — косяк на косяке.
Ты видел UI в таких продуктах как Windows Media Center, Zune, Zune HD (on the device)? Там UI сделан не дизайнерами (инструментом; конечно, дизайнеры-люди туда руки приложили). Когда layout engine достаточно умный, и UI можно эффективно описать на этом layout языке, дизайнеры не особенно нужны (а для упомянутого engine их вообще нет).
>>или там где сам язык кривоват или интерфейс библиотеки не позволяет использовать ее эффективно (визарды). В майкрософте, кстате, любят этим развлекаться. Сделают какую нибудь библиотеку, которую невозможно использовать, а потом визардов к ней прикручивают.
I>Визарды нужны в любом языке.
Визарды же что делают? Они описывают некий интерфейс, абстракцию к языку или библиотеке, которую сам язык (или библиотека) описать не в состоянии. Значит язык (или библиотека) кривоваты в смысле того, что удобный интерфейс к ним приходится описывать извне.
A>>Кстати в расширяемых редакторах (vi, emacs) можно своих (маленьких) визардов понаписать если сильно захочется с помощью скриптов. А вот в IDE свой визард так просто не добавишь.
I>Маленькие не нужны. Нужны серьезные инструменты. Их разработкой занимаются целые конторы.
То что вокруг IDE существует ниша бизнеса, я не отрицаю. Кто-то делает визарды, а кто-то себя руками и ногами к этим визардам привязывает. Мне только кажется, что такой спопоб разработки неоптимален.
Здравствуйте, Mamut, Вы писали:
RO>>И что за визарды нужны в каком-нибудь PHP или Python/Django? M>В джанго есть первоначальный визард на создание скелета приложения.
Какой же это визард, если он ни одного вопроса не задает? С тем же успехом можно было бы cp -r /usr/share/doc/python-django/examples/sample-app mysuperapp, разве что django-admin еще ключ генерирует.
RO>>>И что за визарды нужны в каком-нибудь PHP или Python/Django? M>>В джанго есть первоначальный визард на создание скелета приложения.
RO>Какой же это визард, если он ни одного вопроса не задает? С тем же успехом можно было бы cp -r /usr/share/doc/python-django/examples/sample-app mysuperapp, разве что django-admin еще ключ генерирует.
Не, он спрашивает название приложения, предлагает создать юзера в базе, заполняет базу. Это в самом начале если. Все нормально — кошерный визард
Здравствуйте, Roman Odaisky, Вы писали:
XC>>>а вот если приходится иметь дело с сотнями мегабайт страшного, goto-ориентированного кода, какой вам и в кошмарах не снился то только IDE
L>>Ну-ка, ну-ка, и что же такого полезного может делать в таком случае IDE? (кроме как мешать работать )
RO>Надо полагать, что-нибудь вроде перехода к объявлению идентификатора, подсветки всех использований оного (исключая не имеющих отношения к делу однофамильцев), интерактивного дебаггера (чтобы посмотреть, кто кого вызывает) и т. п. В коде указанного качества наверняка кучи однобуквенных идентификаторов, текстовый редактор с этим не справится.
IDE, подразумеваемая тут по умолчанию, при встрече "проекта", подходящего под выделенные выше параметры, хорошо умеет при "переходе к объявлению идентификатора" переходить куда угодно, но не к его объявлению (хорошо еще, если прсто к однофамильцу), а то и вместо перехода просто выдавать очень информативный модальный мессаджбокс с одной кнопкой "ОК", от интерактивного дебаггера при работе с сетевым сервисом (например) толку все равно оказывается чуть меньше, чем никакого и так далее. Ах, да, IntelliSense умеет красиво падать и уводить с собой остальную IDE. Еще он умеет зависать так, что студию приходится отстреливать.
Здравствуйте, landerhigh, Вы писали:
L>Здравствуйте, Roman Odaisky, Вы писали:
XC>>>>а вот если приходится иметь дело с сотнями мегабайт страшного, goto-ориентированного кода, какой вам и в кошмарах не снился то только IDE
L>>>Ну-ка, ну-ка, и что же такого полезного может делать в таком случае IDE? (кроме как мешать работать )
RO>>Надо полагать, что-нибудь вроде перехода к объявлению идентификатора, подсветки всех использований оного (исключая не имеющих отношения к делу однофамильцев), интерактивного дебаггера (чтобы посмотреть, кто кого вызывает) и т. п. В коде указанного качества наверняка кучи однобуквенных идентификаторов, текстовый редактор с этим не справится.
L>IDE, подразумеваемая тут по умолчанию, при встрече "проекта", подходящего под выделенные выше параметры, хорошо умеет при "переходе к объявлению идентификатора" переходить куда угодно, но не к его объявлению (хорошо еще, если прсто к однофамильцу), а то и вместо перехода просто выдавать очень информативный модальный мессаджбокс с одной кнопкой "ОК", от интерактивного дебаггера при работе с сетевым сервисом (например) толку все равно оказывается чуть меньше, чем никакого и так далее. Ах, да, IntelliSense умеет красиво падать и уводить с собой остальную IDE. Еще он умеет зависать так, что студию приходится отстреливать.
Ты какие-то чудеса рассказываешь. Никогда с таким не сталкивался.
Здравствуйте, anton_t, Вы писали:
_>Здравствуйте, landerhigh, Вы писали:
L>>Здравствуйте, Roman Odaisky, Вы писали:
XC>>>>>а вот если приходится иметь дело с сотнями мегабайт страшного, goto-ориентированного кода, какой вам и в кошмарах не снился то только IDE
_>Ты какие-то чудеса рассказываешь. Никогда с таким не сталкивался.
Что, большинство расставляющих тут пальцы сами никогда с выделенным не сталкивались? Тоже мне секрет
Здравствуйте, alexeiz, Вы писали:
A>Ты видел UI в таких продуктах как Windows Media Center, Zune, Zune HD (on the device)? Там UI сделан не дизайнерами (инструментом; конечно, дизайнеры-люди туда руки приложили).
Там UI почти нет.
A>Когда layout engine достаточно умный, и UI можно эффективно описать на этом layout языке, дизайнеры не особенно нужны (а для упомянутого engine их вообще нет).
Ага, вероятно layut вложит в программиста знание того, как пользователю удобно пользоваться.
Самый лучший layout не избавляет необходимости от сепециалиста по UI и юзабилити.
Кнопку может расположить и программист, задать поведение — он же, а вот то, нужна ли эта кнопка, нужны ли еще какие кнопки из за неё, или еще какой то функционал, как это должно выглядеть и тд и тд и тд — ве это решает специалист по UI и юзабилити.
I>>Визарды нужны в любом языке.
A>Визарды же что делают? Они описывают некий интерфейс, абстракцию к языку или библиотеке, которую сам язык (или библиотека) описать не в состоянии. Значит язык (или библиотека) кривоваты в смысле того, что удобный интерфейс к ним приходится описывать извне.
Нет, визарды и дизайнеры берут на себя механическую работу, которая есть всегда и везде.
I>>Маленькие не нужны. Нужны серьезные инструменты. Их разработкой занимаются целые конторы.
A>То что вокруг IDE существует ниша бизнеса, я не отрицаю. Кто-то делает визарды, а кто-то себя руками и ногами к этим визардам привязывает. Мне только кажется, что такой спопоб разработки неоптимален.
Поменяй руками пару десятков файлов, я на тебя посмотрю Визард делает все за меня — я только кликаю мышом и всё.
Здравствуйте, Roman Odaisky, Вы писали:
A>>>Как-то мне никогда не нужно было полагаться на визарды и дизайнеры. Обычно это либо клепка UI (дизайнеры) I>>Эту клёпку выполняет инструмент, т.к. программист не способен в принципе выполнть такую работу правильно. I>>Я сколько ни смотрел проектов, где UI делаетя руками, всегда одно и то же — косяк на косяке.
RO>HTML.
И ?
RO>Насчет IDE, никто не мешает вызывать тот же Qt Designer отдельно. Я так и делал, вполне удобно.
Тебе возможно и удобно, а я любою что бы все что надо для разработки было сразу под рукой. Студия у меня почти никогда и не закрывается.
I>>Визарды нужны в любом языке.
RO>И что за визарды нужны в каком-нибудь PHP или Python/Django?
Для рефакторинга например или когда используется компонент на базе уже готового.
Здравствуйте, Roman Odaisky, Вы писали:
RO>Здравствуйте, Ikemefula, Вы писали:
I>>Поменяй руками пару десятков файлов, я на тебя посмотрю
RO>sed -i -e 's/this/that/g' **/*.whatever
RO>-)
т.е. этот код резко найдет по всему коду все вызовы конструкторов и заменит их на вызов фабрики ?