Thema: Delphi Vorteile von Delphi

Einzelnen Beitrag anzeigen

tommie-lie
(Gast)

n/a Beiträge
 
#50

Re: Vorteile von Delphi

  Alt 14. Dez 2005, 15:40
Zitat von Hubble:
Was ich in den letzten Jahren lernen mußte:
In Delphi wird man zum schlampigen Programmieren verleitet.
Mit dieser Aussage hast du dir in diesem Forum jetzt circa 16310 Feinde geschaffen

Zitat von Hubble:
Und die VCL ist nur für procedurale Vorgehensweise aus dem letzten Jahrhundert geeignet.
Sie erschwert es, zum Beispiel auch wegen der TApplication-Klasse, aber die VCL *ist* objektorientiert, es ist ungewohnt mit ihr prozedural zu arbeiten.

Zitat von Hubble:
Soweit OK aber dann:In delphi muß ich erst mal var schreiben dann die Instanz erzeugen,
initialiseiren dann wieder löschen und zu allem Überfluß hockt das
blöde Teil nicht auf dem schnellen Stack sondern auf dem lahmen heap
Schnell/Lahm? Wenn der Speicher einmal allokiert ist, ist mir das auch egal.
Außerdem ist die Geschichte mit "var" nur eine Syntaxeigenschaft von Pascal. Du legst da übrigens eine lokale Variable an, soviel zu globalen Variablen.

Zitat von Hubble:
das wars? Nein denn was is wenn ne Exception ausgelöst wird
Was, wenn in deinem C++-Beispiel eine Exception ausgelöst wird?

Zitat von Hubble:
Damit hätten wir 7 unübersichtliche Zeilen in Delphi und 1 Zeile in C++.
Und falls die Exception weiter geworfen werden muß, dann kommen noch ein paar Zeilen dazu.
In Delphi muß man einfach in jeder Routine Exceptions fangen, falls auch nur ein
Objekt benutzt wird, und diese Exception weiterschmeißen.
Exceptions werden auch in Delphi bis zur nächstinnersten Exception-Behandlung weitergereicht.

Zitat von Hubble:
Also: Man drückt auf Button 1 und bevor dieser fertig ist auf Button 2. Grande Problema in VCL.
Natürlich gibt es da einen Workaround, ist aber sehr umständlich und man muß fast alles umstellen.
Ja, ziemlich eklig, ist aber in C++ prinzipiell nicht anders, wenn du eine Bibliothek zum Anzeigen von grafischen Controls benutzt, die nicht multi-threaded ist. Oder du spaltest dir gleich beim Drücken von Button1 ein ganz sauber einen Thread ab und lässt den werkeln, dann sollte auch Button2 reagieren, und wenn du dort selbiges machst, laufen am Ende zwei Threads. Dabei sind selbstveränstlich die üblichen Vorkehrungen gegen Race Conditions und anderweitige Synchronisierungprobleme zu treffen.

Zitat von Hubble:
Habt Ihr schon mal mit Komponenten in Delphi geschafft. Is echt supi. Alles schnell und schön.
Aber wehe es gibt ein Update und die Entwickler müssen mit verschiedenen Versionen arbeiten.
Ist schlicht nicht möglich.
Inwiefern? Wenn sich die ABI ändert, bist du unter C++ genauso verloren, wenn deine Bibliothek lediglich als binary-only vorliegt.

Zitat von Hubble:
Des weiteren folgen noch so undurchsichtige Sachen wie end mit Punkt mit Stichpunkt oder ohne was.
Ohne was?!? Mit Punkt gibt's nur einmal am Ende einer Unit, "end." beendet eine logische Pascal-Einheit. Mit Semikolon ist end das Gegenstück zu begin, "begin .. end;" ist als "{ .. }" zu sehen, wahlweise auch Brace mit Semikolon dahinter ("{ .. };")

[quote="Hubble"]Oder die Sache mit den Pointern.
Jeder der auch nur einmal in Delphi mit Pointern umgehen mußte und den Vergleich
zu C/C++ kennt verflucht dieses im Nachhinein in Pascal eingeführete Notkonstrukt.[quote]Wenn du auf die implizite Dereferenzierung hinaus willst: ACK!

Zitat von Hubble:
ein Case Statement ohne break.
Ich hätte nie gedacht, daß ich ein Case-Statement ohne break mal brauchen würde, aber kürzlich hat es einen C-Code tatsächlich kürzer gemacht, die breaks in den Zweigen wegzulassen.
  Mit Zitat antworten Zitat