Форум: "Потрепаться";
Текущий архив: 2003.05.22;
Скачать: [xml.tar.bz2];
ВнизОт VCL к API Найти похожие ветки
← →
Юрий Зотов (2003-04-30 21:57) [40]То, что для каждую задачу лучше всего решать наиболее подходящими для нее средствами - ну, слава Богу, к этому все же пришли.
А вот по этому пункту все же возражу:
> DVM © (30.04.03 12:54)
> Современные языки программирования (особенно Delphi)
> навязывают такой стиль программирования (проектирования?),
> что программирующий в ней (а особенно новичок) порой не имеет
> даже представления о том как работает его программа, как
> работает система, как работает процессор.
Delphi все же никому ничего не навязывает. Она экономит нам время, только и всего. Но при этом вовсе не заставляет пользоваться исключительно VCL. Хотите - пишите на чистом API, хотите - на Ассемблере. И все это в среде Delphi.
А новички... так на то они и новички, чтобы мало что понимать. Delphi здесь, вроде как, тоже ни при чем.
← →
Ihor Osov'yak (2003-04-30 22:15) [41]Да, что наиболее парадоксально. Вот, Игорь Шевченко, как бы противник програмировать на апи :-). Здесь также есть несколько стороннников апишного пронрамммирования.
Могу затеять идиотский спор, что сторонник vcl подхода даст форы любому здешнему сторонику апи на предмет знания и понимания внутренних механизмов.
И кажется мне, что я этот спор выиграю.
← →
Плохой человек (2003-04-30 22:49) [42]Из будущего:
HEX is DEAD.
ASM is DEAD.
API is DEAD.
ZIP is DEAD.
BYTE is DEAD.
BASIC is DEAD.
OLMER is not DEAD.
← →
Ihor Osov'yak (2003-04-30 22:56) [43]в дополнение - под сторонником vcl подхода я понимал Шевченко...
2 Плохой человек (30.04.03 22:49)
ну, несколько преувеличено..
да, и если мне пямять не изменяет - ником "Плохой человек" кто-то несколько дней назад грозился больше не пользоваться...
← →
Плохой человек (2003-04-30 22:58) [44]>да, и если мне пямять не изменяет - ником "Плохой человек" кто-то несколько дней назад грозился больше не пользоваться...
Память тебе изменяет. Это я грозился не пользоваться никами Anatoly Podgoretsky, Supreme-2, Kostya2000 и, конечно же, Ihor Osov"yak, но увы... никак. не отпускают. я не преувеличил, всё сказанное - правда.
← →
Ihor Osov'yak (2003-04-30 23:02) [45]Ну пользуйся. На здоровье. может полегшает.
← →
Song (2003-04-30 23:32) [46]Я вклинюсь немножко в беседу, хотя наверно уже и поздно.
Я считаю, что АПИ должна быть дополнительным средством при программировании, а не основным. Я не понимаю людей, которые делают всё через АПИ, например, создают окна через CreateWindow(Ex), потом вынуждены делать к ним обработчики сообщений и все остальные аттрибуты.. Да, я согласен, размер кода получается меньше, но нужно ли оно? Точнее оправдано ли? Размеры современных жёстких дисков и памяти впечатляют. Я напишу прогу на VCL"е. И пусть exe файл будет 2М, например. И что? Он не запустится? Он прекрасно будет работать. Напрасно думают люди, особенно новички, что VCL - "глючная вещь". На самом деле это зависит от программиста.
Есди всё так, тогда какие причины использования АПИ? Только что повторение - мать учения основ работы ОС, написав при этом в десятки, сотни строк больше, чем написав тоже самое, решая через VCL?
VCL был сделан как средство для быстрого и оптимального средства разработки, коим он и стал. И если программист "не такой крутой кодер на АПИ" это ещё ни о чём не говорит. Тут зависит прежде всего от способностей программирования вообще, а не от того владеет программист АПИ или нет.
Вообщем моё мнение таково: АПИ лучше применять, когда нужно тонко "подрегулировать" тот или иной механизм работы алгоритма в программе, но никак не для программирования всей задачи в целом.
← →
nikkie (2003-05-01 00:21) [47]
>Ihor Osov"yak
>Могу затеять идиотский спор
Согласен, что спор идиотский, так что не будем... Непонятно только зачем тогда это писать.
>в дополнение - под сторонником vcl подхода я понимал Шевченко...
Ну дополни тогда, кого ты имел в виду под сторонником api.
Я вообще не понимаю, зачем начали сделали из ветки спор, что круче - программировать на vcl или на api. Не надо только кивать на DVM, типа это он начал. Я когда читал такие эпитеты, как "идиотизм", "извращение", "садомазохизм" - тоже хотел резко отреагировать. Автор ветки сказал, что хочет перейти на апи. Ничего плохого в этом нет. Что он имел ввиду, говоря "полностью" - давайте не будет гадать. Может он хотел перейти от использования 1 api функции на весь проект на vcl к написанию всего проекта на api. Я считаю - желание похвальное, этот опыт скорее всего лишним не будет.
>Song
>Я считаю, что АПИ должна быть дополнительным средством при программировании, а не основным. ... Я напишу прогу на VCL"е.
Такое ощущение, что многие выступающие считают, что кроме дельфи ничего больше не существует. А ведь есть разные причины, которые заставляют использовать иные средства разработки. Например, требования работодателя. Например, особенности задачи. Вы писали на дельфи для pocketPC? Вы пробовали писать MMC snap-in"ы на дельфи? Зачем использовать дельфи для программирования полноэкранной игры на DirectX или OpenGL?
← →
Malder (2003-05-01 00:34) [48]Игорь Шевченко,по моему, вы так увлеклись доказательством, что VCL - отличная вещь, что начинаете перегибать палку. Никто и не спорит, что эта библиотека сильно упрощает жизнь. Но не надо косвенно призывать не изучать Win Api. Это нужно и полезно каждому Windows программисту. А если все сказанное вами и есть истина, то нафига ВЫ изучали win32 API, нафига ВЫ читали Рихтера ? Вот вы сами знаете и считаете, что другим это знать необязательно ?
Насчет "Реальный пример нужности такой задачи можешь привести ?" - вы и сами приведете кучу разных примеров. Да, конечно, "это не требуется в реальных задачах или требуется только для узкоспециализированых программ и т.д.", но это отговорки. Ведь некоторые и о сообщениях в windows ничего не знают ! И начинается "как мне узнать, когда курсор покинул xyz окно" - а когда видят код - челюсь вытягивается. Или пример с кодом, защищающем от повторного запуска программы (с мьютексами) - где это в VCL реализовано ?
← →
Плохой человек (2003-05-01 00:55) [49]Ребята, API - давно забытое прошлое.
← →
Ihor Osov'yak (2003-05-01 00:59) [50]2 nikkie © (01.05.03 00:21). Мой пост был связан только с теем, что у очень многих есть желание броситься в дебри апи, не разобравшись с элементарными вещами. Плюс выше неоднократно высказывалось мнение, что работа на vcl мешает пониманию тонкостей работы системы. Имхо, эти вещи не связаны. И пример Шевченко я привел лишь только потому, так как человек с одной стороны как бы противник использования апи, а с другой - здесь не очень то много отыщешь людей с его уровнем знаний на уровне системы.
>Такое ощущение, что многие выступающие считают, что кроме дельфи ничего больше не существует.
Не совсем понимаю почему такой вывод.
2 Malder © (01.05.03 00:34)
Если я в своем проекте пишу три - четыре строчки для работы с мьютексом, то что из этого следует? Что VCL от этого ущербней стала?
← →
Материнская зарплата (2003-05-01 03:20) [51]Я задал вопрос потому, что надо уменьшить размер откомпилированного файла и увеличить скорость программы. Но честно говоря, не ожидал такого базара :). Единственное, что мне пригодилось, это ссылки от DVM, за что ему БОЛЬШОЕ СПАСИБО!
← →
Malder (2003-05-01 12:11) [52]Если я в своем проекте пишу три - четыре строчки для работы с мьютексом, то что из этого следует? Что VCL от этого ущербней стала?
Это означает, что ты пишешь на чистом WinApi. А чтобы писать на чем-нибудь - это надо знать. Я про это говорил и это очевидно. Можешь еще раз пеечитать мой пост.
← →
Ihor Osov'yak (2003-05-01 12:24) [53]2 Malder © (01.05.03 12:11)
Нет, я пишу на VCL. И даже если иногда я использую слабодокументованные вещи на которые самостоятелно приходится переводить соотв. хидера от sdk или ddk, то я не счинаю, что я пишу на апи. Ибо каркас приложения все-же VCLный.
Пожалуй, есть две оговорки. Я никогда не пользуюсь Синхронайз, ибо там можно получить больше проблем, чем облегшения работы. Также когда-то в серцах сказал себе, что один из следующих win32 сервисов все же будет сделан без этого делфийского шаблона для сервисов. Имхо, каркас для сервисов там действительно реализирован не самым удачным образом.
← →
Song (2003-05-01 13:07) [54]>>Это означает, что ты пишешь на чистом WinApi.
Ok, а по-твоему тогда как написано следующее? На "чистом" АПИ? :)
Procedure TForm1.Button1Click(Sender: TObject)l
Begin
With Edit1 Do SetWidowLong(Handle,GWL_STYLE,GetWindowLong(Handle,GWL_STYLE) or ES_NUMBER);
End;
?
← →
Malder (2003-05-01 13:36) [55]Давайте разберемся в терминологии. Чистым WinApi я называю код, где непосредственно вызываются функции, описанные в MSDN и никакие другие функции, описанные в других библиотеках. С этой точки зрения я ошибся:
Это означает, что ты пишешь на чистом WinApi
Хотел сказать, что ты пишешь на WinApi. И его поэтому надо знать. Писать ВЕСЬ проект только на WinApi я никогда не призывал и призывать не буду. Я о том, что Игорь предлагал другую крайность - вообще не изучать WinApi.
> Я и не буду пытаться. Но уметь сделать что-то без VCL надо!
Зачем ? Реальный пример нужности такой задачи можешь привести ?
Разговор идет о том, что вовсе и не надо уметь что-то делать без VCL, что, по моему, явная ахинея.
← →
Ihor Osov'yak (2003-05-01 14:27) [56]2 Malder © (01.05.03 13:36)
Давайте разберемся в терминологии.
Есть более корректный термин. С использованием Win32 АPI вызовов.
То есть, мы непосредственно вызываем функции, експортируемые модулями, которые образуют win32 подсистему. В
этом отношениии все функции, обьявленные в windows.pas будут win32 api-ишными, ибо на них нет никаких оболочек.
Еще пример. Я использую NtCreateFile. Говорить о том, что я использую Win32 API будет некоррекно, так как эта функция не входит в подмножество Win32 API. Хотя на NT системах Win32 функция CreateFile в конечном итоге обращается к NtCreateFile. Здесь более корректный термин будет - использую Native API.
Еще. "Програмирование на чистом API", имхо, подразумевает работу только с импортироемыми функциями, и такой подход несколько нерационален. Все равно в конечном итоге у вас появлятся аналоги sysutil, какие-то шаблонны для окон и пд и пп. В конце-концов, какой-то код для поддержки неких информационных структур, хотя бы тех же списков.. То есть мы снова сделаем велосипед. Только свой. И как правило, хуже. Конечно,есть исключения в виде приложений, состоящих из одного окна и двух контролов, и может быть, что у вас будет несколько дней времени и воодушевления повозится с этим делом. Ради бога. На здоровье. Но как правило, после первого раза желание пропадает. Еще до окончания работы с проектом.
Далее. С целью обучения намного рациональнее проштудировать того же Рихтера, покопатся во внутренностях VCL, чтобы понять, как там практически реализовано то, о чем читали в Рихтера.
Да. По поводу MSDN. Там много чего написано. И не только о Win32API.
← →
JibSkeart (2003-05-01 14:34) [57]Пееходи на VC++ и никаких проблем
будешь себе писать на вин АПи,а MFС можете даже несмотреть вам же нужен АПИ :)
← →
Malder (2003-05-01 15:54) [58]. С целью обучения намного рациональнее проштудировать того же Рихтера, покопатся во внутренностях VCL, чтобы понять, как там практически реализовано то, о чем читали в Рихтера.
Вот ты и сказал то, что говорю я, только другими словами.
Вообще мое замечание относилось к Игорю Шевченко, не понимаю чего ты набросился. Наверное, причислил к противникам VCL и теперь пытаешься заклеймить :)))
Еще раз повторю - Игорь косвенно призывал не изучать API, мол, от этого никакой пользы нету. А я говорю, что польза есть. ВОТ И ВСЕ, ЧТО Я ХОТЕЛ СКАЗАТЬ.
Рихтер - это и есть API.
внутренностях VCL, чтобы понять, как там практически реализовано то, о чем читали в Рихтера
Если ты не собираешься изучать Win32API, не понимаю, как ты собираешься читать Рихтера и уж тем более разбираться во внутренностях VCL, если они все в конечном итоге используют win32API.
Могу затеять идиотский спор, что сторонник vcl подхода даст форы любому здешнему сторонику апи на предмет знания и понимания внутренних механизмов.
Неужели ты никак не можешь понять. НИКТО НЕ ПРЕДЛАГАЕТ ОТКАЗЫВАТЬСЯ ОТ VCL. Но на нем нельзя сделать ВСЕ в windows, как это можно сделать на win32 API. Поэтому знать win32 API надо !
Меня вообще удивляют люди, которые сами читали Рихтера и разбирались во внутреннем устройстве windows призывают других программистов этого не делать, а ограничиваться (да, да, ограничиваться) VCL
← →
VEG (2003-05-01 18:37) [59]Вот я люблю писать проги только на WIN & DIRECTX API:P
← →
Материнская зарплата (2003-05-03 04:45) [60]Ну, кто еще даст ссылок?
← →
Mop (2003-05-04 03:35) [61]2 VEG
Уважаю...
← →
p77 (2003-05-04 04:05) [62]Прежде чем переходить на WinAPI, почитали бы MSDN (или хотя бы Win32*.hlp в составе Дельфи). Когда прочитаете, тогда флаг Вам в руки, барабан на шею и марш навстречу электричке:). Удачи.
С уважением,
← →
Материнская зарплата (2003-05-04 05:00) [63]Уже почитал, и захотел!
← →
Ihor Osov'yak (2003-05-04 11:14) [64]Ух ты:
p77 © (04.05.03 04:05)
Прежде чем переходить на WinAPI, почитали бы MSDN
Материнская зарплата (04.05.03 05:00)
Уже почитал, и захотел!
Прыть однако, мне бы такую...
Есть подозрение, что некий злобный буратин со Ставрополя здесь уважаемую публику разводит..
Но может ошибаюсь - пополнение в полку Supreme прибыло..
← →
Anatoly Podgoretsky (2003-05-04 11:36) [65]Помнится был вопрос - мама бухгалтер
не это ли?
Страницы: 1 2 вся ветка
Форум: "Потрепаться";
Текущий архив: 2003.05.22;
Скачать: [xml.tar.bz2];
Память: 0.59 MB
Время: 0.008 c