Delphi vs. C++
-
Ein Freund hat versucht mit einzureden, Delphi sei auf Windows-Platformen verbreiteter als C++ und sei genauso mächtig.
Ausserdem soll man damit leichter GUIs erstellen können und auch die Sprache an sich soll viel leichter sein und trotzdem genauso schnellen Maschinencode erzeugen wie C++.
Ich dachte immer C++ wäre die gängigste Programmiersprache der Welt und das auf alle großen OS-Platformen. Auch bei der Geschwindigkeit sollte doch C schneller sein oder?
Was die Macht angeht: Auch hier gewinnt C++, da C++ mehr 'lowlevel' ist als Delphi -würde ich sagen.
(Mal von OOP-Überlegenheit von C++ abgesehn)
Wer hat nun Recht? Er oder ich??
-
Keiner, weil die Wahl der Programmiersprache eine Frage der Eignung für ein bestimmtes Problem und Geschmacksache ist.
Die Aussage "Mit Delphi kann man leichter GUIs als mit C++ machen" ist Schwachsinn, weil man mit C++ überhaupt keine GUIs erstellen kann, ohne irgendwelche Bibliotheken zu nutzen (bei Delphi weiss ich es nicht). Das kann man auch nicht auf die Sprache abwälzen, dass die WinAPI hässlich ist.
-
Tolga schrieb:
Ein Freund hat versucht mit einzureden, Delphi sei auf Windows-Platformen verbreiteter als C++ und sei genauso mächtig.
[...]
Ich dachte immer C++ wäre die gängigste Programmiersprache der Welt und das auf alle großen OS-Platformen.
Das ist ja mal wieder eine super Gelegenheit, um eine neue Studie zu zeigen:
http://www.infoworld.com/pdf/special_report/2003/2003Issue38Developer.pdf
Which programming languages do you and your Engineers use for development? Java 56% Visual Basic 52% C++ 49% JavaScript/ECMAScript 47% Unix Shell Scripts 41% C 37% Perl 34% C# 23% PHP 16% Other integrated languages 16% Python 8%
Mit anderes Worten: Nach dieser Studie wird Delphi/Object Pascal so wenig genutzt, dass es noch nichtmal explizit erwähnt wird. Die gängigste Sprache ist nach dieser Studie Java.
-
Tolga schrieb:
Was die Macht angeht: Auch hier gewinnt C++, da C++ mehr 'lowlevel' ist als Delphi -würde ich sagen.
"lowlevel" hat IMHO nichts mit der Mächtigkeit der Sprache zu tun. Ich halte Assembler zum Beispiel für absolut nicht mächtig. Mächtigkeit hat etwas mit den verfügbaren Sprachmitteln und Abstraktionsmechanismen in einer Sprache zu tun. Hier hat C++ mehr als Delphi/Object Pascal zu bieten und deshalb ist C++ die mächtigere Sprache.
-
Ein Freund hat versucht mit einzureden, Delphi sei auf Windows-Platformen verbreiteter als C++
das stimmt auf keinen Fall. Auch wenn ich Gregors Studie ein bisschen merkwürdig finde (5. Platz für UNIX Shell Skripte
), wird sie schon damit recht haben, dass Delphi relativ schwach ist.
-
Nun ja. Nicht umsonst wird die Delphi IDE als RAD (Rapid Application Development) IDE bezeichnet. Ein GUI ist damit eben schnell zusammen geklickt. Was bei zum Beispiel vom VC nicht behaupten kann. Delphi und die IDE sind in erster Linie Werkzeuge um schnell Windows Programme mit grafischer Oberfläche zu erstellen. Ins besondere, wenn es um das Ansprechen von Datenbanken geht (Mit Oracel hat alles angefangen, daher auch der Name Delphi.).
Das Problem, was hier aber wieder auftaucht: Unter C++ wird allgemein die Sprache verstanden, unter Delphi aber mehr die IDE. Hinzukommt, dass Borland mittlerweile die Sprache nicht mehr als Object Pascal bezeichnet, sonder jetzt auch Delphi Language - also kurz Delphi - nennt.
Für mich ist es immer eine Frage was kann eine Sprache und was will ich erreichen. Ich käme nie auf die Idee einen Treiber mit Delphi zu entwicklen, da dies mit dem Delphi Kompiler nicht möglich ist. Auf der anderen Seite, würde ich nichgt auf C++/VC zurückgreifen, um mal schnell in einer halben Stunde ein Tool mit GUI zusammenzuklicken. Und warum nicht VB, wenn es darum geht irgenwas zu schreiben, was mit dem MS Office Paket und Acces zu tun hat, da gibt es nichts besseres.
Hier mal ein Thread aus einem Delphi Forum über die Verbreitung von Delphi:
http://www.delphipraxis.net/topic28404_wie+weit+verbreitet+ist+delphi.html
-
Luckie schrieb:
Ich käme nie auf die Idee einen Treiber mit Delphi zu entwicklen, da dies mit dem Delphi Kompiler nicht möglich ist.
Warum nicht?!
-
Sgt. Nukem schrieb:
Warum nicht?!
Weil es mit Delphi nicht möglich ist.
-
Sgt. Nukem schrieb:
Luckie schrieb:
Ich käme nie auf die Idee einen Treiber mit Delphi zu entwicklen, da dies mit dem Delphi Kompiler nicht möglich ist.
Warum nicht?!
Ein Komma ist nicht das Satzendezeichen, sonder der Punkt.
Näheres hier: http://www.luckie-online.de/Artikel/GrenzenDelphi.shtml
-
Stichwort plattformübergreifend :p ;), da wird die Luft aber zeimlich dünn.
-
Gregor schrieb:
"lowlevel" hat IMHO nichts mit der Mächtigkeit der Sprache zu tun. Ich halte Assembler zum Beispiel für absolut nicht mächtig. Mächtigkeit hat etwas mit den verfügbaren Sprachmitteln und Abstraktionsmechanismen in einer Sprache zu tun. Hier hat C++ mehr als Delphi/Object Pascal zu bieten und deshalb ist C++ die mächtigere Sprache.
(Ich hatte odch gesagt: "mal abgesehen von der OOP-Überlegenheit von C++"
)
MfG, Tolga.
PS: Die Macht der Sprache hat mit lowlevel sehr wohl was zu tun. Und es stimmt auch dass Assembler die mächtigste Sprache ist.
Du hast 'mächtig' mit 'einfach' verwechselt. Je komplexer die Abtraktionsmeschanismen, die ein Sprache bietet (nicht erfordert!!!), umso EINFACHER ist es, mit dieser Sprache zu programmieren. (...IMHO)
-
Tolga schrieb:
Du hast 'mächtig' mit 'einfach' verwechselt.
Hab ich nicht! :p
-
PS: Die Macht der Sprache hat mit lowlevel sehr wohl was zu tun. Und es stimmt auch dass Assembler die mächtigste Sprache ist.
Du hast 'mächtig' mit 'einfach' verwechselt. Je komplexer die Abtraktionsmeschanismen, die ein Sprache bietet (nicht erfordert!!!), umso EINFACHER ist es, mit dieser Sprache zu programmieren. (...IMHO)Nein mächtig ist eine Sprache, wenn sie mächtige konstrukte unterstützt. ML hat beispielsweise ein unheimlich mächtiges Patternmatching. LISP hat ziemlich mächtige Konstrukte um die Sprache nach seinen wünschen zu gestalten (mit dem ganze Makro-Kram). Im Vergleich zu vielen anderen Sprachen ist C++s Template-System sehr mächtig.
Das ist Macht.