AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Vorteile von Delphi

Ein Thema von mumu · begonnen am 22. Nov 2005 · letzter Beitrag vom 15. Dez 2005
Antwort Antwort
Seite 2 von 10     12 34     Letzte » 
Benutzerbild von Interceptor
Interceptor

Registriert seit: 28. Mai 2004
Ort: Würzburg
118 Beiträge
 
Delphi 6 Professional
 
#11

Re: Vorteile von Delphi

  Alt 22. Nov 2005, 15:57
Zitat von Phoenix:
Ich nehme eine .NET-Sprache (Delphi.NET wenn ich es ausbauen will, C# wenn es wohl immer so bleiben wird) wenn ich mir schnell ein kleines 'machmirmal'-Tool Programmieren will.
Bitte um Erklärung.
Die .NET Bibliothek bietet dir nahezu unbegrenzte Möglichkeiten jede Art von Anwendung zu schreiben, ganz gleich wie umfangreich diese werden soll
David
~ Nichts ist wahr, alles ist erlaubt ~
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#12

Re: Vorteile von Delphi

  Alt 22. Nov 2005, 16:30
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.
  Mit Zitat antworten Zitat
Tubos

Registriert seit: 25. Feb 2004
Ort: Yspertal (Niederösterreich)
1.014 Beiträge
 
Delphi 7 Personal
 
#13

Re: Vorteile von Delphi

  Alt 22. Nov 2005, 16:33
Zitat:
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.
Ergänzung: Und in C++ kann der Code sogar unkompilierbar werden, wenn man sich nicht an die Trennung von Header- und Implementierungsdatei haltet. Da kann man ganz böse und völlig undurchsichtige Fehler bekommen, wenn man das nicht richtig macht. Alles schon erlebt
Lukas
  Mit Zitat antworten Zitat
supermuckl

Registriert seit: 1. Feb 2003
1.340 Beiträge
 
FreePascal / Lazarus
 
#14

Re: Vorteile von Delphi

  Alt 22. Nov 2005, 16:35
hi
Zitat:
(wurde auch ursprünglich) als Lehrsprache entwickelt
sicher?
Das echte Leben ist was für Leute...
... die im Internet keine Freunde finden!
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#15

Re: Vorteile von Delphi

  Alt 22. Nov 2005, 16:41
Zitat von supermuckl:
hi
Zitat:
(wurde auch ursprünglich) als Lehrsprache entwickelt
sicher?
Jep, von Nikolaus Wirth an der ETH Zürich.
  Mit Zitat antworten Zitat
noidic

Registriert seit: 21. Nov 2005
Ort: Mönchengladbach
25 Beiträge
 
Delphi 7 Enterprise
 
#16

Re: Vorteile von Delphi

  Alt 22. Nov 2005, 16:45
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
The light at the end of the tunnel may be an oncoming dragon.
  Mit Zitat antworten Zitat
Oxmyx

Registriert seit: 21. Sep 2004
499 Beiträge
 
#17

Re: Vorteile von Delphi

  Alt 22. Nov 2005, 16:54
Zitat von Binärbaum:
Ein weiterer Vorteil ist die besser gelöste Parameterübergabe an Funktionen/ Prozeduren: wenn man in C einen "Call by reference" machen will, muss man immer Zeiger übergeben und innerhalb der Funktion diese Zeiger dereferenzieren, wenn man auf den Wert zugreifen will. Bei Delphi nimmt man einfach das Schlüsselwort var vor den entsprechenden Parameter, und den Rest macht der Compiler.
Code:
void machWas(int* a)
{
    (*a)++;
}

void machWas(int& a)
{
    a++;
}
Ich sehe keinen Unterschied zu Delphi.

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; } 
};
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.521 Beiträge
 
#18

Re: Vorteile von Delphi

  Alt 22. Nov 2005, 17:02
Zitat von Interceptor:
Zitat von Phoenix:
Ich nehme eine .NET-Sprache (Delphi.NET wenn ich es ausbauen will, C# wenn es wohl immer so bleiben wird) wenn ich mir schnell ein kleines 'machmirmal'-Tool Programmieren will.
Bitte um Erklärung.
Die .NET Bibliothek bietet dir nahezu unbegrenzte Möglichkeiten jede Art von Anwendung zu schreiben, ganz gleich wie umfangreich diese werden soll
Ganz einfach: Die Wart- und Lesbarkeit des Codes.
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.
Sebastian P.R. Gingter
不死鳥 Visit my Blog.
Do not argue with an idiot. They lower you to their level and then try to beat you with experience.
  Mit Zitat antworten Zitat
Benutzerbild von Binärbaum
Binärbaum

Registriert seit: 19. Jan 2005
Ort: Elstra
764 Beiträge
 
Delphi 7 Enterprise
 
#19

Re: Vorteile von Delphi

  Alt 22. Nov 2005, 18:54
Zitat von Oxmyx:
Zitat von Binärbaum:
Ein weiterer Vorteil ist die besser gelöste Parameterübergabe an Funktionen/ Prozeduren: wenn man in C einen "Call by reference" machen will, muss man immer Zeiger übergeben und innerhalb der Funktion diese Zeiger dereferenzieren, wenn man auf den Wert zugreifen will. Bei Delphi nimmt man einfach das Schlüsselwort var vor den entsprechenden Parameter, und den Rest macht der Compiler.
Code:
void machWas(int* a)
{
    (*a)++;
}
Ich sehe keinen Unterschied zu Delphi.
Dann werden wir mal deutlicher:
Delphi-Quellcode:
procedure machWas(var a: integer);
begin
  a:= a+1;
end;
und
Code:
void machWas(int* a)
{
    (*a)++;
}
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:
Code:
void machWas(int* a)
{
    a++;
}
Das ist theoretisch möglich und wird sogar kompiliert, nur das, was die Prozedur macht, ist in beiden Fällen komplett anders.

Anderes Beispiel, was "gern" falsch gemacht wird bei C/C++:
Code:
int c;
...
if (c=7) { //<--Fehler, sollte normalerweise (c==7) sein
  printf("blabla1");
  c+=3;
}
else {
  printf("else-Zweig");
  c++;
}
...
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.
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.
There are exactly 10 kinds of people: those who understand binary, and those who don't.
---
"Software reift beim Kunden. Bei Hardware ist es anders: Hardware fault beim Kunden." - Rainer G. Spallek
  Mit Zitat antworten Zitat
cruso
(Gast)

n/a Beiträge
 
#20

Re: Vorteile von Delphi

  Alt 22. Nov 2005, 19:00
Zitat von Luckie:
Zitat von mumu:
mich würden gern mal die Vorteile von Delphi gegenüber c++ usw... interessieren...
Du vergleichst Äpfel und Birnen bzw. bist nicht genau genug. Delphi bezeichnet eine IDE von Borland und es ist die Kurzform für Delphi Language, welche eine Pascal basierende Programmiersprache meint. C++ ist nuzr eine Programmiersprache. Was willst du jetzt also vergleichen? Die Sprache Delphi mit der Sprache C++ oder die IDE Delphi mit den verschiedenen IDEs für C++?
Soviel ich weiß hat Borland gesagt, dass nun auch von der Delphi Programming Language gesprochen werden kann. Mit der Begründung: "Es hat sich soviel geändert". Also seit Delphi 7 kann auch von Delphi Programming Language gesprochen werden!

MfG
Cruso
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +2. Es ist jetzt 22:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf