Модераторы: THandle, bems

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поговорим о недостатках Delphi, я не шучу... надо быть самокритичными 
:(
    Опции темы
kemiisto
  Дата 2.8.2008, 10:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



1) Порочная визуальность
Мешать в кучу непосредственно код и описание UI само по себе плохо. Ведь удобнее, чтобы эти две сущности были как можно больше разделены. Взять хотя бы тот же Qt: UI полностью отделен от кода и писать к нему код можно хоть на Ruby. На .NET тоже наблюдается поползновение в туже сторону - WPF. 

Мало того, большинство начинающих программистов на Delphi воспринимают эту среду как только визуальную и понятия не имеют об основах ООП! Именно такая практика имеет место в многочисленных учебниках. Показательна в этом плане "Библия Delphi". Кидаем кнопку на форму,  "клепаем" кусок кода (обработчик события) и баста! Ни к чему хорошему это не приводит. Но ведь такому стилю изложения в какой то мере способствует сам Delphi.

2) Отсутствие сборки мусора (Delphi for Win32)
При разработке более-менее крупных приложений это становится проблемой. А самой частой ошибкой становится Access Violation, причем не помагает даже самое тщательное тестирование. Это общеизвестно. Конечно, ходят слухи, что GC вот-вот появится. Но если вспомнить, сколько времени Borland "кормила завтраками" про перегрузку операторов, то ... "жить в эту пору прекрасную уж не придёться ни мне, ни тебе"

3) Непереносимость (некроссплатформенность)
На платформе Linux инструментарий Kylix заморожен.

4) Туманные маркетинговые перспективы
Borland стала по сути филиалом и кузницей кадров Microsoft. Как это случилось можно почитать здесь.

Вот как то так у меня получилось. Обсудим?


Это сообщение отредактировал(а) kemiisto - 2.8.2008, 10:21


--------------------
PM MAIL WWW GTalk Jabber   Вверх
kemiisto
Дата 2.8.2008, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



Эх, как жеж я забыл то:
5) Отсутствие полной поддержки Unicode (в т.ч. и в VCL)


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Bainer
Дата 2.8.2008, 21:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi МаньяК



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 14.6.2008

Репутация: нет
Всего: нет



Цитата(kemiisto @ 2.8.2008,  18:12)
5) Отсутствие полной поддержки Unicode (в т.ч. и в VCL)

Будем надеятся что в 2009 будет
PM MAIL   Вверх
THandle
Дата 3.8.2008, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 7
Всего: 372



Цитата(kemiisto @  2.8.2008,  11:19 Найти цитируемый пост)
1) Порочная визуальность


Согласен насчет того, что код и UI должны находится как можно дальше друг от друга.
С QT не работал, но в WPF это довольно удобно...


Цитата(kemiisto @  2.8.2008,  11:19 Найти цитируемый пост)
Показательна в этом плане "Библия Delphi". 


Вот именно из за таких книг(а если точнее - из за книг данного автора в большинстве случаев) и начинается рассмотрение Delphi как визуальной среды. Со временем у большинства это проходит.


Цитата(kemiisto @  2.8.2008,  11:19 Найти цитируемый пост)
2) Отсутствие сборки мусора (Delphi for Win32)


А лично для меня это +. Я лучше сам буду отлавливать AV, чем доверять это не понятно кому. Возможно, GC в некоторых случаях и для некоторых людей удобен. Я лично, уже привык без него. Это сейчас я с ним сталкиваюсь в том же C#, а раньше спокойно без него обходился.


Цитата(kemiisto @  2.8.2008,  11:19 Найти цитируемый пост)
3) Непереносимость (некроссплатформенность)


Delphi создавался как средство под Windows. ИМХО, не нужна ему кроссплатформенность. Для этого есть другие средства.


Цитата(kemiisto @  2.8.2008,  11:19 Найти цитируемый пост)

4) Туманные маркетинговые перспективы


Это все конечно интересно, но нет ли чего посвежее? Посмотреть что произошло за 3 года довольно интересно в этом плане.

Цитата(kemiisto @  2.8.2008,  19:12 Найти цитируемый пост)
5) Отсутствие полной поддержки Unicode (в т.ч. и в VCL) 


Согласен. Это явный минус. Надеюсь, что это исправят в новой версии Delphi.


Мое мнение такое - пока люди будут использовать Delphi он будет жить.
Я в данный момент изучаю C#, да. Но Delphi я не брошу. Мне нравится сам язык Паскаль, я привык к нему, для меня он удобнее.



Ну и бред же я написал...

PM   Вверх
kemiisto
Дата 3.8.2008, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



Цитата(THandle @  3.8.2008,  12:54 Найти цитируемый пост)
Я лучше сам буду отлавливать AV, чем доверять это не понятно кому.

Думаешь, программисты Borland справятся с этой задачей хуже?

Цитата(THandle @  3.8.2008,  12:54 Найти цитируемый пост)
Это все конечно интересно, но нет ли чего посвежее? Посмотреть что произошло за 3 года довольно интересно в этом плане.

Вот тут на русском написано про появление CodeGear и его (в итоге) продажу (внизу там ссылочки).
Из последних Embarcadero and CodeGear CEOs Live Chat. Судя по всему Tiburon выйдет. Из языков приоритетными остаются (как в принципе и были) Delphi и С++. А с .NET, похоже, покончено... 


Это сообщение отредактировал(а) kemiisto - 3.8.2008, 13:57


--------------------
PM MAIL WWW GTalk Jabber   Вверх
kemiisto
  Дата 3.8.2008, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



Добавочка к первому пунктику:
Цитата

Что касается Delphi, то, при всем нашем уважении к этой замечательной среде, надо сказать, что для начального обучения программированию она не особенно подходит. Единственный способ - начинать с написания консольных приложений, заменив на этом этапе старый TurboPascal. В среде Delphi есть большая концептуальная ошибка - слишком тесная связь логики и интерфейса разрабатываемых программ. Это проявляется, например, в наличии большого количества так называемых невизуальных компонентов - объектов, которые имеют системное назначение, но при этом являются наследниками TComponent и кладутся на формы так же, как, например, кнопки. Но, скажите мне, какое отношение имеет сокетное TCP/IP-соединение к пользовательскому интерфейсу? Это все равно, что монтировать блок развертки телевизора на его переднюю панель... 

Для опытного Delphi-программиста это проблемы не представляет, он просто создает те же самые объекты динамически, ему никогда не взбредет в голову кидать их на форму. Но среда почему-то изначально пропагандировала именно такой, по сути своей, неправильный подход. А если еще авторы учебника, вместо того, чтобы подвести к разработке графических приложений поэтапно, только после написания серьезных учебных программ без GUI, в структурном стиле, и вместо объяснения, "что такое хорошо и что такое плохо", сразу же начинают показывать, где надо щелкать мышкой и в какой обработчик события надо вписывать полезный код? А как потом отучить бывших школьников, которые все "ухватили на лету", писать основной код в обработчиках событий и приучить разносить логику программы и ее интерфейс по разным модулям? Спортсмены и учителя музыки знают, что если сразу не научить правильной технике, приобретенные даже способным самоучкой ошибочные привычки могут остаться на всю жизнь. 

Но главная проблема, по которой эти среды графической разработки нельзя брать для начального обучения программированию, заключается в том, что даже для самой простой оконной программы требуется знание ООП. А, как мы уже сказали, преподавать ООП без предварительного формирования навыков структурного программирования - безумие.

Источник

Это сообщение отредактировал(а) kemiisto - 3.8.2008, 17:51


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Exai1e
Дата 8.8.2008, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 908
Регистрация: 3.12.2006
Где: Moscow

Репутация: нет
Всего: 30



Цитата(kemiisto @  2.8.2008,  11:19 Найти цитируемый пост)

2) Отсутствие сборки мусора (Delphi for Win32)

Сборка - вещь удобная. Введением в Delphi сборки было бы хорошем шагом. А пока его нет - Delphi программисты (а не только Delphi а также C++, etc) продолжают существовать. Хотя в крупных проектах это могло бы быть очень полезным. (ИМХО)

Цитата(kemiisto @  2.8.2008,  11:19 Найти цитируемый пост)
3) Непереносимость (не кроссплатформенность)

минус - щас довольно шустро развивается unix системы, так как они становятся более доступны для пользователей. Но! большинство фирм (а в первую очередь это интерисует компании где работают разработчики на любых языках) остаются на Win, и на Win'e сидеть еще будут очень долго. Так что это сомнительный минус - но все же он есть. Щас он не так влиятелен, в дальнейшем это может перерасти в толстый минус. Увидим.

Цитата(kemiisto @  2.8.2008,  11:19 Найти цитируемый пост)

4) Туманные маркетинговые перспективы

Delphi (CodeGear) перешла в компанию которая занимается БД (как я понимаю) а (тоесть делает уклон на БД) => Delphi (имхо - как и был раньше) все больше перелезет вакансии "Программист БД" и все меньше останется "прикладных" проектов, хотя и щас их не много. Большинство проектов переносят на C# / Java, и это очевидно - перспективы (хотя мб это и не так (хотя больше похоже на правду...) - но так как припадают наши СМИ, новостные ленты и прочее информацию - дает некий толчек для руководителей проектов, так как естественно по "внешнему виду" .net, Java выглядит перспективнее Delphi) 

Цитата(kemiisto @  2.8.2008,  19:12 Найти цитируемый пост)
5) Отсутствие полной поддержки Unicode (в т.ч. и в VCL) 

В 2008 Unicod'e вроде как реализован, судя по Delphilab.ru, да и обещания в to-do были.

ЗЫ. Сейчас изучаю C#, и мне он кажетьяс более приятным (приятный - не знаю како объяснить - но по он меня затянул... как наркотик ><) НО! Делфи не хочу не в чем ругать или говорить что "он умер" "он плохой" и прочее. Язык сам по себе сильный, и обозвать его "языком для написания калькуляторов" (как считают некторые C'шники (накидал компонентов и готово (хотя для некоторых "программистов" это и есть "программирование") - язык не поворачивается), на Delphi крутиться много проектов в том числе и коммерческих. Он будет развиваться. Но как ответил kemiisto, некторые существующие языки обходят его по используемым технологиям...

все было сказанное ИМХО и просто исложеные мысли и раздумья.


Это сообщение отредактировал(а) Exai1e - 8.8.2008, 23:29


--------------------
"Решение зависит от выбранного геморроя" © Snowy
"у нас как в армии - либо работает, либо так и задумано"
PM MAIL ICQ   Вверх
kemiisto
  Дата 5.9.2008, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



Цитата(kemiisto @  3.8.2008,  14:54 Найти цитируемый пост)
А с .NET, похоже, покончено...

Ошибался. Delphi .NET включен в новую RAD Studio. 

4 и 5 пункт можно вроде как вычеркнуть. Хотя на счёт 4 полной уверенности нет. Пока нет...

Цитата(Exai1e @  9.8.2008,  00:28 Найти цитируемый пост)
Сейчас изучаю C#, и мне он кажетьяс более приятным (приятный - не знаю како объяснить - но по он меня затянул... как наркотик ><)

Ну так это по-майкрософтски! Подсадить побольше народу на "наркотик"! "Порошок" пока хороший, но со временем начнуть "бодяжить" мукой...  smile 

Цитата(Exai1e @  9.8.2008,  00:28 Найти цитируемый пост)
Язык сам по себе сильный

Хм... А что значит "сильный"?


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Snowy
Дата 15.9.2008, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 2
Всего: 484



Внесу 5 копеек.
1. Система не совершенна, но она работает и довольно эффективна. При необходимости её можно будет улучшить.
Что касается начинающих, так сначала учиться нужно, а потом уже пытаться изображать из себя куллхакера.
Хотя, чем больше знаешь, тем больше понимаешь, что кулхацкеры по сути - гопота. И не становишься таковым.
А про "Библию" замечено справедливо. Аффтара убить, книгу сжечь. Любая оккультная литература действует негативно.

2. Сборка мусора. Суть не в споре о её необходимости. Сборка - понятие более высокого уровня абстракции.
Сборка мусора - привилегия языков более высокого уровня. Высокого не по крутости, а по далёкости от ассемблера.
Дельфи всё же более приблежён к процессору, как и С++. Отсюда и специфика.
Вы ещё посетуйте, что ассемблер мусор не собирает...
Выше уровень абстакции - легче кодинг - меньше свободы.
ИМХО, Дельфи на оптимальном уровне. Достаточно простой кодинг и, практически, максимум свободы.
Хотя при этом, некоторые элементы сборки мусора существуют с древнейших времён. (стринги, овнеры).

3. Да, кроссплатформ хромает. Но и мы должны понять. Люди тоже хотят кушать. А инструментарий под линукса хлебушка не приносит.
Отсюда и провал кайликса. Инструмент хороший. Но затраты на него меньше расходов.
Продвигать подобные инструменты можно только из благородной OpenSource цели.
Ну а за бесплатно есть то, что бесплатно. То есть продукты типа FreePascal и KDE Studio.
Имеют право на жизнь. Но по сути хрень в коричневых штанишках.
Не существует ни одного кроссплатформенного продукта уровня Дельфи.
А на меньшее мы не согласны - закушались...
Впрочем, будущее кроссплатформа зависит не от кодгира, а от линукса. Пока его GUI позиции хромают. А потому рапид девелопмент под него коммерчески невыгоден.
Вот, когда он поднимется, как коммерческая платформа, вот тогда и будет нам тотальный кроссплатформ.
А пока это только теория.

4. И обсуждать нечего. Такой культовый продукт не может умереть.
Да, были сложные времена. Вина в том Борландовская.
Ситуация пока только улучшается.
Сначала была ликвидирована Борландовская бюрократия. А теперь и вовсе влияние умирающего Борланда закончилось.
Так что впереди только дорога в светлое будущее.
We'll shell be happy  smile 

5. Юникод. Тут что-то нужно сказать? Думаю, уже нет... На очереди х64.
PM MAIL   Вверх
kemiisto
  Дата 20.9.2008, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



Цитата(Snowy @  15.9.2008,  22:57 Найти цитируемый пост)
1. Система не совершенна, но она работает и довольно эффективна. При необходимости её можно будет улучшить.

Странно всё таки. Программирование (как впрочем и вся IT индустрия) на данный момент единственная область научной деятельности, в которой принято использовать несовершенные инструменты. Возьмём хоть тотже БАК (коли уж он на слуху). Представьте, что кто-либо из его разработчиков скажет "БАК не совершенен, но он работает ..." smile Глупость же! А в IT работает... smile  

Цитата(Snowy @  15.9.2008,  22:57 Найти цитируемый пост)
2. Сборка мусора. Суть не в споре о её необходимости. Сборка - понятие более высокого уровня абстракции.Сборка мусора - привилегия языков более высокого уровня. Высокого не по крутости, а по далёкости от ассемблера.

Неверно. Посмотрите хоть на тот же Oberon. Язык снабжён сборщиком мусора и на нём написана ОС.

Цитата(Snowy @  15.9.2008,  22:57 Найти цитируемый пост)
3. Да, кроссплатформ хромает. Но и мы должны понять. Люди тоже хотят кушать. ... Впрочем, будущее кроссплатформа зависит не от кодгира, а от линукса. Пока его GUI позиции хромают. А потому рапид девелопмент под него коммерчески невыгоден.Вот, когда он поднимется, как коммерческая платформа, вот тогда и будет нам тотальный кроссплатформ.

К тому времени сердцами и умами завладеет какой-нибудь Q/Mono Develop. Трудно будет продвигать свой продукт.

Добавлено @ 11:57
Хех! Только увидел. В дополнении про БАК - Вот, пожалуйста! Где тонко - там и рвётся! smile 

Это сообщение отредактировал(а) kemiisto - 22.9.2008, 22:07


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Sovereign
Дата 17.12.2008, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 7.11.2006

Репутация: нет
Всего: 4



мне единственно что не особо понравилось, когда попалась задача по обработке видео с тв тюнера, вот я там страху натерпелся, один только vfw.pas нашел да dspack, а вот чтоб самому полностью с нуля что-то такое сделать, попробуй найди литературу... (именно риентированную на делфистов...) 
PM MAIL   Вверх
Rambuz
Дата 19.12.2008, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 24.8.2007

Репутация: нет
Всего: нет



Меня лично Delphi полностью устраивает, хотя...
Из-за каких-то разногласий Borland и MS, последняя так и не выпускает ничего Pascal-е-образного.
А жаль. Было бы интересно посмотреть, что бы получилось.  Вполне возможно, что MS бы заткнула за пояс Borland, как это произошло с С++. И данная тема могла бы никогда не появиться.
PM MAIL   Вверх
Rohoss
Дата 23.12.2008, 19:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начальник интернета
***


Профиль
Группа: Завсегдатай
Сообщений: 1308
Регистрация: 9.10.2006
Где: Matrix

Репутация: 3
Всего: 18



Ещё хочу добавить два недостатка: 
1.    Синтаксис подобный паскалю встречается редко, а вот Си – подобный синтаксис почти у всех известных языков (не считая конечно VB  smile ). В результате с них переучиваться друг на друга проще.
2.    Отсутствие статических методов. Очень удобная штука.



--------------------
Файловый менеджер Explorer.Net скачать  video
PM ICQ   Вверх
THandle
Дата 23.12.2008, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 7
Всего: 372



Цитата(Rohoss @  23.12.2008,  19:21 Найти цитируемый пост)
2.    Отсутствие статических методов. Очень удобная штука.


Разве???

http://www.interface.ru/home.asp?artId=6763

Цитата(Rohoss @  23.12.2008,  19:21 Найти цитируемый пост)
1.    Синтаксис подобный паскалю встречается редко, а вот Си – подобный синтаксис почти у всех известных языков (не считая конечно VB  smile ). В результате с них переучиваться друг на друга проще.


А по-моему это плюс языка. А то были бы все на одну рожу. Да и удобнее паскалевский синтаксис чем сишный.

PM   Вверх
kemiisto
  Дата 23.12.2008, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



Цитата(Rohoss @  23.12.2008,  17:21 Найти цитируемый пост)
Синтаксис подобный паскалю встречается редко, а вот Си – подобный синтаксис почти у всех известных языков (не считая конечно VB  smile ).

 smile Нет. Почти у всех известных тебе - так будет правильнее. Навскидку: Ada, Eiffel, Modula, Oberon, Simula. Ну и Delphi, конечно же. smile 

Цитата(Rohoss @  23.12.2008,  17:21 Найти цитируемый пост)
 Отсутствие статических методов.

Это те, которые методы класса? Так они есть конечно же. smile 


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Rohoss
Дата 23.12.2008, 22:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начальник интернета
***


Профиль
Группа: Завсегдатай
Сообщений: 1308
Регистрация: 9.10.2006
Где: Matrix

Репутация: 3
Всего: 18



н…да со статическими методами я конечно промахнулся. 

kemiisto, ты же не хочешь сказать, что эти языки настолько же часто используются как Java, C++, C#, PHP?

Добавлено через 6 минут и 2 секунды
Цитата(THandle @  23.12.2008,  21:38 Найти цитируемый пост)
Да и удобнее паскалевский синтаксис чем сишный.

Не факт – это вопрос привычки


--------------------
Файловый менеджер Explorer.Net скачать  video
PM ICQ   Вверх
kemiisto
  Дата 23.12.2008, 23:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



Цитата(Rohoss @  23.12.2008,  20:30 Найти цитируемый пост)
kemiisto, ты же не хочешь сказать, что эти языки настолько же часто используются как Java, C++, C#, PHP?

Нет, конечно. Но ведь популярность никогда не была критерием качества. smile 


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Akella
Дата 25.12.2008, 20:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



Цитата(kemiisto @  2.8.2008,  10:19 Найти цитируемый пост)
Кидаем кнопку на форму,  "клепаем" кусок кода (обработчик события) и баста!

а как надо? написать класс, интерфейс...

Добавлено через 9 минут и 24 секунды
 smile 
Цитата(Snowy @  15.9.2008,  21:57 Найти цитируемый пост)
А про "Библию" замечено справедливо. Аффтара убить, книгу сжечь. Любая оккультная литература действует негативно.


PM MAIL   Вверх
Akella
Дата 25.12.2008, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



Для себя среди недостатков вижу глючность редактора кода: подчёркивает код, который фактически компилируется и работает без ошибок. Затем ещё визуальный редактор не запоминает положение и размеры редактора persistent полей наборов данных, а также редактора ActionList
PM MAIL   Вверх
kemiisto
  Дата 26.12.2008, 23:05 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



Цитата(Akella @  25.12.2008,  18:02 Найти цитируемый пост)
а как надо? написать класс, интерфейс...

Принципы ООП необходимо объяснять на примерах простых консольных программ. Как это и делается в книгах по Java, C#, Ruby, ... А Флёнов только мозги запудривает. Визуальный компонент = объект, а вот обратное не верно. Надо начинать с объектов вообще, а затем уже переходить к визуальным компонентам в частности.

Добавлено через 5 минут и 4 секунды
Цитата(Rambuz @  19.12.2008,  13:33 Найти цитируемый пост)
Из-за каких-то разногласий Borland и MS, последняя так и не выпускает ничего Pascal-е-образного.

Кстати, попытки были. smile 

Это сообщение отредактировал(а) kemiisto - 26.12.2008, 23:05


--------------------
PM MAIL WWW GTalk Jabber   Вверх
lukas
Дата 28.12.2008, 18:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 771
Регистрация: 23.2.2007

Репутация: нет
Всего: 15



не хватает макросов... я конечно все понимаю, может для кого-то использование их - неправильно, но я бы нашел им применение.


--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
de_Nis
Дата 5.1.2009, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Старательный
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 19.10.2006
Где: Молдова

Репутация: 1
Всего: 6



Я по-прежнему придерживаюсь мнения, что если  Embarcadero (или кто там будет разрабатывать новые Дельфи) не будут выпускать новые бесплатные версии этого продукта типа Турбо (а еще желательно на сайтах Embarcadero выкладывать для бесплатного скачивания  хорошие книги по работе в последних версиях Дельфи, и уж совсем здорово - на нескольких языках) - плохи дела будут у Дельфи. Я не сторонник Майкрософта, но на своем опыте почувствовал, как удобно без всяких проблем (технических, юридических) установить любую из бесплатных MS Студий. MSDN тоже весьма помогает в освоении "студийных" языков. А это так важно для начинающих пацанов, которые хотят себя попробовать в программировании. И понятно, что они, эти ребята - будущее мира программирования. Чем проще и легче доступ к инструменту для разработки программ какой-то фирмы для подрастающего поколения - тем больше вероятность того, что в дальнейшем  продуктами именно этой фирмы будет пользоваться это самое поколение. Ведь в начале своего программистского пути очень трудно разобраться, в чем преимущества конкретного языка программирования (среды разработки, библиотек...). Что доступнее для опробывания, для написания первых программ - то и лучше, так решают многие начинающие (и не только начинающие).
Если учесть, что традиционно у Дельфи были сильны позиции в основном на постсоветском пространстве, а Майкрософт выпустил русифицированные версии Студий и MSDN - это еще один мощный удар по популярности Дельфи.
Боюсь, что без адекватных решений по популяризации и доступности Дельфи о преимуществах этого весьма достойного продукта в недалеком будущем будут знать только фанаты Дельфи. К сожалению...
--------------------
Несчастлив не тот, у кого ничего нет, а тот, кто ничего не хочет…
PM   Вверх
Dobermann
Дата 5.1.2009, 12:29 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 992
Регистрация: 7.1.2008

Репутация: нет
Всего: 0



Цитата(lukas @  28.12.2008,  18:27 Найти цитируемый пост)
не хватает макросов... я конечно все понимаю, может для кого-то использование их - неправильно, но я бы нашел им применение.

Да это уже для совсем ленивых!  smile 
PM   Вверх
Rohoss
Дата 5.1.2009, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начальник интернета
***


Профиль
Группа: Завсегдатай
Сообщений: 1308
Регистрация: 9.10.2006
Где: Matrix

Репутация: 3
Всего: 18



Вроде как в Delphi 2009 нельзя просматривать содержимое модулей, которые поставляются вместе со средой? Если так, то это серьезный минус, по сравнению с другими версиями.


--------------------
Файловый менеджер Explorer.Net скачать  video
PM ICQ   Вверх
Bose
Дата 6.1.2009, 01:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 2
Всего: 51



Цитата(Rohoss @  5.1.2009,  22:01 Найти цитируемый пост)
Вроде как в Delphi 2009 нельзя просматривать содержимое модулей, которые поставляются вместе со средой? Если так, то это серьезный минус, по сравнению с другими версиями. 

В Trialе нельзя. А вот в полной версии можно.
PM MAIL WWW Skype   Вверх
Dobermann
Дата 6.1.2009, 02:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 992
Регистрация: 7.1.2008

Репутация: нет
Всего: 0



Зато, вроде как, самый быстрый компилятор!
PM   Вверх
Bose
Дата 6.1.2009, 04:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 2
Всего: 51



Цитата(lukas @  28.12.2008,  18:27 Найти цитируемый пост)
не хватает макросов... я конечно все понимаю, может для кого-то использование их - неправильно, но я бы нашел им применение.

Вообще-то макросы в Delphi есть. 

ms-help://embarcadero.rs2009/devcommon/recordmacro_xml.html (Эту ссылку можно открыть в Document explorere.)

Это сообщение отредактировал(а) Bose - 6.1.2009, 04:26
PM MAIL WWW Skype   Вверх
Rohoss
Дата 6.1.2009, 05:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начальник интернета
***


Профиль
Группа: Завсегдатай
Сообщений: 1308
Регистрация: 9.10.2006
Где: Matrix

Репутация: 3
Всего: 18



Цитата(Bose @  6.1.2009,  01:53 Найти цитируемый пост)
В Trialе нельзя. А вот в полной версии можно.


Надеюсь в полной версии и с UML редактором всё нормально?



--------------------
Файловый менеджер Explorer.Net скачать  video
PM ICQ   Вверх
Akella
Дата 28.2.2009, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



Цитата(Bose @  6.1.2009,  04:25 Найти цитируемый пост)
Вообще-то макросы в Delphi есть. 

Уже давно, только я не понимаю, зачем они нужны? По крайней мере я не нашёл им применения.

Добавлено через 41 секунду
Цитата(Rohoss @  6.1.2009,  05:36 Найти цитируемый пост)
Надеюсь в полной версии и с UML редактором всё нормально?

UML только в Д2009 появился?

Добавлено через 5 минут и 16 секунд
Не вижу я UML редактора ни в D2009, ни в D2007
PM MAIL   Вверх
CompWorm
Дата 6.3.2009, 18:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Допеределыватель
***


Профиль
Группа: Участник Клуба
Сообщений: 1689
Регистрация: 6.12.2004
Где: /

Репутация: нет
Всего: 31



сегодня поставил 2009! счастлив как хомяк в буханке хлеба))

Цитата(Bose @  6.1.2009,  01:53 Найти цитируемый пост)
В Trialе нельзя. А вот в полной версии можно. 

можно.

Цитата(Dobermann @  6.1.2009,  02:05 Найти цитируемый пост)
Зато, вроде как, самый быстрый компилятор!

не заметил я такого чуда. по скорости компилятор обычный... как в D2007, но быстрее D7.

а вот на счет мутности планов и постоянных перекупок продукта туда-сюда... это проблема!
но, как говорится, в отношении дельфи - ситуация может только улучшиться  smile 


--------------------
PM MAIL   Вверх
roschinspb
  Дата 6.5.2010, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 27.1.2010
Где: С-Пб

Репутация: нет
Всего: нет



1. На счет порочной визуальности не согласен. Только благодаря ей язык Pascal и приобрёл популярность. Другое дело, что при кривых руках... но при таком обстоятельстве любой наворот будет порочным. Ну и конечно тонны библий дэлфи, освой дэлфи за 3 часа и прочих, сослужили плохую службу.
Цитата

Ведь удобнее, чтобы эти две сущности были как можно больше разделены.
 Лично мне нет. Графический интерфейс и так вынесен в отдельный файл dfm. Вообще вопрос спорный, во многом зависит от специфики работы и личных предпочтений. Во всяком случае ни кто не запрещает забить на всю визуальность и работать в стиле Turbo Pascal.
2. 
Цитата

А самой частой ошибкой становится Access Violation, причем не помагает даже самое тщательное тестирование.
 Ну это опять же у кого как, у меня нет. Сборщик мусора создаёт другую проблему: произошло какое-то исключение, программу уже закрыли а какой-нибудь файл остаётся открытым и фиг ты с ним что-то сделаешь. Если AV хоть как-то сигнализирует о том, что что-то не так, то здесь ни каких ошибок тишь да гладь, а работать невозможно. Если ошибка и возникнет, то совершенно в другом месте, возможно даже где-нибудь у клиента в солнечном Магадане smile 

Вот мой список недостатков пару лет спустя  smile :
1. Глюкавость. Ну блин, нельзя впеньдюривать какую-нибудь модную фенечку так, что с ней невозможно работать. Потрачены ресурсы/время/деньги, а результат — только матюги от потребителя. К примеру Help Insight: то он вообще убирал IDE, вроде исправили, теперь всплывает фиг знает как, тэги ///<summary> только к 2010 версии более менее начали подцепляться и то не всегда. Удобного инструмента по добавлению тэгов, аналогичного ToDo нету. В результате Help Insight отключают сразу после установки, теперь даже если его исправят об этом мало кто узнает :( 3!!! года понадобилось для исправления русских букв в редакторе... Ну про сам Help я вообще молчу, ибо конадский боян. 
2. Отсутствие кроссплатформенности. Да, зря после Delphi7 отказались от неё и начали дрейфовать в сторону Net, сейчас вроде исправляются но много времени потеряно.
3. Отсутствие 64-битности, без комментариев.
PM MAIL WWW   Вверх
Akella
Дата 7.5.2010, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



Цитата(roschinspb @  6.5.2010,  17:09 Найти цитируемый пост)
1. Глюкавость. Ну блин, нельзя впеньдюривать какую-нибудь модную фенечку так, что с ней невозможно работать. Потрачены ресурсы/время/деньги, а результат — только матюги от потребителя. 

при чём это длиться уже лет шесть, начиная с дельфи 7  smile 
PM MAIL   Вверх
Akella
Дата 7.5.2010, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



Цитата(roschinspb @  6.5.2010,  17:09 Найти цитируемый пост)
2. Отсутствие кроссплатформенности. Да, зря после Delphi7 отказались от неё и начали дрейфовать в сторону Net, сейчас вроде исправляются но много времени потеряно.

Однозначно.

И ещё я пару раз слышал, что юникод какой-то не очень правильный у них реализован, вернее не везде, скажем так.
PM MAIL   Вверх
roschinspb
Дата 12.5.2010, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 27.1.2010
Где: С-Пб

Репутация: нет
Всего: нет



Цитата(Akella @  7.5.2010,  16:15 Найти цитируемый пост)
при чём это длиться уже лет шесть, начиная с дельфи 7    
 C Delphi 2005, если быть точным.
Цитата(Akella @  7.5.2010,  16:45 Найти цитируемый пост)
И ещё я пару раз слышал, что юникод какой-то не очень правильный у них реализован, вернее не везде, скажем так.
 Не знаю, не знаю. Может где-нибудь в левых компонентах не реализован...

PM MAIL WWW   Вверх
Akella
Дата 13.5.2010, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



Нем, именно в генокоде.

Добавлено @ 10:21
D2009. unit DBCommon.

Код

function TFilterExpr.PutConstant(Node: PExprNode): Integer;
...
  case Node^.FDataType of
...
    ftString, ftWideString, ftFixedChar, ftGuid:
      Result := PutConstStr(AnsiString(Node^.FData));


smile это обнаружено Сергеем Бузаджи, автором замечательных компонент Fib+ у них на форуме


Это сообщение отредактировал(а) Akella - 13.5.2010, 10:22
PM MAIL   Вверх
former
Дата 13.5.2010, 19:32 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

Репутация: нет
Всего: 17



Цитата(Akella @  13.5.2010,  10:13 Найти цитируемый пост)
D2009. unit DBCommon.

Может это в не обновленной D2009?. У меня стоят все обновления. Все в порядке.

Ну а теперь по теме. Последняя версия, в которой работаю, 2009. Поэтому замечания по ней.
- Глючная IDE. Прежде всего, это касается редакторов свойств и кода. В 10-ке вроде чуть лучше.
- Отсутствие кроссплатформенности, учитывая потребность писать под Linux и мобильные платформы (про прокладки типа Prism вообще молчу).
- Зависимость IDE и , в некоторых случаях, созданных в ней программ от .NET Framework. (А я и не догадывался, что пишу с использованием .NET. smile  шучу).
- Help становится ужасный. Вот с этого все и начинается, сначала .NET Framework и пошло, поехало.

В общем-то, перспективы не очень радужные, при всей моей любви к Delphi.


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
k0rvin
Дата 13.5.2010, 23:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 0
Всего: 5



а мне не нравится, что TDBComboBox не имеет свойств вроде SourceTable и SourceField, по которым он брал бы данные для своих Items

или уже имеет?


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
Akella
Дата 14.5.2010, 09:00 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



И ещё очень большой недостаток - это отсутствие каких-то упрощённых лицензий типа, как была IDE D2006 Turbo за 300 долларов. Уж очень дорого 1000 для одинокого разработчика.
PM MAIL   Вверх
former
Дата 14.5.2010, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

Репутация: нет
Всего: 17



Ну если из Personal убрать половину, глядишь и будет так стоить.


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
Akella
Дата 14.5.2010, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



Угу, там бОльшая половина нафиг не нужна. Оставить бы минимальный набор компонент с возможностью доустановки.
PM MAIL   Вверх
k0rvin
Дата 29.5.2010, 02:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 0
Всего: 5



да, почти самое важное -- дерьмовая индентация кода в редакторе

Это сообщение отредактировал(а) k0rvin - 29.5.2010, 02:52


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
Akella
Дата 29.5.2010, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



Цитата(k0rvin @  29.5.2010,  02:52 Найти цитируемый пост)
индентация

это отступы или что?
PM MAIL   Вверх
k0rvin
Дата 31.5.2010, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 0
Всего: 5



Цитата(Akella @ 29.5.2010,  10:25)
Цитата(k0rvin @  29.5.2010,  02:52 Найти цитируемый пост)
индентация

это отступы или что?

да, отступы


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
Akella
Дата 1.6.2010, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



Тогда поясни более конкретно, что не так? Что не нравится? Где лучше и как должно быть?

Добавлено через 12 секунд
меня лично всё устраивает
PM MAIL   Вверх
k0rvin
Дата 1.6.2010, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 0
Всего: 5



Цитата(Akella @ 1.6.2010,  13:54)
Тогда поясни более конкретно, что не так? Что не нравится? Где лучше и как должно быть?

Добавлено @ 13:54
меня лично всё устраивает

не нравится, что 
1) при нажатии ENTER после begin (а лучше после любой строки, заканчивающейся не ';' и не '.') редактор автоматически не ставит отсупы в два пробела (ну или как задано в опциях) относительно позиции первого символа строки, на которой нажимался ENTER;
2) при вводе end; автоматически не пододвигает его на те же два пробела влево;
3) при нажатии ENTER в строке, заканчивающейся ';', ставить курсор на позицию начала выражения, а не предыдущей строки, т.е. как есть (символом '|' обозначен курсор):
Код

  foo( 1,
  |

Код

  foo( 1,
    2 );
    |

а вот так надо:
Код

  foo( 1,
    |

Код

  foo( 1,
    2 );
  |


лучше сделано в vim'е: пункт 2 он не умеет, но зато с первым и третим вполне справляется.
emacs справляется со всеми тремя пунктами.

Добавлено через 12 минут и 37 секунд
еще не нравится, что кнопка tab "делает то, что обычно" -- вставляет символ табуляции, я уже привык, что она индентирует (выставляет правильные отступы) текущую строку или все строки выделенного куска кода. но поскольку такое не везде есть, согласен на опциональность =)


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
Akella
Дата 2.6.2010, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



Цитата(k0rvin @  1.6.2010,  15:21 Найти цитируемый пост)
при нажатии ENTER после begin (а лучше после любой строки, заканчивающейся не ';' и не '.') редактор автоматически не ставит отсупы в два пробела

Редактор не только отступ выполняет в два пробела, да ещё и end добавляет (D2007)

Добавлено через 1 минуту и 44 секунды
Цитата(k0rvin @  1.6.2010,  15:21 Найти цитируемый пост)
2) при вводе end; автоматически не пододвигает его на те же два пробела влево;

не понял, зачем end на два пробела влево двигать?

Добавлено через 3 минуты и 40 секунд
Цитата(k0rvin @  1.6.2010,  15:21 Найти цитируемый пост)
а вот так надо:


Цитата(k0rvin @  1.6.2010,  15:21 Найти цитируемый пост)
foo( 1,
    2 );

да, есть такое
PM MAIL   Вверх
k0rvin
Дата 2.6.2010, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 0
Всего: 5



Цитата(Akella @ 2.6.2010,  11:13)
1) Редактор не только отступ выполняет в два пробела, да ещё и end добавляет (D2007)

2) не понял, зачем end на два пробела влево двигать?

1) да, точно, забыл, в 2006 тоже есть такое (+ сразу if..., for..., etc вставляет), но мне такой подход совсем не нравится, еще с редакторов, вставлющих закрывающую скобку/кавычку.

2) затем, что иначе будет так:
Код

  begin
    foo;
    bar;
    end;

а надо так:
Код

  begin
    foo;
    bar;
  end;


вот еще кстати -- необязательность скобок после имени функции/процедуры без параметров при вызове.


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
Akella
Дата 3.6.2010, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



Цитата(k0rvin @  2.6.2010,  15:26 Найти цитируемый пост)
затем, что иначе будет так:


Цитата(k0rvin @  2.6.2010,  15:26 Найти цитируемый пост)
а надо так:


Всем не угодишь ведь smile

Добавлено через 24 секунды
Каждый др программирует, как хочет smile
PM MAIL   Вверх
former
Дата 3.6.2010, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

Репутация: нет
Всего: 17



Цитата(Akella @  3.6.2010,  11:15 Найти цитируемый пост)
Всем не угодишь ведь

Тут дело не в том, угодишь или не угодишь, а в общепринятых правилах форматирования кода.
Кроме того, есть же CnPack, хотя и он не все делает правильно.
Еще мне непонятно, зачем при создании цикла for автоматом подставляется следующее:
Код

for I := 0 to List.Count - 1 do

По идеи, было бы правильно делать так:
- набираешь for, нажимаешь пробел, появляется конструкция вида:
Код

for [] := [] [to] [] do
  begin
    []
  end;

[] - объекты табуляции (это уже реализовано)
[to] - клавишами вверх/вниз выбирается между to и downto

- после вода параметров цикла, опять же используя клавишу Tab, перемещаемся в позицию ввода тела цикла.

И таких примеров достаточно.

Еще очень раздражает расхождение между перечислением процедур и функций (в порядке создания) и фактическим их местонахождением среди прочего кода (в коде в алфавитном порядке).
В 7-е такого не было.
Не знаю, как другие, но я все процедуры и функции строго упорядочиваю и комментирую. Т.е. события формы в одном месте, события меню - в другом и т.д. Это позволяет повысить читабельность кода. ИХМО.



Это сообщение отредактировал(а) former - 3.6.2010, 12:57


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
Akella
Дата 3.6.2010, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



Цитата(former @  3.6.2010,  12:53 Найти цитируемый пост)
набираешь for, нажимаешь пробел, появляется конструкция вида:

 smile 
PM MAIL   Вверх
k0rvin
Дата 3.6.2010, 16:47 (ссылка) |  (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 0
Всего: 5



честно говоря, я бы быстрее руками написал, чем бегать по табуляциям и стрелками что-то там выбирая.


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
Akella
Дата 3.6.2010, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



В итоге всё доходит до этого: "По многочисленным запросам российских программистов в среду разработки добавили кнопку "сделать 3.14дато"" smile 
PM MAIL   Вверх
former
Дата 3.6.2010, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

Репутация: нет
Всего: 17



Цитата(k0rvin @  3.6.2010,  16:47 Найти цитируемый пост)
честно говоря, я бы быстрее руками написал, чем бегать по табуляциям и стрелками что-то там выбирая. 

Да-а-а, а кто постом выше жаловался, что то ему не то и ето ему не ето. smile 
Согласен. Вручную даже удобнее. Просто если уж сделали, то сделали бы нормально. В студии автоподстановка намного лучше реализована, да и работает быстрее.
Цитата(Akella @  3.6.2010,  16:56 Найти цитируемый пост)
В итоге всё доходит до этого: "По многочисленным запросам российских программистов в среду разработки добавили кнопку "сделать 3.14дато""

А я уже где-то выкладывал такую IDEsmile

Это сообщение отредактировал(а) former - 3.6.2010, 17:49


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
k0rvin
Дата 3.6.2010, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 0
Всего: 5



Цитата(former @ 3.6.2010,  17:46)
Цитата(k0rvin @  3.6.2010,  16:47 Найти цитируемый пост)
честно говоря, я бы быстрее руками написал, чем бегать по табуляциям и стрелками что-то там выбирая. 

Да-а-а, а кто постом выше жаловался, что то ему не то и ето ему не ето. smile 

я вообще-то жаловался на отсутствие автоиндентации и индентации по TAB-у. а автовставка шаблона выражения мне только мешает.


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
cemick
Дата 3.6.2010, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 6.7.2006
Где: Санкт-Петербург

Репутация: 3
Всего: 6



Цитата(k0rvin @  3.6.2010,  16:47 Найти цитируемый пост)
честно говоря, я бы быстрее руками написал, чем бегать по табуляциям и стрелками что-то там выбирая. 

Не забывайте что среда за вас еще и объявит переменную по которой выполняется цикл
PM MAIL WWW   Вверх
k0rvin
Дата 3.6.2010, 20:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 0
Всего: 5



Цитата(cemick @ 3.6.2010,  19:53)
Цитата(k0rvin @  3.6.2010,  16:47 Найти цитируемый пост)
честно говоря, я бы быстрее руками написал, чем бегать по табуляциям и стрелками что-то там выбирая. 

Не забывайте что среда за вас еще и объявит переменную по которой выполняется цикл

это потому, что поцкаль (а также делфи) не предоставляет конструкции для создания локальной области видимости в произвольном месте, по типу let из других языков и сам for не умеет этого делать. т.е. хотя бы как в С++:

Код

for (int i = 0; ...) ...;


и не пришлось бы такой костыль делать.


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
cemick
Дата 4.6.2010, 08:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 6.7.2006
Где: Санкт-Петербург

Репутация: 3
Всего: 6



Цитата(k0rvin @  3.6.2010,  20:31 Найти цитируемый пост)
это потому, что поцкаль (а также делфи) не предоставляет конструкции для создания локальной области видимости в произвольном месте, по типу let из других языков и сам for не умеет этого делать. т.е. хотя бы как в С++:


Объявление переменный в произвольных местах спорный момент, вносит больше хаоса в код. 

PM MAIL WWW   Вверх
Akella
Дата 4.6.2010, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



Цитата(cemick @ 3.6.2010,  19:53)
Цитата(k0rvin @  3.6.2010,  16:47 Найти цитируемый пост)
честно говоря, я бы быстрее руками написал, чем бегать по табуляциям и стрелками что-то там выбирая. 

Не забывайте что среда за вас еще и объявит переменную по которой выполняется цикл

это не так
PM MAIL   Вверх
k0rvin
Дата 4.6.2010, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 0
Всего: 5



Цитата(cemick @ 4.6.2010,  08:25)
Цитата(k0rvin @  3.6.2010,  20:31 Найти цитируемый пост)
это потому, что поцкаль (а также делфи) не предоставляет конструкции для создания локальной области видимости в произвольном месте, по типу let из других языков и сам for не умеет этого делать. т.е. хотя бы как в С++:


Объявление переменный в произвольных местах спорный момент, вносит больше хаоса в код.

я говорил не совсем об объявлении переменных в произвольных местах
а о создании локальных областей видимости с новыми переменными.

Код

procedure foo (n :Integer);
var i :Integer;
begin
  // some code
  for i := 0 to n do SomethingWith(i);
  // some other code
end;

и
Код

procedure foo (n :Integer);
begin
  // some code
  let i :Integer in
    for i := 0 to n do SomethingWith(i);
  // some other code
end;

где во втором примере хаос? наоборот, второй больше соответствует структурному подходу: кускам some code и some other code совершенно не нужно иметь доступ к i.

конкретно в этом случае (и ещё в некоторых) можно упростить до
Код

procedure foo (n :Integer);
begin
  // some code
  for i :Integer = 0 to n do SomethingWith(i);
  // some other code
end;

не вижу никакого хаоса. =)


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
cemick
Дата 4.6.2010, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 6.7.2006
Где: Санкт-Петербург

Репутация: 3
Всего: 6



Цитата(Akella @  4.6.2010,  10:12 Найти цитируемый пост)
это не так 

Что не так, у меня Delpi 2007 сама добавляет в раздел опсания переменных Var i:integer, если пишу цикл For i := 0 to...


k0rvin
В простых примерах это не мешает, однако, как мне кажется при чтение больших кусков чужого кода это может вызвать затруднение, с определением где объявлена и на какую область действует данная переменна. Достаточно много пришлось программировать на C++, и точно скажу, что для меня эта особенность Delphi в плюс.

Это сообщение отредактировал(а) cemick - 4.6.2010, 14:20
PM MAIL WWW   Вверх
Akella
Дата 4.6.2010, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



k0rvin, согласен smile
PM MAIL   Вверх
k0rvin
Дата 4.6.2010, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 0
Всего: 5



Цитата(cemick @ 4.6.2010,  14:19)
k0rvin
В простых примерах это не мешает, однако, как мне кажется при чтение больших кусков чужого кода это может вызвать затруднение, с определением где объявлена и на какую область действует данная переменна. Достаточно много пришлось программировать на C++, и точно скажу, что для меня эта особенность Delphi в плюс.

ещё раз посмотрите мои примеры, я не призываю к коду типа

Код

procedure foo (n :Integer);
begin
  var i :Integer;
  doSomethingWith(i);
  var j :Integer;
  j := Random(n);
  // some code
  i := j; // присваивание спокойно проходит.
end;

я имею в виду
Код

procedure foo (n :Integer);
begin
  let i :Integer in // начало лексической области видимости i
    doSomethingWith(i);
  // конец лексической области видимости i
  let j :Integer in // начало лексической области видимости для j
    begin
      j := Random(j);
      // some code
      i := j; // => Ошибка, i не видна здесь
    end; // конец лексической области видимости для j
end;


области видимости вполне обозримы, даже более обозримы и "узки".

Это сообщение отредактировал(а) k0rvin - 4.6.2010, 14:49


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
cemick
Дата 4.6.2010, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 6.7.2006
Где: Санкт-Петербург

Репутация: 3
Всего: 6



Цитата(k0rvin @  4.6.2010,  14:45 Найти цитируемый пост)
области видимости вполне обозримы, даже более обозримы и "узки".

Хорошо, а для каких целей вам надо ограничивать область видимости. Я не вижу разумных объяснений почему это может быть удобно и оправдано. Кроме того, если вам понадобиться использовать еще в 10 циклах ниже, каждый раз прийдеться объявлять переменную, и хорошо, если у нее короткое имя типа.

Это сообщение отредактировал(а) cemick - 4.6.2010, 15:54
PM MAIL WWW   Вверх
k0rvin
Дата 5.6.2010, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 0
Всего: 5



Цитата(cemick @ 4.6.2010,  15:54)
Цитата(k0rvin @  4.6.2010,  14:45 Найти цитируемый пост)
области видимости вполне обозримы, даже более обозримы и "узки".

