Hallo
- Portierbarkeit:
VB gibt’s nun mal nur für Windows. C(++) gibt es für für
praktisch alle Computer/Betriebsysteme und microComputer. Aber
es ist auch mit C(++) nicht ganz einfach den Source-Code zu
portierenIMHO: Die Portierbarkeit (im Sinne Crossplattform Programming)
ist nahezu unmöglich und wird in der Praxis für grössere oder
kommerzielle Projekte nicht gemacht.
Ich kenne einige Projekte wo das gemacht wurde. Im Prinzip legst du einfach eine Schicht zwischen die Applikation und das Betriebssystem.
Die DOS-Box und das OS/2 API, unter NT, machen eigentlic auch nichts anderes.
Die andere Variante ist, dass du die ganze Programm-Logik in eine Library packst und dann „nur“ noch das Bio-Interface ans Betriebsystem anpassen musst.
- Geschwindigkeit
Im allgemeinen ist der Code von C(++) schneller als der von
VB.Das wird viel erzählt, konkret sah ich es nur bei echtem C und
Hardwarezugriffen. In der heutigen Zeit sind für moderne
Applikation ist das Netzwerk und die biologische Steuereinheit
das „Bottleneck“… Natürlich leuchtet mir das Argument ein,
dass
wenn ich mit einer Programmiersprache direkt einen API - Call
ausführe, statt über eine „Middleware“ wie Designer / Wizzards
etc. zu gehen, ich immer etwas schneller bin…
Insbesondere bei rechenaufwändigen Aufgaben merkst du den Unterschied auch! Bei irgenwelchen Serverabfragen ist der Engpass natürlich schon beim Netzwerk und beim Server und dann sitzt ja auch noch einer vor der Kiste, und der hatt auch nur eine beschränkte Verarbeitungsgeschwindigkeit.
VB ist sehr konfortabel in der Fehlerbehandlung: wenn du
nichts machts wird jeder Fehler angezeigt. Bei C(++) erhälst
du entweder total unsinnige Resultate (z.B. bei einem
Überlauf) oder das Programm oder das ganze Betriebssystem
steht still.Dieses hat für mich weniger mit C++ zu tun. Vielmehr ist es
diese API Programmierung (also unabhängig von der Sprache),
welche das „Problem“ ist. Wie wird das wohl mit C# ???
C:
short i; // ist 16-Bit
i = 30000;
i *= 3; Resultat: 24464 !
VB:
Dim i as integer
i = 30000
i = i * 3 'Hier hast einen Runtime Error
Die ist eine Fehlerquelle in C(++) und hat nichts mit APIs zu tun. (Hat aber auch seine Vorteile, insbesondere wenn man weiss was man tut).
MfG Peter(TOO)