Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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.012 c
1-47586
KvORubin
2002-06-28 10:33
2002.07.15
Подскажите как пользоваться компонентом TreeView1


1-47419
Gonschik
2002-07-03 06:53
2002.07.15
Доступ к памяти чужой программы


1-47433
Zombie
2002-07-03 09:28
2002.07.15
Как работать с TExcelWorkbook?


14-47792
ev
2002-06-14 16:18
2002.07.15
CASE


1-47516
rumata_lee
2002-07-04 16:59
2002.07.15
QReport





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский