VC++ vs BCB 2006 с точки зрения low level programming
От: Orifiel  
Дата: 24.11.05 09:18
Оценка: -3 :)
Привет всем.

Ранее часто приходилось слышать справедливые высказывания о том,
что среды Borland малопригодны для создания системного ПО под Win32.
Сам занимаюсь системным программированием (kernel mode drivers, NT services,
ACL API, SDDL, CertAPI, CryptoAPI, SetupAPI etc.), использую большей частью VC6 вкупе с WTL, недолюбливаю .NET и предпочитаю юзать Win32 API, но страшно ненавижу оконный API, все эти сабклассы, грабли, структуры вроде NMHDR и LVITEM и конструкции типа
MESSAGE_HANDLER(IDD_DIALOG1, WM_INITDIALOG). Ситуация осложняется тем, что
гуру системного программирования вроде Русиновича и Рихтера с удовольствием юзают
оконный raw API, при виде которого бросает в дрожь. Возникает вопрос, изменится ли
ситуация в мире low level programming c приходом BCB 2006 или все системщики и впредь будут юзать VC и кричать, что все, кто юзает Builder, голимые ламеры.

P.S.
А оконный API вкупе с WTL пора забыть и выкинуть к е... матери.
Re: VC++ vs BCB 2006 с точки зрения low level programming
От: Orifiel  
Дата: 24.11.05 12:46
Оценка: +1 -7 :))
Здравствуйте, Orifiel, Вы писали:

O>Привет всем.


O>Ранее часто приходилось слышать справедливые высказывания о том,

O>что среды Borland малопригодны для создания системного ПО под Win32.
O>Сам занимаюсь системным программированием (kernel mode drivers, NT services,
O>ACL API, SDDL, CertAPI, CryptoAPI, SetupAPI etc.), использую большей частью VC6 вкупе с WTL, недолюбливаю .NET и предпочитаю юзать Win32 API, но страшно ненавижу оконный API, все эти сабклассы, грабли, структуры вроде NMHDR и LVITEM и конструкции типа
O>MESSAGE_HANDLER(IDD_DIALOG1, WM_INITDIALOG). Ситуация осложняется тем, что
O>гуру системного программирования вроде Русиновича и Рихтера с удовольствием юзают
O>оконный raw API, при виде которого бросает в дрожь. Возникает вопрос, изменится ли
O>ситуация в мире low level programming c приходом BCB 2006 или все системщики и впредь будут юзать VC и кричать, что все, кто юзает Builder, голимые ламеры.

O>P.S.

O>А оконный API вкупе с WTL пора забыть и выкинуть к е... матери.


Скажу больше. Оконный API сейчас используют лишь те, кто хочет показать свою крутизну. Позерство, не более. Реальных оснований для использования
оконного API сейчас нет. Вообще, в 21 веке писать GUI на WinAPI и GTK аморально.
Что касается Русиновича и Рихтера, то за использование оконного API без оберток Microsoft им просто увеличивает гонорары (типа, реальные пацаны должны юзать raw API).
Re[2]: VC++ vs BCB 2006 с точки зрения low level programming
От: Cyberax Марс  
Дата: 24.11.05 12:50
Оценка:
Orifiel wrote:

> Скажу больше. Оконный API сейчас используют лишь те, кто хочет

> показать свою крутизну. Позерство, не более. Реальных оснований для
> использования оконного API сейчас нет.

Эт-то почему?

> Вообще, в 21 веке писать GUI на WinAPI и GTK аморально. Что касается

> Русиновича и Рихтера, то за использование оконного API без оберток
> Microsoft им просто увеличивает гонорары (типа, реальные пацаны должны
> юзать raw API).

WTL/MFC по большей части просто оборачивают вызовы функций, чтобы
приятнее их было использовать. Так что особой разницы нет.

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
Re[2]: VC++ vs BCB 2006 с точки зрения low level programming
От: Pavel Dvorkin Россия  
Дата: 24.11.05 12:54
Оценка: 3 (1) +3
Здравствуйте, Orifiel, Вы писали:

O>Что касается Русиновича и Рихтера, то за использование оконного API без оберток Microsoft им просто увеличивает гонорары (типа, реальные пацаны должны юзать raw API).


Прежде чем делать выводы, не мешало все же бы по крайней мере познакомиться с тем, что делает Руссинович. Он, к Вашему сведению, занимается вещами, весьма далекими от NMHDR, LVITEM и классов-оберток . А также почитать книги Рихтера — может быть, тогда хоть станет понятным, о чем они . Потому как там тоже нет ни NMHDR, ни LVITEM , а есть объяснение базовых понятий, вокруг которых и можно накручивать столь милые Вашему сердцу обертки.
With best regards
Pavel Dvorkin
Re: VC++ vs BCB 2006 с точки зрения low level programming
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 24.11.05 13:25
Оценка:
Здравствуйте, Orifiel, Вы писали:

O>Возникает вопрос, изменится ли

O>ситуация в мире low level programming c приходом BCB 2006 или все системщики и впредь будут юзать VC и кричать, что все, кто юзает Builder, голимые ламеры.

А что ожидается такого супер-пупер в BCB 2006?
Неужели они качество своего компилятора поднимут?
... << RSDN@Home 1.1.4 stable rev. 510>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[3]: VC++ vs BCB 2006 с точки зрения low level programming
От: Orifiel  
Дата: 24.11.05 13:36
Оценка: -2
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Здравствуйте, Orifiel, Вы писали:


O>>Что касается Русиновича и Рихтера, то за использование оконного API без оберток Microsoft им просто увеличивает гонорары (типа, реальные пацаны должны юзать raw API).


PD>Прежде чем делать выводы, не мешало все же бы по крайней мере познакомиться с тем, что делает Руссинович. Он, к Вашему сведению, занимается вещами, весьма далекими от NMHDR, LVITEM и классов-оберток . А также почитать книги Рихтера — может быть, тогда хоть станет понятным, о чем они . Потому как там тоже нет ни NMHDR, ни LVITEM , а есть объяснение базовых понятий, вокруг которых и можно накручивать столь милые Вашему сердцу обертки.


Достаточно давно знаком с творчеством упомянутых господ. Удивляет то, что пользовательские
части хитов Русиновича — filemon, regmon, tokenmon — и других подобных программ написаны на голом API, почитай на чистом С (даже не С++) без всяких оберток. Что касается Рихтера, то видеть неуклюжие конструкции типа ANCHOR_CONTROLS для ресайза API-контролов при наличии
VCL просто смешно.
Re[3]: VC++ vs BCB 2006 с точки зрения low level programming
От: Orifiel  
Дата: 24.11.05 13:43
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Orifiel wrote:


>> Скажу больше. Оконный API сейчас используют лишь те, кто хочет

>> показать свою крутизну. Позерство, не более. Реальных оснований для
>> использования оконного API сейчас нет.

C>Эт-то почему?


Как говорил один мой знакомый, когда в Вила Риве уже давно сдали проект,
в Вила Баджо продолжают писать обертки для оконных API функций. При этом
не учитывают то, что функции наподобии AdjustTokenPrivileges или ZwLoadDriver
одинаково работают как из-под программ на VCL, так и из-под программ на голом API.

>> Вообще, в 21 веке писать GUI на WinAPI и GTK аморально. Что касается

>> Русиновича и Рихтера, то за использование оконного API без оберток
>> Microsoft им просто увеличивает гонорары (типа, реальные пацаны должны
>> юзать raw API).

C>WTL/MFC по большей части просто оборачивают вызовы функций, чтобы

C>приятнее их было использовать. Так что особой разницы нет.

C>--

C>С уважением,
C> Alex Besogonov (alexy@izh.com)
Re[4]: VC++ vs BCB 2006 с точки зрения low level programming
От: Cyberax Марс  
Дата: 24.11.05 13:44
Оценка:
Orifiel wrote:

> Достаточно давно знаком с творчеством упомянутых господ. Удивляет то,

> что пользовательские
> части хитов Русиновича — filemon, regmon, tokenmon — и других подобных
> программ написаны на голом API, почитай на чистом С (даже не С++) без
> всяких оберток. Что касается Рихтера, то видеть неуклюжие конструкции
> типа ANCHOR_CONTROLS для ресайза API-контролов при наличии VCL просто
> смешно.

А в VCL уже появились нормальные layout'ы????

Да и не каждому хочется тянуть 300Кб VCLя с маленькой утилитой.

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
Re[4]: VC++ vs BCB 2006 с точки зрения low level programming
От: Cyberax Марс  
Дата: 24.11.05 13:49
Оценка:
Orifiel wrote:

> C>Эт-то почему?

> Как говорил один мой знакомый, когда в Вила Риве уже давно сдали проект,
> в Вила Баджо продолжают писать обертки для оконных API функций.

Знаете, использование/неиспользование VCL в больших проектах — это ТАКАЯ
фигня по сравнению со всем остальным...

А вместо VCL я использую wxWidgets, для которого есть нормальный
дизайнер (http://roebling.de/sshots.html), нормальные layout'ы
(http://wxcode.sourceforge.net/complist.php?section=window+layout&amp;page=1),
библиотеки для докинга панелей (http://www.snakesoft.net/wxifm/) и
который портирован под пару десяток систем.

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
Re[4]: VC++ vs BCB 2006 с точки зрения low level programming
От: Pavel Dvorkin Россия  
Дата: 24.11.05 13:52
Оценка: +4
Здравствуйте, Orifiel, Вы писали:

O>Достаточно давно знаком с творчеством упомянутых господ. Удивляет то, что пользовательские

O>части хитов Русиновича — filemon, regmon, tokenmon — и других подобных программ написаны на голом API, почитай на чистом С (даже не С++) без всяких оберток.

Да. Бедный несчастный Руссинович! Ну не хватило у него ума MFC использовать для своих программ


>Что касается Рихтера, то видеть неуклюжие конструкции типа ANCHOR_CONTROLS для ресайза API-контролов при наличии

VCL просто смешно.

М-да.. Как говорится, комментарии излишни.
With best regards
Pavel Dvorkin
Re[5]: VC++ vs BCB 2006 с точки зрения low level programming
От: Orifiel  
Дата: 24.11.05 13:57
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Orifiel wrote:


>> C>Эт-то почему?

>> Как говорил один мой знакомый, когда в Вила Риве уже давно сдали проект,
>> в Вила Баджо продолжают писать обертки для оконных API функций.

C>Знаете, использование/неиспользование VCL в больших проектах — это ТАКАЯ

C>фигня по сравнению со всем остальным...

C>А вместо VCL я использую wxWidgets, для которого есть нормальный

C>дизайнер (http://roebling.de/sshots.html), нормальные layout'ы
C>(http://wxcode.sourceforge.net/complist.php?section=window+layout&amp;page=1),
C>библиотеки для докинга панелей (http://www.snakesoft.net/wxifm/) и
C>который портирован под пару десяток систем.

Интересно. Как-нибудь ознакомлюсь более подробно.

C>--

C>С уважением,
C> Alex Besogonov (alexy@izh.com)
Re: VC++ vs BCB 2006 с точки зрения low level programming
От: Владик Россия  
Дата: 24.11.05 14:44
Оценка: +2
Здравствуйте, Orifiel, Вы писали:

O>ситуация в мире low level programming c приходом BCB 2006


А что, борланд обещает что-то революционное? Или как обычно — посредственный компилятор C++, кучу граблей на стыке с паскальной VCL (ну не стыкуется паскаль с С++, пора бы уже понять за 5 версий) и глюкавую/тормозную IDE с никаким редактором кода?

[...]
O>P.S.
O>А оконный API вкупе с WTL пора забыть и выкинуть к е... матери.

Возможно. Но только не ради VCL. VCL себя уже изжила.
Как все запущенно...
Re[2]: VC++ vs BCB 2006 с точки зрения low level programming
От: Denis_TST Россия www.transsys.ru
Дата: 24.11.05 18:16
Оценка:
Здравствуйте, eao197, Вы писали:

E>Здравствуйте, Orifiel, Вы писали:


O>>Возникает вопрос, изменится ли

O>>ситуация в мире low level programming c приходом BCB 2006 или все системщики и впредь будут юзать VC и кричать, что все, кто юзает Builder, голимые ламеры.

E>А что ожидается такого супер-пупер в BCB 2006?
E>Неужели они качество своего компилятора поднимут?
Ничего там нет, кроме общей IDE (Delphi\Builder\C#), которая все равно сильно уступает студии .
Для Delphi .Net нет даже поддержки .Net 2.0
На днях выкачал Pre-Release Borland Developer Studio 2006, вот выдержка из Help:

What's New in Developer Studio 2006

Developer Studio 2006 provides key new features for developing Delphi, Delphi for .NET, C#, and C++ applications
C++ Personality
Developer Studio 2006 provdes support for developing C++ applications. The following key features are available for only the C++ personality:

Build configurations: You can create and quickly switch between multiple build configurations, which store sets of command-line options for build tools such as the compiler and linker.
Build events: You can specify commands to execute at certain points in the build by righ-clicking a buildable file in the Project Manager and choosing Build Events.
CodeGuard integration: CodeGuard, a tool that provides runtime debugging for C++ applications, has tighter integration with Developer Studio 2006.
Dinkumware runtime libraries: Dinkumware runtime libraries are provided for enhanced conformance to ANSI/ISO C++ standards.
IDE
New Memory Manager: This relncludes a new memory manager that significantly improves start-up time, runtime speed, and hyperthreading performance.
Improved Speed for Several Features: The Search | Find Uses/Import Namespace, Find Class, and Change Parameters features all have significant performance improvements in this release.
Change Parameters Refactoring: You can add, remove, or change the ordering of method parameters using this refactoring. Change parameters refactoring is available for Delphi for Win32 and Delphi for .NET.
Message view: The Message view automatically scrolls to display new items.
Project Repository improvements: You can now add a starter project, demo, template, or other frequently used file to the Object Repository, which causes it to become available on the New menu.
Form Designer
Design Guidelines: When you move components on a form, design guidelines appear and help you align components.
Form Positioner: This new view appears in the lower-right corner of the Form Designer. You can expand this view and quickly reposition the runtime position of the form.
Code Editor
New code templates: Code templates provide a means of automating the task of typing frequently used code structures. Developer Studio 2006 provides a library of templates for every supported language, and you can add other new templates by choosing FileNewOtherOther FilesCode Template.
Surround templates: You can right-click a selected a block of code and choose Surround to view a list of possible templates with which to surround your code.
Live templates editing: When you add a code template to your source code, you can TAB through fields and insert points to quickly populate the template with logic.
Block completion: Block closures are automatically added as needed when you edit code.
Method navigation: You can quickly navigate between methods in your source code using a series of hotkeys. CTRL+ALT+UP and CTRL+ALT+DOWN move to the previous and next method, respectively. CTRL+ALT+HOME and CTRL+ALT+END move to the first and last methods in the source, respectively. CTRL+ALT+Q^L toggles class lock, which causes method navigation to apply to only the current class.
Improved Code Editor gutter: The Code Editor gutter is now more readable and less cluttered.
Diff highlighting: Yellow highlights appear in the Code Editor gutter next to lines modified since your last save. Green highlights appear next to lines that have been modified and saved in the current editing session.
Close all other pages: You can close all other pages by right-clicking a page tab and choosing Close All Other Pages.
Debugger
Remote debugging: Remote debugging is now available for native Win32 applications, managed applications, and ASP.NET applications.
Symbol table management: You can now specify the order in which symbols tables are loaded for a particular module that you are debugging. You can also limit the search to specific symbol tables, which can speed up the debugging process.
Expandable watches: You can now inspect the values of members within a watched object, as well as elements within an object. Expanded tooltips are available for watched objects.
CPU view: In the CPU view, you can now select multiple items and copy them to the clipboard..
Sort by load order: In the Module view, modules can now be sorted by their load order.
Close implicitly opened files: The debugger now closes any files it automatically opens in a debugging session.



VCL
New components: The following new components have been added to the Visual Component Library:

TTrayIcon
TGridPanel
TFlowPanel
New classes: The following new classes have been added:

TCustomTransparentControl
TMargins
TPadding
Delphi Language Enhancements
Records: The following support has been added for record types:

Operator overloading
Non-virtual method declaration
Regular instance methods
Constructors with non-empty parameter lists
Static methods and properties
Note:
Destructors in records are not permitted.

... << RSDN@Home 1.2.0 alpha rev. 599>>
Re: VC++ vs BCB 2006 с точки зрения low level programming
От: Ligen Украина http://zone-of-ambiguity.blogspot.com/
Дата: 24.11.05 18:40
Оценка:
Здравствуйте, Orifiel, Вы писали:

<skipped>

Согласен:
Сама идея VCL как абстрагирования от API довольно неплоха сама по себе, там приятный дизайнер, куча готовых вещей, а самое главное — отсутствие низкоуровневой работы с айдишниками и сообщениями

Не согласен:
1) Невероятно глюкавый и тормозной компилер. VC тоже глючит, особенно 6-й. Но я ниразу за всю творческую карьеру не напоролся на полноценный рантайм баг в MS компиляторах. В билдере я к было ним почти привык, там оптимизацию, например, включать вообще смертельно. А если не сделаешь rebuild all финальной сборки, ожидает тебя конфуз перед клиентом ))
2) Паскализмы. Уже говорили миллион раз. No comments
3) Размер бинаря! Получается просто неимоверных размеров — для класса задач (даже с ГУИ!) сразу в бан
4) Просто не компилит большие проекты. Вообще. Видно, не тестили. Больше >100 файлов в проекте, все — сушите сухари

З.Ы. Я довольно долго и счастливо программил как на BCB так и VS.
Просто пришел к тому, что надежность + соответствие стандарту сэкономит больше времени, чем удобный гуй.
МФЦ пользуй, ничего там страшного нет
Viva el Junta Militar! Viva el Presidente!
Re[2]: VC++ vs BCB 2006 с точки зрения low level programming
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 24.11.05 19:28
Оценка:
Здравствуйте, eao197, Вы писали:

E>Здравствуйте, Orifiel, Вы писали:


O>>Возникает вопрос, изменится ли

O>>ситуация в мире low level programming c приходом BCB 2006 или все системщики и впредь будут юзать VC и кричать, что все, кто юзает Builder, голимые ламеры.

E>А что ожидается такого супер-пупер в BCB 2006?

E>Неужели они качество своего компилятора поднимут?

О да! Тогда сразу перейду на на BCB 2006. )))))))))))
Sic luceat lux!
Re[2]: VC++ vs BCB 2006 с точки зрения low level programming
От: gear nuke  
Дата: 24.11.05 20:27
Оценка:
Здравствуйте, eao197, Вы писали:

E>А что ожидается такого супер-пупер в BCB 2006?

E>Неужели они качество своего компилятора поднимут?

"решение такой задачи представляется малореалистичным"
Автор: Сергей Орлик
Дата: 14.10.05

У них другие цели.
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth
Re: VC++ vs BCB 2006 с точки зрения low level programming
От: gear nuke  
Дата: 24.11.05 21:24
Оценка:
Здравствуйте, Orifiel, Вы писали:

[]

O>изменится ли

O>ситуация в мире low level programming c приходом BCB 2006 или все системщики и впредь будут юзать VC и кричать, что все, кто юзает Builder, голимые ламеры.

Что означает выделенное?
Если Вы имеете ввиду разработку драйверов, то:
какие плюсы даст BCB 2006 для этого?
Чем поможет эта дорогостоящая среда?
Можно ли обеспечить возможность source-level debugging используя BCB?

Для создания драйвера необходимо и достаточно DDK (или ISF Kit), которые почти бесплатны. Всё. Компилятор (явно качественней, чем bcb32) входит в комплект. Добавте ещё редактор по вкусу и бесплатный отладчик от MS.

Поэтому ничего не изменится.
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth
Re[2]: VC++ vs BCB 2006 с точки зрения low level programming
От: Orifiel  
Дата: 25.11.05 09:05
Оценка: -2
Здравствуйте, gear nuke, Вы писали:

