Besonderheit von Delphi

Hallo ihr „Fischfänger“ :wink:

Wo ich gerade das neue Heft von ‚Der Entwickler‘ durchlese und soviele Beiträge zu Delphi (+ .NET) sehe, frage ich mich doch : WAS ist an Delphi so besonders gut gelungen im Vergleich zu anderen Hochsprachen wie z.B. C/C++, C#, Java, Visual Basic (+ .NET) ??
Bessere Grafikbibliotheken (OpenGL) ? Bessere Integration von alten (Pascal) Codes ? Schönere Datenbank Formulare ? Für Ingenieure interessant wegen ebengenannten Gründen ? Weiss der Kuckuck was ?

Würde mich mal interessieren, weil ich mich gerade auch in das Thema einarbeite

freundlich fragend M.L.

***Werbung pro Delphi***
http://www.derentwickler.de
http://www.derentwickler.de/delphinet
http://www.entwickler-forum.de

Was Delphi meiner Meinung nach stark macht, ist zwar für Ingenieuere nicht primär interessant, nämlich die starke RAD-IDE. Da kann mir einer sagen, war er will, aber die ist dem Visual Studio einfach überlegen. Geschickte Hotkeys, organisierter Aufbau. Gerade C/C+±Leute finden ja den RAD-Ansatz eher „quick und dirty“ und meinen, GUI-Geschichten seien nicht ‚sauber‘ genug von Core-Logik getrennt. Doch dies ist eher eine Frage des Programmierstils. Die gleichen ‚Sauereien‘ kann ich auch in C# machen, indem ich irgendwelche Command-Objekte auf das Formular wurstle.

Delphi bringt einfach mehr Power und Möglichkeiten als Visual Basic und zwar einfacher als C++ (oder teils auch C#)

Das einzige Manko, das ich immer etwas feststellte, war halt die DOkumentation. Mit der hiesigen Literatur kommt man zwar sehr, sehr weit…aber bei wirklich spezifischen Geschichten gibt’s halt oft nur VC++ Beispiele der MSDN die mühsam konvertiert werden müssen, ganz zu schweigen, wenn dann Interface-Bibliotheken fehlen - aber das ist seit COM und jetzt mit .NET auch nicht mehr so tragisch.

Mit Delphi krieg ich einfach hochstehende Software sehr schnell hin, leider wird’s aber wohl immer ein bisschen ein Exotenprodukt bleiben, weshalb ich auch häufig C# mit VS einsetze um mit den „Industrie-Standards“ fit zu bleiben.

Die Stärke von Delphi liegt somit wohl schon in der GUI und DB-Entwicklung. Wenn du technische/hard-ware-geschichten machst, evtl. sogar Treiber schreiben musst, dann ist VC++ wohl besser.

Hallo ihr „Fischfänger“ :wink:

WAS ist an Delphi so besonders gut gelungen im Vergleich zu

anderen Hochsprachen wie z.B. C/C++, C#, Java, Visual Basic (+
.NET) ??

Hallo Markus,

zunächst ist der Beweis für den Nutzen einer Programmiersprache einfach deren Existenz - aus der Urzeit ist z.B. Algol verschwunden, Fortran aber nicht, also muss es genügend bieten, um weiter benutzt zu werden.

Vom ursprünglichen Ansatz her unterscheiden sich die Sprachen schon erheblich, was bestimmte Gruppen dann zu der Meinung führt, die Sprache wäre besonders geeignet: z.B. muss man bei Basic nichts deklarieren, bei C kann man, egal welcher Typ, alles mit allem addieren usw., und Pascal hat im Gegensatz dazu eine extrem strenge Typprüfung und daher keine Pointer.

Daher die Meinungen, Basic erfordert den geringsten Lernaufwand, C ist für maschinennahe Programme besonders geeignet, und Pascal ist besonders betriebssicher. Das letztere war der Grund, warum ich jahrzehntelang Steuerungsprogramme für Werkzeugmaschinen in Pascal geschrieben habe, wobei sich das auch bestätigt hat. Bei solchen Programmen führt ein nicht initialisierter Pointer eben nicht nur zu einem blauen Bildschirm, sondern u.U. zu einem Millionenschaden.

Bei heutiger ernsthafter Programmierung verschwinden allerdings die Unterschiede: Objekte in Sprachen mit OO müssen deklariert werden, zum Ausschluss von Fehlern wird so viel Typprüfung wie nur möglich eingeführt, und Pascal arbeitet mit jeder Menge Pointern, weil das das Windows-API so verlangt. Dieses API ist dann sowieso die gemeinsame feste Grösse für die Programmierung, eine Funktion wie CreateWindow sieht in Delphi nur anders aus als in C++ oder VB.

Es bleiben ein paar Unterschiede in den Schreibweisen: C und C++ sind auf möglichst wenig Schreibarbeit optimiert und dadurch relativ unverständlich („Write-Only-Language“), am anderen Ende steht Cobol als fast normale Sprache.

Als einzigen Nachteil (nicht nur für Pascal) musste ich feststellen, dass Bindings, also der Sprache entsprechende Deklarationen der Funktionen eines APIs, bei exotischen Libraries oft nur in C zur Verfügung stehen. Man kann sich die Deklaration natürlich jederzeit selbst übersetzen, aber für die Delphiversionen von 700 Funktionen einer Datenbank habe ich auch schon mal Monate gebraucht.

Microprozessoren vom Typ 8051 programmiere ich übrigens in C - es gibt keinen anderen Compiler. So flexibel muss man in jedem Fall sein. Wenn sich bei mir ein Programmierer bewerben würde mit der Aussage, er hätte in der Ausbildung C++ gelernt und etwas anderes käme für ihn nicht in Frage (das gibt es häufiger als man denkt), dann wäre das Thema schon erledigt.

Gruss Reinhard

Pascal hat (…) keine Pointer.

Das alte Turbo Pascal hatte doch schon typisierte und untypisierte Pointer…

Pascal hat (…) keine Pointer.

Das alte Turbo Pascal hatte doch schon typisierte und
untypisierte Pointer…

Hallo Roger,

wenn ich nur wüsste, wo mein Jensen-Wirth hingekommen ist…Unterlagen über UCSD sind auch nicht mehr da.

Es ist schon richtig, dass es Pointer gab für die Erstellung dynamischer Listen, andererseits habe ich Software für Maschinen erstellt mit ca. 200000 Zeilen, ohne Pointer zu benutzen. Insofern ist das Sprachkonzept schon deutlich anders als bei C, wo so etwas eigentlich nicht denkbar wäre. Das geht auch daraus hervor, dass alte (strikte) Compiler besagen, Pointer könne es nur geben als Ergebnis der Prozedur new - m.a.W. in striktem Pascal gibt es keinen Pointer auf eine irgendwo deklarierte Variable.

Aber inzwischen ist das alles Geschichte, auch bei Borland unterscheiden sich C++ und Delphi ja nur noch im „Frontend“.

Gruss Reinhard

das kann ich unterschreiben
Hallo,

Was Delphi meiner Meinung nach stark macht, ist zwar für
Ingenieuere nicht primär interessant, nämlich die starke
RAD-IDE.

ich bin Ing. und mir ist es eigentlich tatsächlich egal,
wie der Programmierer zum Erg. kommt, aber in Praxis
habe ich in extremer Weise den Unterschied erlebt.

Zwei vergleichbare Programme, eines von rel. C+±Anfänger
aber ansonsten schon erfahrenen Programmierer (10 Jahre
im Beruf, auch Pascalerfahren), das andere von einem
Studenten in Delphi

in C++ : Erstellung über 1Jahr bei extrem mühsamer Einarb.
in Delphi: Prog. in paar Wochen (quasi nebenbei) fertich!

C++ - Programm - mir graust es beim Anblick des Erg., naja
es funktioniert halt gerade so.

Das Delhiprogr. - eine feine aufgeräumte Bedienoberfläche,
alles so wie es sein sollte :smile:

Da kann mir einer sagen, war er will, aber die ist
dem Visual Studio einfach überlegen. Geschickte Hotkeys,
organisierter Aufbau.

Genau: Wenn man schon mal bischen Erfahrung mit Progr. hat,
kann man sich in Delphi in wenigen Tagen/Wochen einarbeiten
und mit den vorhandenen Bordmitteln + Objekten aus’m
Internet schnell zu ordentlichen Programmen kommen.
(in meinem Fall z.B. Bedienprogramme für Meßgeräte)
Delphi ist mit etwas Prog.-erfahrung quasi selbsterklärend.
(bei C++ versteht man erstmal nur Bahnhof)

Im einfachsten Fall hat man mit delphi eine EXE, die sehr
kompakt ist (paßt zumindest kompr. allemal noch auf Diskette),
keine fehleranfälligen Installationen (Registeryeinträge),
ziehmlich zuverlässig auf allen mögl. Windowsversionen läuft,
optisch ansehnlich ist, alles mitbringt, was ein modernes
Windowskonformes Prog. haben sollte.

