Ich sehe es ein bißchen anders. Man kann
nonVCL =
API und
VCL = High Level nicht vergleichen. Die
VCL setzt ja auf's
API auf. Somit ist es so das die
VCL nur eine höher angelegte Schnittstelle ist auf die zugrundeliegende
API. Also so wie auch das
API auf Treiberebene auf VXD/ SYS und Services aufsetzt. Wenn man schon die
VCL mit irgendwas vergleichen wollte dann wäre das mit
COM/
COM+/MFC ein besserer Vergleich.
Da nun
API und
VCL zwei andere Abstraktionsebenen der gleichen Sache sind fragt sich wo der Unterschied besteht. Der besteht hauptsächlich in der Zielsetzung.
API nutzt man wenn man den Overhead der
VCL nicht möchte, egal warum. Oder man nutzt es wenn die
VCL spezielle Ziele nicht erfüllen kann, weil sie keine Unterstützung des speziellen oder auch neueren
API's hat.
Die
VCL nutzt man weil sie einem Arbeit abnimmt. Nicht unbedingt Lern-&Denkarbeit, aber im besonderen Wartungs-/&Supportarbeiten. Die
VCL ermöglicht es auf einfache Weise dem Entwickler Zusatzkomponenten von Drittanbiertern zu verwenden. Dadurch leistet dieser Drittanbieter Supportarbeiten und Fehlerbeseitungen an seinen Komponenten, was es dem Anwender ermöglicht sich auf sein eigentliches Problem zu stürtzen.
Ein guter
VCL Coder ist auch ein Coder der das
API, die Konstruktionsweise der Machinen mit denen er arbeitet und somit auch Assembler beherrscht.
Am besten vergleichbar ist die
VCL mit der MFC, und da wird wohl keiner bestreiten das die
VCL besser und wesentlich effizienter ist. In eienr EXE wird die
VCL ca. 250-500 Kb ausmachen. Die MFC
DLL's sind ca. 1-2 Mb groß.
Gruß Hagen