Dipl. User mit summa cum laude
in basic werden in der regel Unterprogramme geschrieben ..
es gibt ein grosses hauptprogramm, dadrin wird mit gogo lustig umhergesprungen und man kann unterprogramme mit gosub ansteuern
in delphi und c++ ist es anders .. dort wird alles in unterprogramme ausgelagert, aber nicht ueber ein Gosub sondern ueber proceduren und funktionen, denen man parameter uebergeben kann und die werte zurueckliefern koennen
auch ist das goto in den anden sprachen als programmiermittel verpoent, da es als unsauberer programmierstil angesehen wird (was es auch ist) da es wesentlich bessere und logischere schleifenstrukturen gibt, die ein goto absolut ueberfluessig machen
Delphi und C++ sind somit wesentlich besser dafuer geeignet, grosse Aufgaben in kleinere unteraufgaben zu unterteilen, welche wesentlich einfacher programmiert sind ..
diese teilaufgaben koennen sogar zu bibliotheken zusammengebunden werden und so in verschiedensten programmen wiederverwendet werden
solche Konzepte waren im urspruenglichen Basic nicht enthalten, da Basic auf der Linearen Programmierung aufbaut und nicht Procedural bzw Funktional angelegt ist
Zwar haben auch hier wieder einige Basicdialekte solche konzepte uebernommen, aber dann unterscheiden sie sich kaum noch von anderen hoeheren Programmiersprachen, ausser dass sie (trotz compiler) langsamer und unuebersichtlicher sind, als ihre kollegen, und somit die wahl von basik auch keine Vorteile bringt
Da Basic keinerlei Vorteile gegenueber anderen Sprachen bringt, spricht also immer noch nichts fuer Basic, auch wenn man versucht, Basic den anderen Sprachen anzugleichen, und so die Nachteile zu minnimieren .... Warum sollte ich eine schlechte Kopie benutzen, wenn ich das Original verwenden kann.
Im allgemeinen ist allerdings der Trend zu verzeichnen, dass die hoeheren Programmiersprachen immer aehnlicher und leistungsgleicher werden. Pascal bzw Delphi wurde frueher auch immer nachgesagt, dass es viel langsamer als C++ sei, aber mittlerweile stimmt das nicht mehr und es ist praktisch gleichschnell (ausser im vergleich zu hoechstoptimiertem C++, wo die compiler schon mal Tagelang ueber einem Programm brueten, was Delphi innerhalb von Sekunden compiliert ... aber in sachen schnelligkeit kommt sowieso nix ueber handoptimierten ASM-Code) ... wie dem auch sei, es wuerde mich freuen, wenn demnaechst die fuehrenden Hochsprachen wie C++ und Delphi sich weiter annaehren wuerden und ihre jeweils positiven Aspekte unter auslassung der negativen teile miteinander verschmelzen
Welche Programmiersprache man heute verwendet haengt also nicht mehr primaer vom Problem an, sondern von den Vorlieben des Programmierers .. Theoretisch kann man mit jeder programmiersprache alles machen (solange sie nicht sich selber einschraenkt, wie z.B. java
)
Gruss Ineluki
[Edit] Ein integrierter Inline Assembler bedeutet, dass du Maschienencodeaequivalente (also ASM-Code) in deinen Quelltext einbauen kannst, der dann direkt so uebernommen wird (als Maschienencode uebersetzt natuerlich), als ob der compiler ihn erzeugt haette ... damit lassen sich z.b. sehr hatdwarenahe aufgaben erledigen oder zeitkritische funktionen per hand auf letzte optimieren
Beispiel:
Add eax,0x56 ; Addiert 56 hexadezimal zum EAX-Register des Prozessors
MOV [EAX],EBX ; Kopiert den Inhalt des EBX-Registers in die Speicherzelle, deren Addresse in EAX steht
Also wie man sieht... ist das ganze recht kompliziert und nix fuer anfaenger
Geändert von Ineluki (05.12.2003 um 06:31 Uhr)