Хорошо, а для каких целей вам надо ограничивать область видимости. Я не вижу разумных объяснений почему это может быть удобно и оправдано. Кроме того, если вам понадобиться использовать еще в 10 циклах ниже, каждый раз прийдеться объявлять переменную, и хорошо, если у нее короткое имя типа.

1) это удобно и оправдано, потому что правильно.

для случая 10-ти циклов я и приводил выше вариант

Код

for i :Integer = a to b do SomethingWith(i);


+ можно добавить в for некоторый вывод тиов (тип счётчика выбирается как наиболее широкий из типов a и b), тогда получим возможность писать так:

Код

for i := a to b do SomethingWith(i);

т.е. возвращаемся к текущему состоянию, только переменная-счетчик видна только в теле for

2) я же не говорю, что использование let должно быть обязательным. кто не хочет -- юзает var в начале подпрограммы.


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
CodeMonkey
Дата 5.6.2010, 21:31 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 4
Всего: 89



Цитата(k0rvin @  3.6.2010,  17:47 Найти цитируемый пост)
честно говоря, я бы быстрее руками написал, чем бегать по табуляциям и стрелками что-то там выбирая. 

На самом деле удобно очень. Вписал for + Tab + i (переменную цикла) + Tab + Screen.Forms + Tab + пишешь тело цикла.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Akella
Дата 10.6.2010, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



Во, вспомнил.
Я давно мечтаю, чтобы в дельфи все невизуальные компоненты выкладывались не на форму, а на какую-нибудь специальную панель в IDE. А то если много компонентом, то трудно проектировать форму.

Но!!! В одной из последних версий эксперта GExperts почти реализовали мою мечту. Они добавили команду "Hide/Show Non-Visual"  smile  smile  smile  smile и теперь можно прятать невизуальные компоненты формы.

