Dipl. User mit summa cum laude
Basic hat drei ganz grosse Nachteile
A) es ist eine Interpretersprache .. und damit wohl so das langsamste, was man sich vorstellen kann (ausser Java
) Zwar kann man in neueren Basicdialekten auch in Exen compilieren, aber diese sind dann meist nicht so optimiert, wie beispielsweise C++ Programme, da vorher kein so kompakter, maschienennaher code vorlag
B) Es hat in seiner Grundversion weder Proceduralen Aufbau, noch Objecteigenschaften ... da siese Konzepte erst in neueren Sprachen zum Tragen kommen .. es gibt zwar neuere Versionen, die auch solche Konzepte uebernommen haben, aber diese wurden foermlich in das alte starre Konzept hineingepresst und passen nicht wirklich in die Basic-Syntax, was uns zu Punkt C bringt
C) Basic hat eine Syntax, die zwar fuer den Anfaenger leicht lernbar ist, jedoch sehr unflexiebel ist, schlecht wartbar und unstrukturiert. Oft haben Basicumsteiger die "umstaendliche" Syntax in anderen Sprachen bemaengelt, z.B. ein ; nach jedem Befehl oder die Klammern um Parameter von Funktionen, oder das Explizite Definieren von Variablen (Worum neue Basic-Varianten auch nicht mehr drum rum kommen) ... aber gerade diese Strukturierungen machen den Code erst wirklich flexiebel und nebenbei auch noch besser lesbar und verstaendlicher
Basic hat keinerlei Vorteile, die andere Sprachen nicht auch haetten, zudem sind die anderen Sprachen (wie C++ / Delphi) teilweise bis um den Faktor 1000 schneller, uebersichtlicher, flexiebler und hardwarenaeher. Fortschrittliche Konzepte, die nach Basic entwickelt wurde, wie Objectorientierte Programmierung oder COM Schnittstellen, sind entweder nicht in Basic enthalten, oder marginal hineingepresst wurden, ohne das verstaubte Basic-konzept zu ueberholen.
Was den Preis angeht, so ist C++ nahezu unschlagbar, da es sehr gute Kostenlose Entwicklungsumgebungen und Compiler (uebersetzer) gibt.
Zudem muessen wegen dem Interpreter immer zusatzdateien bei Basic mitgeschleift werden (die bekannte Run-time-library), was bei den exe-erzeugenden Compilersprachen nicht der Fall ist.
Basic erlaubt nicht mal wirklich modulare Programmierung (was fuer Teamprojekte aeusserst wichtig ist) .
Es wurde im Post zuvor die Debugbarkeit abgesprochen ... da stehen die compilersprachen den Interpretern in nichts nach ... sei es Haltepunkte setzen und das Programm bis dahin ablaufen zu lassen, sei es schrittweises oder procedurales Ausfuehren von Code, oder gar das Ansehen und Aendern von Variablen zur Laufzeit ... alles bieten die Compilersprachen auch, wenn nicht sogar komfortabler ...
Das einzige , was die Compiler nciht koennen, dass man den Code waehrend des Ausfuehrens aendern kann, da der Code ja nicht interpretiert wird. Da dies aber auch bei Basic oftmals nicht funktioniert, wenn groessere Bloecke geaendert werden, ist dies kein wirklicher verlust.
Zusammenfassend ist zu sagen, warum sollte man eine langsame, veraltete Sprache lernen, in die mutwillig dem Ursprung wiedersprechende Konzepte hineingeschustert wurden, wenn man neuere, modernere Sprachen lernen kann, die genau so einfach zu handhaben sind, mehr Flexibilitaet und Uebersicht bieten und so entwickelt wurden, dass sie den Neuerungen konzeptionell angepasst sind und nicht, wie in basic die Konzepte zu gunsten der Sprache verbogen wurden.
Gruss Ineluki
Geändert von Ineluki (05.12.2003 um 05:10 Uhr)