In VB und C++ hat dann wieder DLL- und OCX-Dateien,
schlecht funkt. Installationen und fehlerträchtige
Systemeinträge (das muß man sich doch nicht unbedingt antun).

Natürlich geht es auch anders, aber das erfordert viel
Ahnung vom Progr.
Für C++ wird von so ziemlich jedem erfahrenen Programmierer
eine Einarbeitungszeit von mind. 6 Monaten genannt, bevor
man verteht, was man da tut. Das ist was für Profis !

Gerade C/C+±Leute finden ja den
RAD-Ansatz eher „quick und dirty“ und meinen, GUI-Geschichten
seien nicht ‚sauber‘ genug von Core-Logik getrennt. Doch dies
ist eher eine Frage des Programmierstils. Die gleichen
‚Sauereien‘ kann ich auch in C# machen, indem ich irgendwelche
Command-Objekte auf das Formular wurstle.

Ja, der Begriff haben andere auch genannt „quick und dirty“,
aber das Ergebnis beim C++ in praktischen Erprobung ist
nur noch als absolut dirty zu bezeichen.
Unverständliche Mängel

  • wie fehlende/schlechte Hotkeysteuerung, Tabsteuerung
  • keine vernünftige Fenstersteuerung
  • Probleme mit Zeichensätzen, Schriftgröße, skalierungen
  • Viele Fehler im Programm, viele Durchläufe,
  • jedes Überarbeitung bringt neue Macken

Viele Fontends, die in C++ mühsehlig von Hand programmiert
werden müssen (oder teuer bezahlt zugekauft werden) sind im
Delphi sowas von selbstverständlich schon dabei …

Delphi bringt einfach mehr Power und Möglichkeiten als Visual
Basic und zwar einfacher als C++ (oder teils auch C#)

genau.
Ich habe auch noch mal den Test gemacht und 2 etwa
gleichwertige Programme VB+ vs. Delphi7 machen
lassen. Jezt ärgere mich schon, daß ich die blöde
VB-Variante am Hals habe. Letztendlich klappt es.
Aber die Mühe schon wieder um von OCX-en und DLLs
wegzukommen, die extra angemeldet werden müssen und
man weiß nie auf welcher Windowsinst. sie den nächsten
Ärger machen werden oder ob sie nach einem
WIN-Update/Patch noch funktionieren!

Das einzige Manko, das ich immer etwas feststellte, war halt
die DOkumentation. Mit der hiesigen Literatur kommt man zwar
sehr, sehr weit…aber bei wirklich spezifischen Geschichten
gibt’s halt oft nur VC++ Beispiele der MSDN die mühsam
konvertiert werden müssen, ganz zu schweigen, wenn dann
Interface-Bibliotheken fehlen - aber das ist seit COM und
jetzt mit .NET auch nicht mehr so tragisch.

Ja, zu C++ gibt’s unendlich Bücher …
obwohl für den wenig erfahrenen Programmierer ist die
gut verständliche deutsche Doku zum Delphi und die umfangr.
Hilfefunktionen mehr Wert, als das Informatikkauderwelsch
in dicken C++ - Büchern und C+±Hilfe in engl.

Mit Delphi krieg ich einfach hochstehende Software sehr
schnell hin, leider wird’s aber wohl immer ein bisschen ein
Exotenprodukt bleiben, weshalb ich auch häufig C# mit VS
einsetze um mit den „Industrie-Standards“ fit zu bleiben.

Ja, Delphi ist weitaus produktiver, wenn es um normale
Frontend geht und einfache Desktopprogramme.
Ich frage mich auch, wieso sich das nicht durchgesetzt hat???

Was nützen die unendlichen Möglichkeiten von C, wenn’s
auch ewig dauert und sehr fehlerträchtig ist.
Für wirkliche Programmierprofis, die ihr Handwerkzeug
wirklich verstehen ist auch C++ sicher gut und richtig.
Die haben dann auch in jahrelanger Arbeit ihre Komponenten
alle zur Hand.

Die Stärke von Delphi liegt somit wohl schon in der GUI und
DB-Entwicklung. Wenn du technische/hard-ware-geschichten
machst, evtl. sogar Treiber schreiben musst, dann ist VC++
wohl besser.

Evtl. ist auch die Kombination von beidem sinnvoll.
GUI in Delphi und Treiber/Hardwarenahes in C++.
Gruß Uwi