Warum ist Delphi nicht so weit verbreitet?

Zalman

Cadet
Mitglied seit
29.07.2004
Beiträge
35
Renomée
0
Hallo,

ich hätte mal eine Frage, auf die ich bisher keine Antwort finden konnte: Warum ist die Sprache Delphi nicht so weit verbreitet? Was sind genau die Probleme dieser Sprache? Wo liegen die Vorteile Delphis gegenüber C++/Java?


Gruß
 
C++ und Java kannst Du auf den meisten Systemen einsetzen, in der Regel auch ohne einen Cent für irgendwelche Lizenzen ausgeben zu müssen. Ohne näheres nachzuschlagen würde ich aus dem Stehgreif sagen, dass Delphi nur unter Windows existiert (von Kylix für Linux mal abgesehen, in dem Projekt ist ja leider nicht viel Bewegung drin) und dass man erst mal Geld ausgeben muss, um damit anfangen zu können. Das kann durchaus verkehrt sein, aber diese Bild habe ich von Delphi im Kopf und daher auch keine allzu positive Grundeinstellung dazu. Vermutlich geht es anderen ähnlich.
 
Delphi ist als allererstes mal keine Programmiersprache, sondern eine Entwicklungsumgebung. Das was man im allgemeinen als Delphi bezeichnet, ist eigentlich Object Pascal. In aktuellen Delphi-Versionen kann man übrigens auch mit C# programmieren, und der OP-Code, wie auch der Delphi-Code, wird damit für das Microsoft .NET Framework kompiliert.

Daneben gibt es dann auch noch in Delphi die Möglichkeit VLC-Programme (das ist quasi die Delphi-API) zu erzeugen, welche grundsätzlich für sich lauffähig sind, und keine DLLs oder sonstige Runtimes mehr brauchen - hier wird die Runtime quasi in die EXE-Datei gelinkt. Für kleine Tools ist das auf jeden Fall eine nette Sache.

Mit einer Vollversion von Delphi/Object Pascal kann man alle Programme (zumindest für Windows) erstellen, die man möchte - die Umgebung (bzw. die Sprache) ist mächtiger, als so manch einer denkt.

Pascal als Programmiersprache ist übrigens wirklich nicht schlecht. Der Code ist relativ gut lesbar und eignet sich hervorragend um das Programmieren zu lernen. Nebenbei gibt es auch Open Source Entwicklungsumgebungen für Pascal/Object Pascal. Free Pascal z.B. setzt auf dem GNU C Compiler auf, und erzeugt Code nicht nur für Windows, sondern auch für Unix-Systeme auf verschiedensten Platformen.

Warum sich Delphi nun weniger durchgesetzt hat, ist schwer zu sagen. Ein Problem ist auf jeden Fall der hohe Preis für eine Delphi-Entwicklungsumgebung. Und zum anderen ist das Microsoft Visual Studio nun einmal das Tool, mit dem Windows entwickelt wurde, und deshalb eignet es sich eben auch besonders für Windows-Programme/Treiber/Dienste, etc. Und außerdem ist das von Microsoft, und dass deren Marketing gut funktioniert, muss ich sicher nicht erklären.

Gruß,
BoMbY
 
Ich denke auch das der Hauptgrund für die schleppende Verbreitung von Delphi der hohe Anschaffungspreis ist.
Ich selber benutze immernoch Delphi 3 weil mir die neueren Versionen einfach zu teuer sind um "nur" kleine Tools für meinen Eigenbedarf zu schreiben.
In den letzen Jahren habe ich verschiedene andere Sprachen einmal ausprobiert, bin aber immer wieder zu Pascal zurück gekommen.
 
Für Performancekrittische Sachen zu langsam, für andere Sachen zu weit vom System entfernt und außerdem ist es nicht besser als C/C++. Aber anders, jeder der bisher Java oder C/C++ programmiert hat, muss sich erstmal an eine neue Syntax gewöhnen.
 
@i_hasser: Also grundsätzlich weißt Du ja natürlich, dass eine Programmiersprache nicht langsamer ist als eine Andere - das liegt wohl vor Allem an der Qualität des Compilers. Abgesehen davon ist ein Delphi-Programm, nur marginal langsamer als ein C-Programm (welches Du z.B. mit dem Visual Studio kompilierst) - außer Du benutzt die .NET-Variante, dann ist's ehh alles das Selbe. Und wenn Du jetzt von GCC sprichst, kannst Du das auch allerhöchtens mit Free Pascal vergleichen - was ja z.B. so ziehmlich die gleichen Compiler-Optionen bieten dürfte.

Wenn Du übrigens auf die VLC-Komponenten bei Delphi verzichtest, ist es genauso weit wie das Visual C/C++ vom System entfernt. Du kannst ohne Probleme die komplette Windows-API verwenden, und auch Services (hab ich schon selbst gemacht) und sowas mit Delphi erstellen.

Aber natürlich gebe ich Dir recht, wenn Du sagst, dass der Stil schon recht unterschieden ist zu Java/C. Wobei der Funktionsumfang der ganzen Sprachen ja im Prinzip gleich ist, und es kaum etwas gibt, was nicht 1:1 übersetzt werden kann. Was mir spontan einfällt sind eigentlich nur überladene Operatoren, die es in Object Pascal nicht gibt (zumindest nicht in den Versionen mit welchen ich gearbeitet habe - bei den .NET-Versionen müsste eigentlich sowas drin sein).

Gruß,
BoMbY
 
Zuletzt bearbeitet:
Also die C/C++ Compiler sind eigentlich durchgehend schneller als die für Delphi. Das liegt auch ganz einfach daran, dass viele große Hersteller seit Jahren an ihren Compilern rumoptimieren. Allerdings ist der MS Compiler wirklich der langsamste, wenn du Performancekrittische Sachen machst, sollte man schon den kostenlosen Inhell Compiler benutzen.

Aber was der GCC mit Free Pascal zu tun hat, will mir nicht in den Kopf gehen. Am GCC entwickeln große Firmen mit, und mit dem GCC werden komplette Betriebssysteme kompiliert. Zudem dürfte der GCC auch deutlich schneller sein, zumindest bei C/C++.
 
Aber was der GCC mit Free Pascal zu tun hat, will mir nicht in den Kopf gehen.

Ich glaube ich habe da jetzt GNU Pascal und Free Pascal verwechselt. Eine der beiden Versionen setzt jedenfalls direkt auf dem GCC auf, und damit dürften die Ergebnisse vergleichbar sein.
 
Ich habe auch mit Delphi angefangen, zu programmieren und darin auch einige Jahre lang recht nützliche Sachen gemacht.
Fand Delphi eigentlich ganz einfach und die IDE is eben sehr schick zu bedienen, und dass man, wie schon vor mir jemand gesagt hat, schnell kleine Tools programmieren kann, stimmt auch.
Ansonsten gibt es finde ich sehr nützliche Komponenten für Delphi, für MySQL beispielsweise oder die Indy-I-Net-Komponenten.
Würde ich heute Anwendungen programmieren, dann würde meine Wahl vermutlich wieder auf Delphi fallen. Habe zwar inzwischen auch Java gelernt, aber weiß nicht...

Auf den Punkt gebracht, ich finde, Delphi funktioniert einfach und ich kann nicht nachvollziehen, warum das für alltägliche Anwendungen (irgendwelche normalen Windows-Applikationen) nicht eingesetzt wird *noahnung*
 
Allerdings ist der MS Compiler wirklich der langsamste
Gibt es eigentlich irgendeine unabhängige Seite, die die wichtigsten Compiler (gcc, icc, msvc) mal gegeneinander antreten lassen hat? Mich würde mal interessieren wie groß die Unterschiede sind.
 
In der C't waren öfters mal Compilervergleiche. Für die täglichen Sachen reicht der MS wohl ganz gut aus, aber bei kritischen Sachen hinkt er halt hinterher. Wobei die neueste Version wohl wieder etwas zugelegt hat.
Abweichungen waren im Schnitt afair bei so ungefähr 10%, manchmal deutlich mehr, manchmal deutlich weniger.
 
ist hier irgend jemand der professionelle Programme mit Delphi schreibt.........

nein

mal ne Lanze brechen

mehrere Bekannte von mir, ehemalige Informatik Kollegen programmieren nur mit Delphi, und bieten professionelle Lösungen für den Mittelstand an............

und das seit Jahren, und mit dem Wissen was auch mit MS Compilern möglich ist

also der Delphi Compiler ist mit Sicherhiet nicht schlechter als der MS Compiler, und dann.............

spielt wohl auch die Art der Programmierung eine Rolle...

zur Info

mfg
Sir Ulli
 
also das für und wieder verschiedener Compiler zu diskutieren, und welche ist die beste, reicht dieser Thread wohl nicht aus...

aber als ich einmal die Seti Problematik anspach, und das durch diverse Optimierungen einiges mehr möglich ist, sagte mein Freund nur

das geht mit Delphi auch,

und das die Imhell Compiler die besten sind steht wohl ausser Frage, sie Imhell investieren daja auch nicht wenig,

egal

mit Delphi lassen sich auch externe Compiler einbinden...

mfg
Sir Ulli
 
Mal zur Info: Es gibt nur einen einzigen Objectpascal Compiler mit bedeutung, der kommt von Borland mit Delphi. Die anderen die du meinst, sind C/++ Compiler (bzw. teilweise auch noch für andere Sachen, aber nicht Objectpascal).
 
Mal zur Info: Es gibt nur einen einzigen Objectpascal Compiler mit bedeutung, der kommt von Borland mit Delphi. Die anderen die du meinst, sind C/++ Compiler (bzw. teilweise auch noch für andere Sachen, aber nicht Objectpascal).

wie ich schon sagte eine unendliche Geschichte...

@i_hasser

programmierst du professionell mit Delphi

wenn nein,
dann goto Spam...

mfg
Sir Ulli
 
Bitte wat? Du kommst daher, reimst irgendwelchen unsinnigen Müll zusammen, und bist dann beleidigt?
 
@i_hasser

programmierst du professionell mit Delphi

wenn nein,
dann goto Spam...
Sachte.8-( Kannst Du überhaupt programmieren? Falls nicht, solltest Du Dir solche Sprüche erst recht verkneifen.

Sir Ulli schrieb:
und das die Imhell Compiler die besten sind steht wohl ausser Frage, sie Imhell investieren daja auch nicht wenig
Gibt es denn von Intel einen Object-Pascal-Compiler? Irgendwie habe ich das Gefühl, Du verstehst nicht wirklich etwas von Compilern, willst aber mal anbringen, dass Du professionelle Programmierer kennst.:]

Nix für ungut...
 
Bitte wat? Du kommst daher, reimst irgendwelchen unsinnigen Müll zusammen, und bist dann beleidigt?

programmierst du professionell mit Delphi

wenn nein......................

lol

klinke mich hier aus...
mfg
Sir Ulli
 
Ja... du aber ganz offensichtlich nicht, sonst würdest du nicht so'nen Bullshit verzapfen.
 
Hm anscheind ist her wer nicht so ganz auf der Höhe... von den fehleden Satzzeichen und den Zusammenhängen mal ganz zu schweigen. Und wer bitte ist Imhell? Von dem Compiler habe ich ja noch nie gehört, auch Wikipedia ist ratlos. ???
 
Imhell, das böse Wort, dass man net sagen darf hier ^^
Intel *duck*
;D
 
wieso denn nicht? Bis vor einem Jahr oder so stand das Wort ja sogar in meinem Nick.
 
wieso denn nicht? Bis vor einem Jahr oder so stand das Wort ja sogar in meinem Nick.

Aber einige sind offenbar der Ansicht, dass mans net aussprechen darf ;-)


Ich persönlich hab mich auch ne Zeit mit Delphi beschäftigt, aber so wirklich gefallen hats mir nicht. So ist z.B. die komplette String-Verarbeitung funktional, obwohl mir OOP deutlich mehr zusagt.

Mittlerweile sinds auch Kleinigkeiten die mich stören (benutze selber C#):
  • Trennung von Funktionen und Prozeduren (absolut unsinnig und verkompliziert das
    lernen für anfänger in meinen Augen)
  • Blocks mit BEGIN und END (zu viel zu schreiben ^^)
  • Funktionsvariablen müssen im Kopf einer Funktion deklariert werden
  • Funktionen in Funktionen (man muss es net machen, aber ich hab sowas vorgesetzt bekommen von meinem Lehrer o_O)

Bis vor kurzem hätte ich es jedem Anfänger empfohlen, der unbedingt was mit GUI machen wollte, da es einfach eine Top-IDE hat. Aber seit es Visual C# Express gratis gibt, würde ich jedem Anfänger zu C# raten (platformabhängig sind beide Sprachen) und C# orientiert sich mehr an der "Standardsprache C++"
 
Zurück
Oben Unten