Форум: "Потрепаться";
Текущий архив: 2002.07.15;
Скачать: [xml.tar.bz2];
ВнизКомпоненты изменяют стиль программирования. Найти похожие ветки
← →
VAleksey (2002-06-10 14:38) [0]Хочу сказать, что сейчас я очень остро почувствовал, что программирование в делфи, уже не столько программирование, сколько дизайн. Сегодня весь день делал юзабилити своей программы используя QuntumGrid. К написанию кода как к таковому пришлось прибегнуть только пару раз. Хорошо это или плохо ? Как далеко это может завести ? Делятся ли программисты на системных и прикладных ?
← →
vuk (2002-06-10 14:48) [1]>программирование в делфи, уже не столько программирование,
>сколько дизайн
Это и то и другое.
>Сегодня весь день делал юзабилити своей программы используя
>QuntumGrid.
Во-во. Тем же самым сейчас занимаюсь. :o) Просто бывают компоненты, которые почти все нужное делают сами (как QuantumGrid). Тогда остается почти только дизайн. И это правильно - не нужно углубляться в программирование интерфейса, а заниматься решением задачи. Хотя на разных этапах решения задачи приходится быть и дизайнером и прикладником и писателем компонентов.
>Как далеко это может завести ?
Зависит лично от Вас. :o)
>Делятся ли программисты на системных и прикладных ?
А то как же...
← →
evgeg (2002-06-10 14:50) [2]Не пишешь код -- не делаешь ошибок (если компоненты качественные).
← →
kaif (2002-06-10 14:56) [3]Компоненты для того и были придуманы, чтобы тысячи программистов перестали каждый раз решать ту же задачу. Плюс в том, что можно сосредоточиться на более важном. Минус в том, что только повторно решая одни и те же задачи мы вообще чему-то учимся, как программисты...
← →
VAleksey (2002-06-10 15:03) [4]Компонеты ускоряют врямя создания приложения, что очень хорошо (делфи все-таки RAD), но зачастую не дают развиваться самому. Зачам, что-то придумывать если кто-то это уже реализовал ? И парадокс в том что этот риторический вопрос работает почти во всех ситуациях.
← →
vuk (2002-06-10 15:09) [5]Вообще говоря, если речь зашла о работе, то там главное - это решение поставленной задачи, а не собственное развитие. С другой стороны собственным развитием можно заниматься и в свободное от работы время(если на работе не удается). :o)
← →
VAleksey (2002-06-10 15:13) [6]
> собственным развитием можно заниматься и в свободное от
> работы время(если на работе не удается
я бы здесь можно заменил на нужно. Любой застой - это упадок.
← →
Кулюкин Олег (2002-06-10 15:15) [7]Палка о двух концах.
С одной стороны, не изобретаем велосипед. И это хорошо!
С другой - какое там ООП, все действия в обработчиках событий (по клику на бутоне), написание программы начинается с интерфейса.
Следствие - отсутствие понимания основ, плохой стиль.
Я, например, считаю плохим стилем хранить данные в визуальных контролах.
← →
vuk (2002-06-10 15:21) [8]to VAleksey:
>я бы здесь можно заменил на нужно.
Я бы тоже. :o) Имелось в виду то, что если на работе не выходит, то это еще не причина впадать в уныние. Все зависит только от самого человека.
to Кулюкин Олег:
>Я, например, считаю плохим стилем хранить данные в визуальных
>контролах.
В смысле? Не понял...
← →
VAleksey (2002-06-10 15:22) [9]
>
> Кулюкин Олег © (10.06.02 15:15)
поясни
← →
-=CrazyFish=- (2002-06-10 15:39) [10]Думаю, что Кулюкин Олег © имел в виду то, что нужно четко разделять ядро программы и интерфейс к ней. Меня, например, удивляют книги по Delphi, где в первых главах пишут как бросать на формы контролы и связывать их между собой, а, допустим, небольшая глава №5 посвящена основам Object Pascal и всё.
← →
VAleksey (2002-06-10 15:43) [11]Ну, тут наверное нужно сказать, что новичкам так
> первых главах пишут как бросать на формы контролы и связывать
> их между собой
начинать легче.
Я например, переходил с TP7, и вообще ничего не мог на делфи писать, пока суть не ухватил.
А вообще технология RAD предполагае скорейшее проектирование интерфейса пользователя, и лишь затем разработка непосредственно программы.
ЗЫ
Реализация зависит от интерфейса, интерфейс зависит от реализации. Вот такое вот единство ( и борьба противоположностей :)).
← →
Кулюкин Олег (2002-06-10 15:47) [12]2 -=CrazyFish=- © (10.06.02 15:39)
> Думаю, что Кулюкин Олег © имел в виду то, что нужно четко разделять ядро программы и интерфейс к ней.
Вот вы и ответили :)
Видел такое, что человек хранил данные в контролах (TEdit), лежащих на форме, при этом всегда создавал эту форму, просто не показывал ее без надобности. А когда ему объяснили, что данные можно хранить и в переменных, он удивился и сказал, что такое ему просто не пришло в голову. И не удивительно, ведь программировать он учился по книжкам описанным -=CrazyFish=- ©.
Беда Дельфи в том, что человек может "писать программы" не изучив основ. В результате он не знает, как добавить свою функцию, т.к. привык писать код в обработчике события Button.OnClick.
← →
vuk (2002-06-10 15:52) [13]>Видел такое, что человек хранил данные в контролах (TEdit),
>лежащих на форме
Эт ж клиника. :o)
>Беда Дельфи в том, что человек может "писать программы" не
>изучив основ.
Это беда не Delphi, а книг и учителей. Хотя, по-большому счету, инструменты стоимостью более $2000 для обучения точно не предназначены.
← →
Кулюкин Олег (2002-06-10 15:53) [14]2 VAleksey © (10.06.02 15:43)
> RAD предполагае скорейшее проектирование интерфейса пользователя, и лишь затем разработка непосредственно программы.
Вот тут я с Вами не согласен.
Нельзя начинать программу с интерфейса.
Точнее можно, но если она не слишком сложная.
Иначе интерфейс придется переделывать и не один раз.
← →
Кулюкин Олег (2002-06-10 15:57) [15]2 vuk © (10.06.02 15:52)
> Это беда не Delphi, а книг и учителей.
Нет, это беда именно Дельфи (и Билдера тоже).
Слишком легко начать :)
← →
Игорь Шевченко (2002-06-10 16:04) [16]Кстати, насколько мне известно, все RAD-системы ориентированы на быстрое создание прототипа, а не полнофункционального приложения.
Создали прототип, утрясли интерфейс, а дальше начинается собственно программирование.
← →
vuk (2002-06-10 16:16) [17]>Слишком легко начать :)
Нет, это беда именно учителей и книг, потому, что большинство действует по книгам, а в них подход не с той стороны.
← →
VAleksey (2002-06-10 16:18) [18]
> Игорь Шевченко © (10.06.02 16:04)
Да, вы ближе всего к истине. Но исходя из спиральной модели ЖЦ ПО после разработки первого прототипа начинается разработка второго и тд. Так продолжается до тех пор пока приложение не удволетворяет потребностям пользователя. После этого начинается его доработка до коммерческой системы.
ЗЫ
Да.. чего это я 8) . Прошу прощения за несколько лекционное рассуждение.
← →
Mike B. (2002-06-10 16:22) [19]> vuk ©
По-моему совершенно верно. Недавно на своей кафедре поспорил с одной дамой, преподающей Дельфи студентам-первокурсникам (по-поводу нужно им это вообще и в каких объемах). В процессе спора с удивлением обнаружил, что она не имеет понятия о разнице между классом и компонентом (!). Это к.т.н., ст. преподаватель! Можете представить, какие знания у ее студентов.
← →
kaif (2002-06-10 16:28) [20]Я эмпирически заметил: ничто так не вдохновляет и не продвигает новичка вперед, как просто написание собственных компонентов и Property Editor-ов к ним. Я бы рекомендовал при обучении как можно скорее выходить на эту тему, а не оставлять ее в конце в разделе "Разное".
← →
Сатир (2002-06-10 16:33) [21]а я думал, человек начнет распространятя о том, как он делает первые шаги в написании собственных компонент... по-моему, вот когда в этом возникает необходимость, только тогда начинаешь соприкосаться с настоящим программированием... уже слышу голоса, что не согласны со мной:-)... говорите-говорите:-)
Да и вообще, хочу отдельный форум, посвящённый тонкостям написания собственных компонент, а то иногда важные вопросы стречаются в разных ветках, а ведь написание компонент - это и есть програмирование в чистом виде, и довольно таки интересное и прибыльное8-)
← →
Игорь Шевченко (2002-06-10 16:37) [22]Сатир (10.06.02 16:33)
Насчет прибыльного - очень сомневаюсь :-)
В серьезных прикладных задачах тоже достаточно места программированию, не только при написании компонент.
← →
VAleksey (2002-06-10 16:43) [23]
> Сатир (10.06.02 16:33)
с первым согласен, да и kaif тоже прав
как бы PS
Компоненты- это хорошо, но нужно уметь и самому их писать.
Собственное образование после работы ( а когда отдыхать ?, но это другая тема)
Что-бы хорошо программировать нужно быть хорошим программистом -).
← →
Кулюкин Олег (2002-06-10 16:54) [24]А вот написание собственных компонент, особенно если ими будут пользоваться другие люди, влияет на стиль самым благоприятным образом.
Я иногда поражаюсь, что люди делают с моими компонентами, сколько приходится добавлять проверок, блоков try...except.
Сразу начинаешь понимать, что нужно оберегать пользователя от последствий его неверных действий.
А программы разные бывают, кое-где достаточно накидать компонентов на форму и связать их. Главное, чтобы когда задача усложнится, это не вызывало панику и вопросов в форуме "срочно нужен компонент, чтобы по нажатию на кнопку делал <подставьте нужное>" :)
← →
Игорь Шевченко (2002-06-10 16:56) [25]Кулюкин Олег © (10.06.02 16:54)
> Я иногда поражаюсь, что люди делают с моими компонентами,
> сколько приходится добавлять проверок, блоков try...except.
Это конечно мое IMHO, но обычно такие вещи сразу делаются :-)
← →
vuk (2002-06-10 16:58) [26]to kaif:
Зависит от цели обучения. Если цель - научить программировать (хотя бы немного), то тут за глаза достаточно даже TurboPascal. Это позволяет понять суть програмирования и изучить язык не отвлекаясь на ненужные подробности типа рисования формочек.
Написание компонентов это уже задача для более сложного этапа, т.к. написание компонентов требует не только отличного знания самого языка, но и понимания работы IDE, знание тонкостей VCL. Поэтому это задача для профессионала (или того, кто им собирается стать).
← →
Кулюкин Олег (2002-06-10 17:11) [27]2 Игорь Шевченко © (10.06.02 16:56)
Иногда и не подумаешь, что можно такое сделать :)
Вот и приходся try...except пихать, чтобы осмысленное сообщение об ошибке выдать...
← →
Игорь Шевченко (2002-06-10 17:15) [28]Кулюкин Олег © (10.06.02 17:11)
> Иногда и не подумаешь, что можно такое сделать :)
Эт точно (с). Был написан парсер SQL в ODBC-драйвере. Так пользователи такие запросы выдавали, что парсер гарантировано раком вставал :-) User - существо непредсказуемое. Потому я и говорю, что лучше сразу проверять для перестраховки.
← →
Кулюкин Олег (2002-06-10 17:28) [29]2 Игорь Шевченко © (10.06.02 17:15)
Просто я свои комопненты обычно сам пользовал, а год назад появились пользователи (в одной конторе работаем)
Сколько удивительного я узнал за первый месяц :)))
А когда оформлял простенький компонент, чтобы отпустить в свободное плавание... Верно писал Брукс, чтобы превратить рабочий компонент в товар, потребуется втрое больше сил.
← →
Игорь Шевченко (2002-06-10 17:32) [30]Пользователи - это хорошо. Лучшие тестировщики. Чем больше, тем лучше.
И мне сразу ошибку нашли:
http://www.delphikingdom.com/asp/articles_forum.asp?ArticleID=569
за что я им благодарен.
← →
Кулюкин Олег (2002-06-10 17:48) [31]Да, они такие :)
← →
Сатир (2002-06-10 19:23) [32]так как на счёт форума по вопросам написания компонент?
← →
Igorek (2002-06-11 02:14) [33]Народ, можно что угодно назвать чем угодно.
Программисты всегда использовали что-то уже написанное другими - хотя бы ОС и компилятор. Теперь компоненты.
И всегда был плохой стиль, делались ошибки.
Т.е. любое средство надо использовать с умом.
А насчет того, что думать уже как бы меньше стало надо при визуальном программировании, так это спорный вопрос. Все зависит от задачи.
Но даже если так. Допустим у меня есть машина. Легко добираться, но жирком заплываю. Так я если хочу стройненьким быть - пробежки по утрам делаю. Опять же зачем? А вдруг когда-то надо будет удирать - вот и пригодится. Или перед телками на пляже сверкануть. Но тут уже лучше подкачаться. :-)
В общем самому надо решать в каком состоянии мозги держать. И для чего.
В будущем оно ж ведь еще хуже будет. Возможно кресла летающие или телепортеры, что вообще ходить не надо будет. Или Дельфа3000 какая-то. Будет читать мысли программиста, помогать их упорядочивать, писать код, общаться и т.д. Вообще тогда мозги заплывут что ли? Да нет. Просто задачи гораздо сложнее будут.
А простые задачи (сейчас сложные) тогда школьники будут делать.
И всегда найдутся такие, что просто из интереса будут поле ложкой перекапывать. Бог им в помощь. :-)
← →
Сатир (2002-06-12 16:27) [34]Что-то ты отвлёкся от темы, Игорёк... ай да Игорёк, ай да шустрый какой:-)))... и машина, и жирок, и пляж с голыми бабами, только компоненты на хрена тебе при всём этом? знал бы ты, какой это геморрой, написать хотя бы слабенький, но реально работающий децльный такой себе компонентик, так сразу бы и про баб забыл:-)))...
По теме, Игорёк, по теме.
с уважением.
← →
NailS (2002-06-12 17:14) [35]ИМХО, стиль программирования изменяют не компоненты, а решаемые задачи + коллектив.
← →
iZEN (2002-06-12 18:12) [36]/**VAleksey © (10.06.02 14:38):
Хочу сказать, что сейчас я очень остро почувствовал, что программирование в делфи, уже не столько программирование, сколько дизайн.<...>
*/
Правильно почувствовали.
Программирование начинается с дизайна (архитектуры), но скорее не визуального, а ментального. Сначала штрихи архитектуры проявляются в голове, некоторые из них можно сразу представить кодом, другие отрисовываются потом, с течением времени. Компоненты, особенно готовые, помогают быстро заложить фундамент будущего строения, не отвлекаясь на рытьё. Этим обеспечивается экономия времени.
Другая сторона этого -- применимость универсальных компонентов в специальных случаях. Здесь вас может постичь разочарование: универсальность часто оказывается во вред (по быстродействию, по размеру кода и т.д.).
Как решать такие проблемы?
Существуют фреймворки и паттерны проектирования. Это -- сборник абстрактной библиотеки и правил использования. Туда можно включить свои компоненты, написанные с учётом правил фреймворка.
Delphi предоставляет фреймворк для визуального проектирования, но крайне мало предоставляет фреймворков функционального программирования (например, TActionList -- один из немногих компонентов функциональной поддержки).
← →
Igorek (2002-06-12 21:09) [37]2Сатир
Я ответил в общем. Если кто не понял - ваше дело. Советую еще раз внимательно перечитать.
А собственный пакет компонент мы с другом уже пол года делаем, так что в курсе всех нюансов такого рода разработки.
← →
Igorek (2002-06-13 15:57) [38]2Сатир
> и машина, и жирок, и пляж с голыми бабами, только компоненты на хрена тебе при всём этом?
Действительно - НА ХРЕНА? :-)))))
Удачная шутка - еще долго потом смеялся. :-)))))
← →
Malder (2002-06-13 22:50) [39]Я понял, что отстал от жизни ! Что такое QuntumGrid ? Что хорошего делает ?
Беда Дельфи в том, что человек может "писать программы" не изучив основ. В результате он не знает, как добавить свою функцию, т.к. привык писать код в обработчике события Button.OnClick.
Согласен абсолютно. Наблюдал такое очень много раз.
← →
Кулюкин Олег (2002-06-14 08:41) [40]2 Malder © (13.06.02 22:50)
> Что такое QuntumGrid ? Что хорошего делает ?
Это монстр.
Грид + Дерево + OLAP в одном флаконе.
Правда, сам я его не использовал, только с демкой поигрался.
Дорогой, собака, но он того стоит :)
> Согласен абсолютно. Наблюдал такое очень много раз.
Думаю, те кто читает вопросы из форумов, много раз это наблюдали. :)
Страницы: 1 2 вся ветка
Форум: "Потрепаться";
Текущий архив: 2002.07.15;
Скачать: [xml.tar.bz2];
Память: 0.55 MB
Время: 0.013 c