Добавлено через 1 минуту и 40 секунд
И ещё один большой недостаток среды в том, что она не запоминает положение всяких вспомогательных редакторов. Таких как редактор ActionManager`а, редактор persistent-полей набора данных. Частично GExpert тоже запоминает и восстанавливает размер этих окон и положение, но не всё.
PM MAIL   Вверх
k0rvin
Дата 10.6.2010, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 0
Всего: 5



Цитата(Akella @ 10.6.2010,  09:42)
Во, вспомнил.
Я давно мечтаю, чтобы в дельфи все невизуальные компоненты выкладывались не на форму, а на какую-нибудь специальную панель в IDE. А то если много компонентом, то трудно проектировать форму.

согласен, как  в вижуал студии например. особенно фигово становится, если отключить выравнивание по сетке (я предпочитаю выравнивание относительно компонентов)


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
former
Дата 10.6.2010, 18:50 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

Репутация: нет
Всего: 17



В принципе, все Non-Visual можно убирать в DataModul, но это лишний модуль, так что поддерживаю.


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
Rohoss
  Дата 10.6.2010, 22:32 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начальник интернета
***


Профиль
Группа: Завсегдатай
Сообщений: 1308
Регистрация: 9.10.2006
Где: Matrix

Репутация: 3
Всего: 18



А обязательно невизуальные компоненты бросать на форму? Можно ведь с кода создавать...В визуал студии идеология заставляет так делать.


--------------------
Файловый менеджер Explorer.Net скачать  video
PM ICQ   Вверх
k0rvin
Дата 10.6.2010, 23:37 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 0
Всего: 5



Цитата(Rohoss @ 10.6.2010,  22:32)
А обязательно невизуальные компоненты бросать на форму? Можно ведь с кода создавать...В визуал студии идеология заставляет так делать.

можно, но зачем загромождать исходник "бесполезным" кодом?


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
Rohoss
Дата 11.6.2010, 00:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начальник интернета
***


Профиль
Группа: Завсегдатай
Сообщений: 1308
Регистрация: 9.10.2006
Где: Matrix

Репутация: 3
Всего: 18



Цитата(k0rvin @  10.6.2010,  23:37 Найти цитируемый пост)
можно, но зачем загромождать исходник "бесполезным" кодом?

Да ладно, сколько там того кода  smile  Или лучше загромождать форму?


--------------------
Файловый менеджер Explorer.Net скачать  video
PM ICQ   Вверх
Akella
Дата 11.6.2010, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



Цитата(former @  10.6.2010,  18:50 Найти цитируемый пост)
В принципе, все Non-Visual можно убирать в DataModul, но это лишний модуль, так что поддерживаю. 

 smile для каждой формы создавать модуль данных? А Как же такие компоненты, как меню, тоже в модуль данных?

Добавлено через 6 минут и 20 секунд
Цитата(Rohoss @  10.6.2010,  22:32 Найти цитируемый пост)
А обязательно невизуальные компоненты бросать на форму? Можно ведь с кода создавать...

Ты не забывай, что Delphi - это RAD. А зачастую визуально проектировать гараздо быстрее и проще. Возьмём, например, проектирование пользовательского интерфейса с использованием компонентов: TImageList, TActionList, TToolBar, TMainMenu, TPopupMenu 3 шт.
Как думаешь, быстрей будет набросать компонентов на форму, связать, загрузить картинки или писать это всё в коде + запихивать картинки в ресурсы с компиляцей %).
Да, да многие супер-буппер программеры скажут, мол это всё былокодерство и что настоящий программист всегда идёт в обход пишет всё ручками... ну ну... пишите, никто ж не запрещает smile
PM MAIL   Вверх
former
Дата 11.6.2010, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

Репутация: нет
Всего: 17



Цитата(Akella @  11.6.2010,  11:32 Найти цитируемый пост)
А Как же такие компоненты, как меню, тоже в модуль данных?

А меню, значит, невизуальный компонент. smile
Цитата(Akella @  11.6.2010,  11:32 Найти цитируемый пост)
для каждой формы создавать модуль данных?

Зачем для каждой формы?  smile  Пары будет достаточно. smile 
Один для ImageList и т.п., другой для данных (в случае работы с БД).
Другое дело, что такой подход усложняет код и не всегда реализуем.
Было бы гораздо удобнее, если бы в редакторе невизуальные объекты помещались не на форму, а на отдельную панель, но при этом относились к данной форме. Нечто похожее в VS реализовано.
Цитата(Akella @  11.6.2010,  11:32 Найти цитируемый пост)
Как думаешь, быстрей будет набросать компонентов на форму, связать, загрузить картинки или писать это всё в коде + запихивать картинки в ресурсы с компиляцей %).

В той же VS все больше "графического" программирования (работа мышкой).
Цитата(Akella @  11.6.2010,  11:32 Найти цитируемый пост)
ну ну... пишите, никто ж не запрещает 

...и даже сочувствуют. smile 


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
Akella
Дата 11.6.2010, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



Цитата(former @  11.6.2010,  14:07 Найти цитируемый пост)
Зачем для каждой формы?  smile  Пары будет достаточно. smile 

Значит ты не проектировал высоконагруженные приложения, где 100-200 окон.

Добавлено через 37 секунд
Цитата(former @  11.6.2010,  14:07 Найти цитируемый пост)
А меню, значит, невизуальный компонент. smile

Ну ладно, меню можно и непосредственно на форму бросить.

Добавлено через 1 минуту и 11 секунд
Цитата(former @  11.6.2010,  14:07 Найти цитируемый пост)
Было бы гораздо удобнее, если бы в редакторе невизуальные объекты помещались не на форму, а на отдельную панель,

здасте приехали  smile  smile  smile  smile 
PM MAIL   Вверх
former
Дата 11.6.2010, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

Репутация: нет
Всего: 17



Цитата(Akella @  11.6.2010,  14:12 Найти цитируемый пост)
Значит ты не проектировал высоконагруженные приложения, где 100-200 окон.

У меня сейчас в проекте порядка 100. В дата-модуле все, что касается доступа к данным. Есть отдельный дата-модуль, где хранятся некоторые невизуальные компоненты (общего пользования) приложения. Остальное все в пакетах.
Цитата(Akella @  11.6.2010,  14:12 Найти цитируемый пост)
здасте приехали

 smile 


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
Akella
Дата 11.6.2010, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



Цитата(former @  11.6.2010,  14:07 Найти цитируемый пост)
Было бы гораздо удобнее, если бы в редакторе невизуальные объекты помещались не на форму, а на отдельную панель, но при этом относились к данной форме. Нечто похожее в VS реализовано.

а я тебе про что..
PM MAIL   Вверх
Rohoss
Дата 11.6.2010, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начальник интернета
***


Профиль
Группа: Завсегдатай
Сообщений: 1308
Регистрация: 9.10.2006
Где: Matrix

Репутация: 3
Всего: 18



Цитата(Akella @  11.6.2010,  11:32 Найти цитируемый пост)
Ты не забывай, что Delphi - это RAD. А зачастую визуально проектировать гараздо быстрее и проще. Возьмём, например, проектирование пользовательского интерфейса с использованием компонентов: TImageList, TActionList, TToolBar, TMainMenu, TPopupMenu 3 шт.

Я говорю о не визуальных компонентах... Размещение на форме визуальных компонентов конечно же оправдано. Ну я имею ввиду самих визуальных компонентов, и компонентов, которые обеспечивают графический интерфейс других компонентов. А вот что касается не визуальных, таких например как инди и тд... Ты смысл их размещения на форме как - то сомнительный...

Добавлено через 5 минут и 7 секунд
Цитата(former @  11.6.2010,  14:07 Найти цитируемый пост)
Было бы гораздо удобнее, если бы в редакторе невизуальные объекты помещались не на форму, а на отдельную панель, но при этом относились к данной форме. Нечто похожее в VS реализовано.

А почему подобное? Такое там как раз и реализовано... Ну это если проект WinForm, а если более современный WPF, то там вообще нельзя разместить компоненты, не имеющие отношение к графическому интерфейсу... и это правильно  smile 


--------------------
Файловый менеджер Explorer.Net скачать  video
PM ICQ   Вверх
Akella
Дата 14.6.2010, 09:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



Цитата(Rohoss @  11.6.2010,  17:26 Найти цитируемый пост)
А вот что касается не визуальных, таких например как инди и тд... Ты смысл их размещения на форме как - то сомнительный...

А если формы, на которых по 5-10 таких разных невизуальных компонентов . Получается не очень рационально. Если все эти компоненты запихать в датамоуль. То датамодуль по идее должен быть открыт (создан) бОльшую часть времени работы программы. А это ресурсы. Драгоценные ресурсы. А если каждая форма будет иметь свой набор невизуальных компонент, то такие компоненты будут создаваться и потреблять ресурсы только на время работы формы. Но в _любом случае_ нужно смотреть по ситуации. Может даже будет рациональнее все невизуальные компоненты скинуть в 1-2 датамодуль(я).
PM MAIL   Вверх
former
Дата 14.6.2010, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

Репутация: нет
Всего: 17



Цитата(Akella @  14.6.2010,  09:20 Найти цитируемый пост)
Может даже будет рациональнее все невизуальные компоненты скинуть в 1-2 датамодуль(я). 

 smile Согласен!


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
Rohoss
Дата 14.6.2010, 23:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начальник интернета
***


Профиль
Группа: Завсегдатай
Сообщений: 1308
Регистрация: 9.10.2006
Где: Matrix

Репутация: 3
Всего: 18



Цитата(Akella @  14.6.2010,  09:20 Найти цитируемый пост)
А если формы, на которых по 5-10 таких разных невизуальных компонентов . Получается не очень рационально. Если все эти компоненты запихать в датамоуль. То датамодуль по идее должен быть открыт (создан) бОльшую часть времени работы программы.

я за создание таких "компонентов" непосредственно в коде. Так и "драгоценные ресурсы" будут заняты не на время жизни формы, а как раз на столько, на сколько они будут нужны  smile 


--------------------
Файловый менеджер Explorer.Net скачать  video
PM ICQ   Вверх
Akella
Дата 15.6.2010, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



Цитата(Rohoss @  14.6.2010,  23:33 Найти цитируемый пост)
я за создание таких "компонентов" непосредственно в коде. Так и "драгоценные ресурсы" будут заняты не на время жизни формы, 

С чего ты взял?
Если компоненту нужно создать при создании формы и уничтожить при закрытии оной..
PM MAIL   Вверх
former
Дата 16.6.2010, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

Репутация: нет
Всего: 17



Цитата(Akella @  14.6.2010,  09:20 Найти цитируемый пост)
А если формы, на которых по 5-10 таких разных невизуальных компонентов . Получается не очень рационально. Если все эти компоненты запихать в датамоуль. То датамодуль по идее должен быть открыт (создан) бОльшую часть времени работы программы. А это ресурсы. Драгоценные ресурсы. А если каждая форма будет иметь свой набор невизуальных компонент, то такие компоненты будут создаваться и потреблять ресурсы только на время работы формы.

Цитата(Rohoss @  14.6.2010,  23:33 Найти цитируемый пост)
я за создание таких "компонентов" непосредственно в коде. Так и "драгоценные ресурсы" будут заняты не на время жизни формы, а как раз на столько, на сколько они будут нужны

А вот теперь представим ситуацию (касательно БД). 
Есть основная таблица "Физические лица", в которой хранится основная информация, и есть куча подчиненных таблиц (предположим 15) с дополнительной информацией.
В приложении, как форма с гридом основной таблицы (соответственно, одним наборов данных), и форма (регистрационная карта - РК) с кучей панелей, содержащих дополнительную информацию (+15 наборов данных).
Получается, что вместо того, что бы просто открыть необходимые наборы данных, их нужно предварительно создать, настроить их параметры, заполнить запросами, а это дополнительное время при открытии формы РК. Как следствие - камни со стороны пользователей.
+ загрузка ресурсов (иконок и т.д.).
А при использовании DataModul-я мы только открываем/закрываем необходимые наборы данных.
Кроме того, бывают случаи, когда одни и те же ресурсы (например, иконки меню) необходимо использовать в 10 - 15 формах. Размещая эти иконки в DataModul-е мы уменьшаем размер exe, за счет повторного использования.

Конечно это тоже не идеальный вариант, и все зависит от конкретного случая.


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
Rohoss
Дата 16.6.2010, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начальник интернета
***


Профиль
Группа: Завсегдатай
Сообщений: 1308
Регистрация: 9.10.2006
Где: Matrix

Репутация: 3
Всего: 18



Цитата(Akella @  15.6.2010,  10:38 Найти цитируемый пост)
Если компоненту нужно создать при создании формы и уничтожить при закрытии оной..

А если нет? В люом случае, если мы и не будем уничтожать компоненту, нам желательно освободить ресурсы.

former, мы немножко о разных вещах начали говорить, всё зависит от ситуации smile 


--------------------
Файловый менеджер Explorer.Net скачать  video
PM ICQ   Вверх
k0rvin
Дата 16.6.2010, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 0
Всего: 5



я вообще не понимаю, о чём спор? кто хочет создавать компоненты динамически руками в коде, могут это делать невозбранно и так. речь о тех, кто хочет их создавать статически, "мышкой", но при этом, чтоб они не мешались в дизайнере форм.

Это сообщение отредактировал(а) k0rvin - 16.6.2010, 22:20


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
Akella
Дата 17.6.2010, 19:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



Цитата(k0rvin @  16.6.2010,  22:19 Найти цитируемый пост)
речь о тех, кто хочет их создавать статически, "мышкой", но при этом, чтоб они не мешались в дизайнере форм.

во-во

PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle

Добро пожаловать в форум группы "Delphi".

В разделе разрешается:

  • Флудить (в приемлемых величинах)
  • Обсуждать модерирование данного раздела (но не его модератора)
  • Добавлять свои правила если они не противоречат существующим
  • Делать наезды на пешеходов***

Строго запрещено:

  • Размещать рекламу
  • Совершать оскорбления личностей
  • Материться
  • *** Пешеходами не являются (ко)модераторы, админы, участники клуба.

Если Вам понравилась атмосфера форума, заходите к нам чаще! Люблю, целую, вечно Ваш, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Форум группы: delphi | Следующая тема »


 




[ Время генерации скрипта: 0.2867 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.