Zitat von
Hubble:
Ich habe nicht bahauptet, daß jeder in Delphi schlampig programmiert sondern das man nur verleitet wird schlecht zu programmieren.
Ich weiß, was du behauptet hast. Dennoch sehen es wohl die wenigsten gerne, wenn "ihre" Sprache als eine Sprache bezeichnet wird, die Unordnung anzieht
Zitat von
Hubble:
In C++ fällt es mir wesentlich leichter Ordnung zu halten.
Meine Meinung als Programmierer, der sich einbildet, beide Sprachen gut zu können (der aber trotzdem C++ sympathischer findet): Bei C++ ist es auch nötiger, Ordnung zu halten.
Zitat von
Hubble:
Die Delphi Projekte an denen ich mirarbeite oder mitgearbeitet habe waren allesamt schlecht durchdacht und unsauber implementiert. Weils eben so einfach ist mal nen neuen Grid mit Schnickschack in den Dialog reinzuhängen der dann auch die Daten darin speichert.
Das ist in der Tat ein Problem.
Zitat von
Hubble:
Ich versuche immer möglichst viel im Stack abzulegen, der is schneller als der heap ist einfacher zu Verwalten vom Betriebssystem.
Der Stack ist beim Zugriff weder schneller noch langsamer, iss ja auch nur Speicher, der die gleichen Zugriffszeiten hat wie der Chip daneben
Wie gesagt, die Allokierung mag beim Stack tatsächlich größer sein, ich würde den STack aber nicht für etwas größeres missbrauchen.Was mir an den Objekten auf dem Stack gefällt, ist, daß ich einfach mit arbeiten kann, ohne mir Gedanken zu machen. Ein wenn man sich einen Huafen Hilfsklassen deklariert hat, verwaltet man sich in Delphi erstmal einen Wolf. In C++ schreibt man einfach die Variable hin und gut iss, das ist sehr angenehm.
Zitat von
Hubble:
Ja das stimmt, aber in Delphi werden alle mit create erzeugten Objekt dann nicht automatisch gelöscht sondern schwirren weiterhin irgendwo im Speicher rum.
Stimmt, jetzt, wo du's sagst... Steht in der Hilfe anders, im Quellcode ist es aber so (das dürfte der Unterschied zwischen Theorie und Praxis sein
). Sakura, ein paar tröstende Worte von dir dazu?
Zitat von
Hubble:
Kein Ahnung was eine ABI ist
Application Binary Interface. In Delphi sind dir vielleicht DCUs aufgefallen, das sind vorkompilierte Pascal-Dateien. Kommt Borland auf die Idee das Binärinterface dieser Dateien zu ändern, kannst du eine solche
DCU nicht mehr mit zur nächsten Compilerversion mitnehmen. Ähnlich sieht es mit C++ aus. Als mit dem G++ 4.0 eine neue ABI eingeführt wurde, durften C++-Bibliotheken neu kompiliert werden, weil die Datenstrukturen schlichtweg nicht mehr kompatibel waren.
Zitat von
Hubble:
Will man dann eine alte Version des Programms damit erstellen dann knallts.
Ja aber inwiefern knallt es denn? Was sind die Effekte? Fehlermeldungen? Mir fällt auf Anhieb nichts diesbezüglich ein, deswegen frage ich.
Zitat von
alzaimar:
Zurück zu Delphi: Gerade die Freiheit, zu frickeln, globale Variablen zu verwenden (was ist daran verwerflich? soll ich eine dämliche Klasse für eine globale Variable verwenden?), Assembler einzuschleusen etc. etc. etc. macht Delphi doch zu einem professionellen Tool, so wie eine
SQL-
DBMS oder ein richtig gutes Küchenmesser. Ich habe die Wahl! Hurra! Ich bin autark! Frei in der Wahl der Waffeln! Bei Java und den anderen reinen OOPS bin ich eingezwängt und muss zeitaufwändig auch die kleinesten Frickeltools 'designen',
.
Ich kann bei C++ ebenfalls globale Variablen einführen und Assembler-Code inlinen. Globale Variablen halt ich persönlich für unschön. Ja, ich führe meine Variablen lieber als Member meiner Fenster-Klasse hinzu, wenn ich keine andere Wahl habe, bevor ich im globalen var-Bereich meine eigenen Variablen unter Form1 deklariere. Daß die Form aber auch nur eine Klasse ist (in die eigentlich alles rein sollte, was mit dem Fenster zu tun hat), realisieren am Anfang die wenigsten.
Zitat von
sakura:
Nur weil der Compiler hin und wieder weiß, womit er es zu tun hat und einem einige Dinge verzeiht... Was ist daran so schlecht.
Ich persönlich finde es einfach unübersichtlicher.
Zitat von
alzaimar:
Imho sind z.B. Templates keine Spracheigenschaft, sondern doch ehere eine Eigenschaft eines Präprozessors, oder?
Sie sind Teil des Standards und somit der Sprache. Ob das nun durch einen getrennten Präprozessor, einen Multipass-Compiler oder durch eine Glaskugel implementiert wird, ist erstmal egal. Makros und Templates sind aber nicht eine Eigenschaft des Präprozessors, sondern definierter Teil der Sprache.
Zitat von
Hubble:
So langsam wirds stressig. Ich glaub das nächste mal stell ich mich in unser Statdion und schweke die Bayern-Fahne, da gibts nicht so viel Haue.
Du kriegst hier keine Haue. Wenn du das so empfindest, hast du andere Theads zu diesem Thema noch nicht gesehen
Ich bin beispielsweise eher auf deiner Seite als auf der der Delphianer, aber ich bin kein Fanatiker, in keine der beiden Richtungen.
Zitat von
malo:
Ich bekomme jedenfalls das Grauen, wenn ich einen C++-Quelltext sehe, in dem in jeder 15. Zeile eine Variable deklariert wird.
Du liest die falschen Quelltexte von den falschen Personen.
Zitat von
malo:
Ich denke, ich C++ ist das noch schlimmer. Hingeschmierte Einzeiler sind oft schwerer zu lesen oder zu warten als ein strukturierter Delphi-Quelltext, finde ich.
Du liest immer noch die falschen Quelltexte.
Zitat von
malo:
Aber das kann man weniger der Sprache zuordnen, sondern eher den Entwickler selbst. Denn der entscheidet ja, wie der Code aussehen soll.
Das sagte schon Der_Unwissende.
Zitat von
alzaimar:
ich bin auch Koch
Gibt es auch was, was du nicht kannst?