GN>Здравствуйте, Orifiel, Вы писали:


GN>[]


O>>изменится ли

O>>ситуация в мире low level programming c приходом BCB 2006 или все системщики и впредь будут юзать VC и кричать, что все, кто юзает Builder, голимые ламеры.

GN>Что означает выделенное?

GN>Если Вы имеете ввиду разработку драйверов, то:
GN>какие плюсы даст BCB 2006 для этого?
GN>Чем поможет эта дорогостоящая среда?
GN>Можно ли обеспечить возможность source-level debugging используя BCB?

GN>Для создания драйвера необходимо и достаточно DDK (или ISF Kit), которые почти бесплатны. Всё. Компилятор (явно качественней, чем bcb32) входит в комплект. Добавте ещё редактор по вкусу и бесплатный отладчик от MS.


GN>Поэтому ничего не изменится.


Насчет драйверов да. Здесь без DDK вы и шагу не ступите. Я имею ввиду модули режима пользователя, такие
как системные сервисы, программы управления сертификатами, инсталляторы драйверов, системы безопасности.
Но вопрос не в этом. Просто надоело каждый раз слушать бред, что если ты не пишешь все, от начала до конца,
даже пресловутый GUI, на raw API/WTL/MFC, то ты дилетант и ламер. Вот на сайте wasm.ru люди вообще страдают
хреновней, программируя как kernel drivers, так и user mode apps на чистом асме и называют это дзеном. Да
к чертям собачим этот дзэн, когда куда важнее СРОКИ РАЗРАБОТКИ.
Re[3]: VC++ vs BCB 2006 с точки зрения low level programming
От: gear nuke  
Дата: 25.11.05 09:48
Оценка:
Здравствуйте, Orifiel, Вы писали:

O>Насчет драйверов да. Здесь без DDK вы и шагу не ступите.


Да вроде как MinGW позволяет билдить драйверы, там и хидеры даже есть. Но — не пробовал, смысла не вижу в этом никакого.

O>Я имею ввиду модули режима пользователя, такие

O>как системные сервисы, программы управления сертификатами, инсталляторы драйверов, системы безопасности.

Ну так это обычные юзермодные аппликухи — пишите на чём удобнее .

O>Но вопрос не в этом. Просто надоело каждый раз слушать бред, что если ты не пишешь все, от начала до конца,

O>даже пресловутый GUI, на raw API/WTL/MFC, то ты дилетант и ламер.

А ещё говорят — кто не колется, тот ничего в жизни не видел Я бы просто не стал некторые вещи слушать.

Хотя думаю, что правильно — кто-то пишет дровину, кто-то GUI, а кто-то сайт дизайнит. Так и качество продукта в целом будет выше.

O>Вот на сайте wasm.ru люди вообще страдают

O>хреновней, программируя как kernel drivers, так и user mode apps на чистом асме и называют это дзеном.

Вроде как хозяин сайта давно уже пишет на PHP некоторую интернет-игру.

Хотя...
.data
MsgCaption      db "Iczelion's tutorial no.2",0
MsgBoxText      db "Win32 Assembly is Great!",0

.code
start:
    invoke MessageBox, NULL,addr MsgBoxText, addr MsgCaption, MB_OK
    invoke ExitProcess,NULL
end start
где тут асм
Зато здесь есть "неправильность" — выделено жирным. И лишний байт, который был бы сэкономлен компилятором С.

O>Да к чертям собачим этот дзэн, когда куда важнее СРОКИ РАЗРАБОТКИ.


Дзен — он же учит не думать о $$$$$$
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth
Re[4]: VC++ vs BCB 2006 с точки зрения low level programming
От: ArtemGorikov Австралия жж
Дата: 25.11.05 10:14
Оценка: +2 -1
Здравствуйте, Orifiel, Вы писали:

O>Достаточно давно знаком с творчеством упомянутых господ. Удивляет то, что пользовательские

O>части хитов Русиновича — filemon, regmon, tokenmon — и других подобных программ написаны на голом API, почитай на чистом С (даже не С++) без всяких оберток. Что касается Рихтера, то видеть неуклюжие конструкции типа ANCHOR_CONTROLS для ресайза API-контролов при наличии
O>VCL просто смешно.

Представьте, что Вам нужна такая функциональность контрола, которой нет в VCL. Т.е. нужно писать свой контрол — разбираться в особенностях вызовов паскалевского кода из C++, мириться с закидонами компилятора, отсутствием trace и assert, потом устанавливать свое творение на панель компонентов у себя и потом еще писать инструкции другим программистам, которые тоже над этим проектом работают — потому, что они просто не смогут открыть у себя форму с этим компонентом без его предварительной установки. Как, разве гемора Вы тут не находите? Дальше — чтобы написать контрол, надо знать устройство виндозных окон: какие бывают сообщения, структуры, передаваемые в качестве параметров — т.е. лезть не в свою область. Ведь ваша область — это кнопкок на форму накидать и все.
А MFC или WTL программист уже знает все тонкости, и отладчик в студии на порядки мощнее и удобнее билдеровского. В результате, для билдеровского программиста проблема решаема только при наличии компонента, тогда он крут — кинул контрол за пару секунд на форму и все — RAD программист В этом вся разница между использованием RAD-средств и классическим программированием.

P.S. Хватит называть разными нехорошими словами WTL и MFC. Не нравится — не пользуйте, и все.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.