![]() |
Re: Vorteile von Delphi
Zitat:
Die .NET Bibliothek bietet dir nahezu unbegrenzte Möglichkeiten jede Art von Anwendung zu schreiben, ganz gleich wie umfangreich diese werden soll |
Re: Vorteile von Delphi
Ich will mich auch mal einmischen. Alles folgende basiert auf eigenen Eindrücken, die ich mit verschiedenen Sprachen gemacht habe.
Delphi (ehemals Pascal) ist imho gut für Anfänger geeignet (wurde auch ursprünglich) als Lehrsprache entwickelt). Das liegt an einfachenden, treffenden Schlüsselwörtern (var, begin, end, if..then, procedure, function, constructor, destructor etc.). Wenn man mal mit C++ vergleicht, so ist das in Delphi (für einen Laien) deutlich leserlicher. Denn ein Anfänger weiß sofort, dass bei begin irgendwas anfängt, und mit end etwas aufhört. Aber so klar ist doch nicht, dass bei einer geschweiften öffnenden Klammer ein Anweisungsblock anfängt? Wenn man genau drüber nachdenkt, klingt es zwar logisch, aber so leicht zu verstehen ist das nicht. Oder, dass nach einem var Variablen aufgeführt werden, ist leicht verständlich. Ich halte also Pascal (und natürlich auch Delphi) für eine für Anfänger geeignete Sprache. Einfach, weil sie einfach verständlich und logische Schlüsselwörter verwendet. Außerdem wird man in Delphi zu halbwegs strukturierter Programmierung gezwungen. Z.B. durch seperate Var- und Const-Bereiche, durch Unterscheidung zwischen Implementation und Interface-Abschnitt (jedenfalls in den .pas-Dateien) etc. In anderen Sprachen (z.B. C++) kann man überall eine Variable deklarieren, wo man grade Lust hat. Dadurch kann ein Quellcode sehr schnell unleserlich gemacht werden. Natürlich gibt es auch unleserlichen Delphi-Code, aber durch die erweiterten Strukturregeln gibt es da weniger Möglichkeiten. Wenn ich mir nämlich mal meinen Delphi-Code ansehe, und meinen PHP-Code (C++ entwickle ich persönlich kaum), dann erkenne ich schon deutliche Unterschiede, gerade was die Variablendeklarationen angeht ;) Es gibt natürlich auch diverse Sprachfeatures, die in Delphi nicht vorhanden sind. Dazu gehört (bis einschl. D2005) Operatoren-Überladung, oder auch Templates und ähnliches. Das macht Delphi unflexibler, was Problemlösungen angeht. So hat Delphi beispielsweise Probleme mit Treiberprogrammierung (weiter oben angesprochen). Das ist aber eine der wenigen Ausnahmen von Dingen, die mit Delphi schwieriger sind als mit C++. Desweiteren ist so ziemlich jede Programmiersprache gewissermaßen Problembedingt. Manche Sprachen haben Lösungen für Problem A, manche Sprachen für Problem B, mit manchen geht beides nicht (gut), und manches geht mit beiden Sprachen hervorragend. Im Endeffekt: Die beste Programmiersprache ist die, mit der du am besten umgehen kannst. ;) P.S.: Alles, was ich bezüglich "leichter zu lesen" etc. geschrieben hab, war das, was ich versucht habe, möglichst objektiv aus der Sicht eines Laien zu beschreiben. Das waren zum Teil Dinge, die mich als Laie damals an Delphi gefesselt hatten. In Delphi war das halt leichter zu verstehen, von den Sprachkonstrukten her. Daher bitte ich auch keine C/C++/C#/Java/Whatever-Fantatiker jetzt groß aufzuschreien. Ihr könnt es aber gerne nach eurer Ansicht richtig stellen. |
Re: Vorteile von Delphi
Zitat:
|
Re: Vorteile von Delphi
hi
Zitat:
|
Re: Vorteile von Delphi
Zitat:
|
Re: Vorteile von Delphi
Jo, Pascal ist eine Sprache zum lernen der prozeduralen(!) Programmierung. Was heute daraus geworden ist, ist zwar in der Basis immernoch Pascal und hat damit pädagogische Elemente, hat aber ansonsten mit der Ursprungsidee nicht mehr wirklich was zu tun :)
|
Re: Vorteile von Delphi
Zitat:
Code:
Ich sehe keinen Unterschied zu Delphi.
void machWas(int* a)
{ (*a)++; } void machWas(int& a) { a++; } Bei 'const' geht C++ noch einen Schritt weiter und lässt es zu, ganze Methoden als konstant zu deklarieren (d.h. die Methode ändert nicht das Objekt):
Code:
class tolleKlasse
{ private: int einWert; public: int derWertPlusX(const int x) const { return einWert+x; } }; |
Re: Vorteile von Delphi
Zitat:
Delphi ist einfach besser lesbar als C#, und da die Fähigkeiten von Delphi.NET und C# dank der darunter liegenden Bibliothek vollkommen identisch sind nehme ich bei Projekten die eher Wachsen werden wegen der besseren Lesbarkeit und eben Wartbarkeit eher Delphi.NET als 'Synatx meiner Wahl'. Ein 'fire and forget'-Tool schreibe ich der einfachheit halber in C# - das ist schneller zu tippen und ich musses mir hinterher nicht nochmal angucken ;-) Edit - Nachtrag: Sorry, Frage falsch verstanden. Ich verwende eher Delphi weil ich da schon eine entsprechend gut ausgebaute und ausgetestete Code-Basis habe die sich nicht ohne weiteres nach .NET portieren lässt. .NET bietet zwar viel, ist aber gerade im Datenbankbereich noch nicht so weit gediehen um alles das zu können was ich mit meinem nativen Code schon alles machen kann. Und bevor ich das alles nochmal unter .NET nachprogrammiere arbeite ich zur Zeit lieber noch auf der Basis weiter von der ich weiss das alles einwandfrei tut und eine neue Applikation entsprechend schnell fertig ist. Wobei die Portierung sicher nur eine Frage der Zeit ist... die gerade recht knapp ist. Letzten Endes wird .NET (ungeachtet der Programmiersprache) aber sicher der Weg to go sein. |
Re: Vorteile von Delphi
Zitat:
Delphi-Quellcode:
und
procedure machWas(var a: integer);
begin a:= a+1; end;
Code:
sind nicht viel unterschiedlicher, aber was, wenn man (aus Schusseligkeit, oder warum auch immer) bei C die Dereferenzierung vergisst und folgendes schreibt und somit aus Versehen den Zeiger verändert und nicht den Wert des Integers, auf den a verweist:
void machWas(int* a)
{ (*a)++; }
Code:
Das ist theoretisch möglich und wird sogar kompiliert, nur das, was die Prozedur macht, ist in beiden Fällen komplett anders.
void machWas(int* a)
{ a++; } Anderes Beispiel, was "gern" falsch gemacht wird bei C/C++:
Code:
Im Code sollte eigentlich nur überprüft werden, ob der Wert von c gleich sieben ist und abhängig davon etwas ausgegeben werden. Durch (unabsichtliches) Weglassen des einen Gleichheitszeichens wird aus dem Vergleich eine Zuweisung. Damit bekommt man gleich zwei Fehler auf einmal: Die if-Abfrage ist immer erfüllt, da c=7 zu 7 ausgewertet wird, und somit als wahr interpretiert wird. Der else-Zweig wird also nie ausgeführt. Und zweitens wird auf c der Wert 7 zugewiesen, was so nicht beabsichtigt war.
int c;
... if (c=7) { //<--Fehler, sollte normalerweise (c==7) sein printf("blabla1"); c+=3; } else { printf("else-Zweig"); c++; } ... Das Schlimme dabei ist, dass dadurch im späteren Programmverlauf unter Umständen ein ganz anderes Verhalten als das gewünschte auftreten kann; es kann sogar passieren, dass sich dieser Fehler weiter durch das Programm schleppt und später Fehler verursacht, die normalerweise (d.h. bei einem einfachen Vergleich) nie aufgetreten wären. Bei Delphi (bzw. Pascal) wird für den Vergleich ein "=" und für die Zuweisung ":=" verwendet. Wenn man dort aus Versehen mal ein Zeichen vergisst, bekommt man spätestens beim Kompilieren eine Fehlermeldung und kann so den Fehler entdecken, während man bei C/C++ hingegen "fröhlich" kompilieren kann und sich bei der Ausführung des Programms mit den entstandenen Fehlern herumplagen muss. ;) |
Re: Vorteile von Delphi
Zitat:
MfG Cruso |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:29 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz