| Autor |
Beitrag |
IhopeonlyReader
      
Beiträge: 600
Erhaltene Danke: 23
Delphi 7 PE
|
Verfasst: Mo 19.08.13 17:09
Guten Tag,
aufgrund mehrerer Posts wollte ich mal einen Thread zur Diskussion eröffnen
Zur Zeit beherrsche ich Delphi (zumindest viel das was mit 7 PE möglich ist), habe mir diese Sprache selbst beigebracht und überlege nun ob es sinnvoll ist andere Sprachen zu lernen, da öfter behauptet wurde, dass diese "schneller/besser" seien..
Was ist dran?
Was macht Delphi denn bitte "schlecht"?
Meine alte 7 PE Version ist nur für Windows geeignet, wie sieht das mit den neueren aus? habe gelesen mit XE 3 soll man für
Windows, Linux, Android.. programmieren können, wie ist das mit C, C#, C++ ?
Was oft ebenfalls an Delphi kritisiert wird, ist die Variablen-Deklaration, dass diese oben und nicht mitten im Quelltext geschehen muss, was angeblich in neuen Versionen von Delphi per "one click" vereinfacht worden sein.. wie ist das in anderen Programmiersprachen? ist das nicht verdammt unübersichtlich?
Was haltet ihr davon, dass gesagt wird, dass Delphi nur für "Anfänger" gut geeignet sei, aber für das richtige Programmieren ungeeignet sei?
Seit ihr selbst mal umgestiegen?
Für mich kann ich z.B. C# zwar "lesen" aber schreiben würde ich nichts hinbekommen, ebenfalls finde ich diese sprache sehr unübersichtlich...
bitte um Erfahrungsberichte und den Sinn von einem wechsel...
Nachtrag: Werft doch bitte mal weitere "vorwürfe" in den raum und sie mal zu klarzustellen und einen Eindruck zu bekommen 
_________________ Sucht "neueres" Delphi
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
|
|
OlafSt
      
Beiträge: 486
Erhaltene Danke: 99
Win7, Win81, Win10
Tokyo, VS2017
|
Verfasst: Mo 19.08.13 18:07
Neben einer Reihe anderer Sprachen beherrsche ich auch Delphi und C#. Der Delphi-Compiler gehört zu den schnellsten, die mir untergekommen sind (C#/VB ist nur deshalb so schnell, weil on-the-fly compiliert wird). Der produzierte Code braucht sich hinter nix zu verstecken und kann mit den Kompilaten anderer Compiler absolut mithalten.
Seit XE3 (oder gar schon seit XE2 ?) kann man mit Delphi für Windows, Mac und iOS (iPhone)) entwickeln. Android kommt dieses Jahr hinzu. Ich kenne keinen Compiler, der das kann - außer vielleicht GNU C++
| Zitat: | | Was oft ebenfalls an Delphi kritisiert wird, ist die Variablen-Deklaration, dass diese oben und nicht mitten im Quelltext geschehen muss, was angeblich in neuen Versionen von Delphi per "one click" vereinfacht worden sein.. wie ist das in anderen Programmiersprachen? ist das nicht verdammt unübersichtlich? |
Ich halte das für einen echten Vorteil von Delphi/Pascal gegenüber den anderen Sprachen. Das hilft nämlich sehr dabei, sich über den Algorithmus nachzudenken - oder liefert einen Anstoß dazu, die 35000-Zeilen-Prozedur mit 41 lokalen Variablen endlich mal in handlichere Häppchen zu zerteilen. So wird schlechter / fehleranfälliger Stil schon im Vorwege vermieden.
Variablendeklarationen "mitten im Code" sind ein Bequemlichkeitsfeature, mehr nicht.
| Zitat: | | Seit ihr selbst mal umgestiegen? |
Ja. Oft. 1984 vom Commodore-Basic V2 auf 6510-Assmbler. Dann, 1987 über den Umweg über das Locomotive-Basic auf Z80-Assembler. 1988 gings dann auf C, und im selben Jahr auf Pascal. C# und VB.NET hab ich vor zwei Jahren "so nebenbei" aufgeschnappt, ein echter Umstieg ist aber eher nicht gefragt zur Zeit.
Die Tatsache, das ich seit 25 Jahren Pascal programmiere, 17 davon professionell, sollte genug über die Tauglichkeit von Delphi als "richtige Programmiersprache" aussagen. Außer Device-Treibern kann man mit Delphi absolut alles programmieren, und das geht auch mit C# und VB.NET nicht. Sind das deswegen nun keine "richtigen" Programmiersprachen ?
| Zitat: | | Für mich kann ich z.B. C# zwar "lesen" aber schreiben würde ich nichts hinbekommen, ebenfalls finde ich diese sprache sehr unübersichtlich... |
C# ist überhaupt nicht unübersichtlich - nur anders. Ich fand mich da sofort zurecht, schließlich ist der Vater von C# auch der Vater von Delphi...  Das eine oder andere Konstrukt mag seltsam aussehen und viele (Bequemlichkeits-)Sprachfeatures wie delegates, LINQ und anderes machen das ganze eher unleserlicher. Aber das ist alles ein Witz verglichen mit C++.
_________________ Lies, was da steht. Denk dann drüber nach. Dann erst fragen.
Für diesen Beitrag haben gedankt: rushifell
|
|
Ralf Jansen
      
Beiträge: 4708
Erhaltene Danke: 991
VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
|
Verfasst: Mo 19.08.13 18:15
| Zitat: | | Zur Zeit beherrsche ich Delphi (zumindest viel das was mit 7 PE möglich ist), habe mir diese Sprache selbst beigebracht und überlege nun ob es sinnvoll ist andere Sprachen zu lernen, da öfter behauptet wurde, dass diese "schneller/besser" seien.. |
Selber programmier.. äh probieren macht schlau. Du solltest deine eigenen Erfahrungen sammeln und einfach anderes probieren. Vorsagen im Forum ist tatsächlich nur Füttern mit vorurteilen. Wobei du weniger andere Sprachen probieren solltest, du wirst schnell merken das es oft rein syntaktische Unterschiede sind, sondern andere Systeme, Frameworks und Konzepte. Und bitte probiere dabei zumindest dieses System so lange aus das du nicht mehr versuchst es wie Delphi zu verwenden. Wie in Delphi programmieren wird immer am besten in Delphi funktionieren.
| Zitat: | | Was oft ebenfalls an Delphi kritisiert wird, ist die Variablen-Deklaration, dass diese oben und nicht mitten im Quelltext geschehen muss, was angeblich in neuen Versionen von Delphi per "one click" vereinfacht worden sein.. wie ist das in anderen Programmiersprachen? ist das nicht verdammt unübersichtlich? |
Variablen dort zu definieren wo sie benutzt werden, im kleinst möglichen Scope, ist nicht verkehrt aber auch nicht Kriegsentscheidung. Man kann so oder so unleserlichen Mist zusammenbasteln. Der Programmierstil ist entscheidender.
| Zitat: | | Für mich kann ich z.B. C# zwar "lesen" aber schreiben würde ich nichts hinbekommen, ebenfalls finde ich diese sprache sehr unübersichtlich... |
Es ist nicht unübersichtlich du bist es nur nicht gewohnt.
Für diesen Beitrag haben gedankt: Yogu
|
|
IhopeonlyReader 
      
Beiträge: 600
Erhaltene Danke: 23
Delphi 7 PE
|
Verfasst: Mo 19.08.13 19:43
ok, Delphi steht also in nichts nach?
und probieren kann ich, klar
Aber vom Aufbau (algorithmen - Struktur etc.) ist es genau das selbe, nur es wird sozusagen anders geschrieben?
ob
C: Integer; // Counter Variable vom Typ Integer
oder
int C = 0; // Counter vom Typ Integer - Startwert 0
und wenn man mehrere Programmiersprachen lernt, bringt das nicht durcheinander?
Delphi: Xor ist C#: ^
wobei Delphi: ^ ist ja für Pointer-umwandlung...
_________________ Sucht "neueres" Delphi
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
|
|
Ralf Jansen
      
Beiträge: 4708
Erhaltene Danke: 991
VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
|
Verfasst: Mo 19.08.13 20:15
| Zitat: | | und wenn man mehrere Programmiersprachen lernt, bringt das nicht durcheinander? |
Kannst du kein Deutsch mehr weil du auch Englisch lernst? Natürlich bringt man da schonmal was durcheinander und tut sich schwer instantan zu wechseln. Es erweitert aber den Horizont. Wenn du mal ein paar ausprobiert hast wirst du bemerken das Syntax das geringste Problem ist 
|
|
mandras
      
Beiträge: 434
Erhaltene Danke: 107
Win 10
Delphi 6 Prof, Delphi 10.4 Prof
|
Verfasst: Di 20.08.13 00:35
Gut daß ich meinen Post vor dem Absenden nochmal gesichert hatte, der Server meinte mal wieder schlafen zu gehen...
> "schließlich ist der Vater von C# auch der Vater von Delphi"
Kannst Du das bitte erläutern?
Auf die Ursprungsfrage zurückzukommen, wenn man dazu etwas schreiben will argumentiert man auf verschiedenen Ebenen.
- Welche Chancen habe ich auf dem Markt als Delphi-Programmierer?
Kann ich nicht direkt beantworten, ich dachte bisher immer da stets nach C/C++, PHP oder was auch immer in Stellenanzeigen gesucht wird, daß man es da schwer hat.
Nun habe ich selber aber einen netten Auftrag bekommen der genau nach Delphi ging und nichts anderes. Ein großes anspruchsvolles Projekt. Man muß nur ein wenig Geduld haben.
- Kann Delphi etwas was andere (imperative) Sprachen nicht können oder andersrum?
Meines Erachtens nach nicht. Imperative Sprachen gleichen sich sehr.
Nett finde ich bei Delphi die Properties die das Leben sehr vereinfachen und meiner Meinung nach, auch wenn weniger leistungsfähig als das Operatoren-Überladen bei C++, viel Tipparbeit ersparen und eben gerade wegen der Beschränkung auf das notwendigste auch viele Fehlermöglichkeiten eliminieren.
Die klare Struktur des Pascal-Codes habe ich schon immer, auch gerade wegen der Einschränkungen, lieb gewonnen.
Nunja, mit den neuen Delphi-Versionen gibt es jetzt auch Templates. Feine, mächtige Sache. Wenn ich mich dort mehr eingearbeitet habe kann ich dazu wohl mehr sagen, zu C++-Zeiten hatte ich da immer sehr gemischte Gefühle.
- Sind Delphi-Programme besser als die in anderen Sprachen geschriebenen oder nicht?
Theoretisch: Nein.
In der Praxis fand ich aber meist folgendes: Delphi-Programme stürzen seltener einfach so ab daß man seine Arbeit nicht mehr speichern kann.
- Geschwindigkeit/Qualität des Kompilats
Ist meist nicht so relevant, da in vielen Fällen andere Faktoren (Datenbanken, Grafik, Filesystem) die Geschwindigkeit mehr beeinflussen.
Meine persönliche Erfahrung ist folgende (gilt für D3-6, damit hatte ich vor Jahren Vergleiche durchgeführt mit anderen Compilern):
Integer-Performance: im Mittelfeld
Floating Point: für einfache Fälle im Mittelfeld, bei Spezialitäten gnadenlos schlecht. Gut, ich beziehe mich hier auf einen alten Test: Apfelmännchen. Delphi 6 vs. Digital Visual Fortran 6.
DVF erzeugte Code, den man von Hand kaum noch optimieren kann.
- Arbeiten mit der IDE
Ich kenne die aktuellen Versionen von z.B. Visual Studio nicht.
Zu der Zeit wo ich aus Berufsgründen mit Delphi und Fortran (eigene IDEs) und Java/C (Visual Studio) zu tun hatte war die IDE von Delphi jedenfalls das beste was ich auf dem Markt fand.
So, das waren ein paar Ausführungen meinerseits, sicher nicht einmal ansatzweise vollständig. Infolge Zeitlimit breche ich hier ab. Vielleicht können andere sie ergänzen / kommentieren.
|
|
hansa
      
Beiträge: 3079
Erhaltene Danke: 9
|
Verfasst: Di 20.08.13 00:43
Das war Anders Helsberg, oder heisst der anders? Ich würde mal sagen : Delphi ist von gestern. Lass das sein. Mach Java, oder so etwas in der Richtung. *Ironie*
_________________ Gruß
Hansa
|
|
jaenicke
      
Beiträge: 19339
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Di 20.08.13 08:37
mandras hat folgendes geschrieben : | | Nett finde ich bei Delphi die Properties die das Leben sehr vereinfachen und meiner Meinung nach, auch wenn weniger leistungsfähig als das Operatoren-Überladen bei C++, viel Tipparbeit ersparen und eben gerade wegen der Beschränkung auf das notwendigste auch viele Fehlermöglichkeiten eliminieren. |
Die gibt es z.B. in C# auch und sogar teilweise besser. Zum Beispiel kannst du da eine Property definieren ohne weiteren Code dazu schreiben zu müssen. In Delphi ist das viel mehr Tipparbeit.
mandras hat folgendes geschrieben : | | Nunja, mit den neuen Delphi-Versionen gibt es jetzt auch Templates. Feine, mächtige Sache. Wenn ich mich dort mehr eingearbeitet habe kann ich dazu wohl mehr sagen, zu C++-Zeiten hatte ich da immer sehr gemischte Gefühle. |
Templates im Sinne der Templates aus C++ gibt es so in Delphi nicht, auch nicht in aktuellen Versionen.
Templates in Delphi sind einfach nur Codevorlagen, die man mit einem Kürzel in den Quelltext einfügen kann, in aktuelleren Versionen mit Zusatzfeatures. Mit den Templates aus C++ hat das wenig zu tun.
Etwas in der Art kann man mit Include-Dateien nachbilden, das ging aber auch schon z.B. in Delphi 5.
Generics in aktuellen Versionen kann man an vielen Stellen sehr viel besser dazu nehmen. In die Richtung gingen auch die Tricksereien mit Include-Dateien meistens (generische Listen gingen so z.B. auch in Delphi 5).
Die Funktionalität von Templates aus C++ an sich bekommt man aber auch mit Generics nicht.
OlafSt hat folgendes geschrieben : | Seit XE3 (oder gar schon seit XE2 ?) kann man mit Delphi für Windows, Mac und iOS (iPhone)) entwickeln. Android kommt dieses Jahr hinzu. Ich kenne keinen Compiler, der das kann - außer vielleicht GNU C++  |
Theoretisch FreePascal. Praktisch nutzt das nicht viel, da es keine gute IDE gibt. Lazarus kann zwar einiges, kann man aber mit Delphi nicht vergleichen. Remote Debugging ist experimentell und nicht einfach so nutzbar wie in Delphi z.B., wo das sogar jetzt auf Android (soweit es bisher zu lesen ist) einfach so gehen wird.
|
|
OlafSt
      
Beiträge: 486
Erhaltene Danke: 99
Win7, Win81, Win10
Tokyo, VS2017
|
Verfasst: Di 20.08.13 11:30
mandras hat folgendes geschrieben : |
- Welche Chancen habe ich auf dem Markt als Delphi-Programmierer?
|
Da ich gerade auf Jobsuche bin, kann ich da wesentlich mehr zu schreiben.
Der Markt für Delphi-Entwickler ist dünn. Sehr dünn. Es gibt nur wenige freie Stellen und wenn man eine solche findet, dann muß man üblicherweise ein Projekt übernehmen. Und das wiederum bedeutet, mehrere 100k Zeilen Alptraum-Code übernehmen zu müssen. Ich persönlich hab da kein Problem mit, weder mit der Größe noch mit Anfänger-Geschreibsel. Aber ich mach das auch schon einige Jahre. Die verdienstmöglichkeiten sind nicht schlecht, da eben der Markt für Delphi dünn ist - also gibts auch nicht viele Entwickler dafür und ich sehe Stellenangebote über Monate kreisen und immer wieder aktualisiert werden.
Der Markt für C# (besser: Allgemein .NET) ist deutlich größer und es gibt ein ganzes Heer von Entwickler dafür. Aber, so wie ich das beobachtet habe, sind das zu 95% eigentlich Stellenangebote, die eine Website beliebiger Komplexität programmiert/gepflegt haben wollen - Stellenangebote für C# ohne die Angabe "gute Kenntnisse in PHP" sind ausgesprochen selten.
Stellenangebote für Java / PHP kenne ich gar nicht anders, zu 100% Webanwendungen.
| Zitat: | - Geschwindigkeit/Qualität des Kompilats
Ist meist nicht so relevant, da in vielen Fällen andere Faktoren (Datenbanken, Grafik, Filesystem) die Geschwindigkeit mehr beeinflussen.
Meine persönliche Erfahrung ist folgende (gilt für D3-6, damit hatte ich vor Jahren Vergleiche durchgeführt mit anderen Compilern):
Integer-Performance: im Mittelfeld
Floating Point: für einfache Fälle im Mittelfeld, bei Spezialitäten gnadenlos schlecht. Gut, ich beziehe mich hier auf einen alten Test: Apfelmännchen. Delphi 6 vs. Digital Visual Fortran 6.
|
Das war auch kein fairer Vergleich. Fortran ist spezialisiert auf die Lösung mathematischer Probleme, folglich ist der produzierte Code praktisch nicht mehr zu optimieren. Dein Vergleich war also eher von der Sorte "Bernd Mayländers Mercedes AMG Pace Car gegen Alonsos Formel1-Ferrari". Beides sind Autos, die extrem schnell fahren können - aber der F1 ist drauf spezialisiert
| Zitat: | | - Arbeiten mit der IDE |
Die IDEs von Delphi und VS schenken sich IMHO nichts und haben ihr Vor- und Nachteile. Absolut unschlagbar ist das Intellisense von Visual Studio, da kann sich Delphi ein ordentlich dickes Scheibchen von abschneiden, ähnliches gilt fürs Code-Completion-Feature. Dafür ist der GUI-Designer des VS einfach nur Schrott.
Übrigens lohnt es sich sehr, in Delphi die Tastenbelegung "Visual Studio" zu aktivieren und sich dran zu gewöhnen. Spart das ständige Umgewöhnen, wenn man mal wieder ein C# / VB.NET- Projekt anfassen muß.
_________________ Lies, was da steht. Denk dann drüber nach. Dann erst fragen.
|
|
mandras
      
Beiträge: 434
Erhaltene Danke: 107
Win 10
Delphi 6 Prof, Delphi 10.4 Prof
|
Verfasst: Di 20.08.13 11:57
|
|
IhopeonlyReader 
      
Beiträge: 600
Erhaltene Danke: 23
Delphi 7 PE
|
Verfasst: Di 20.08.13 19:00
mhhhh. danke für die vielen Informationen
Mir persönlich geht es nicht um Stellenangebote oder sonstiges, ich denke ich bleibe hobby- Programmierer
Für andere hingegegen könnte das natürlich ein wesentlicher Aspekt sein...
Aber wenn Delphi eine gute Einsteiger Sprache ist (finde ich auch), und auch den anderen nicht nachsteht, warum wird es dann so "selten" verwendet?
ist es der "hohe" preis? ist es, weil es auf anderen Sprachen aufbaut und man lieber auf der Basis aufbaut? Inzwischen wird es ja wohl nicht mehr die platformabhängigkeit sein
_________________ Sucht "neueres" Delphi
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
|
|
Syra
Hält's aus hier
Beiträge: 13
Windows 7 Ultimate x64
Visual C# 2010/Visual Studio 2012
|
Verfasst: Di 20.08.13 19:38
IhopeonlyReader hat folgendes geschrieben : | mhhhh. danke für die vielen Informationen
Mir persönlich geht es nicht um Stellenangebote oder sonstiges, ich denke ich bleibe hobby- Programmierer
Für andere hingegegen könnte das natürlich ein wesentlicher Aspekt sein...
Aber wenn Delphi eine gute Einsteiger Sprache ist (finde ich auch), und auch den anderen nicht nachsteht, warum wird es dann so "selten" verwendet?
ist es der "hohe" preis? ist es, weil es auf anderen Sprachen aufbaut und man lieber auf der Basis aufbaut? Inzwischen wird es ja wohl nicht mehr die platformabhängigkeit sein |
Nun, ich bin zwar noch nicht lange in sachen "programmierung" dabei, habe mich jedoch vorher ewig lang damit auseinandergesetzt welche Sprache ich lernen möchte.
Schlussendlich entschied ich mich für C#, einfach weil der Syntax relativ "nett" aussieht, für meine Augen.
Aber auch weil es sehr oft als gute Einsteigersprache angepriesen wird & es einfach viel mehr Leute, Foren, Tutorials, Dokumentationen etc zu z.B. C#, Java,. C++ etc. gibt.
Es wird wohl ähnlich wie "bei Windows" sein, die hälfte der Windows-User schimpft über Windows bzw Microsoft und hebt z.B. Linux in den Himmel, aber umsteigen will keiner.
Aber mal zu deiner Frage - Ich kann zwar als Anfänger nicht wirklich viel dazu sagen, jedoch würde ich behaupten, wenn du Delphi wirklich beherrschst, dass es sicher von Vorteil ist wenn du noch ein oder mehrere Sprachen lernst, denn so hast du immer etwas zu tun, kannst später je nach Projekt die "beste" option wählen etc.
MfG Syra
|
|
Ralf Jansen
      
Beiträge: 4708
Erhaltene Danke: 991
VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
|
Verfasst: Di 20.08.13 19:44
| Zitat: | | Aber wenn Delphi eine gute Einsteiger Sprache ist (finde ich auch), und auch den anderen nicht nachsteht, warum wird es dann so "selten" verwendet? |
Weil die Sprache selbst eben der kleinste Faktor ist. Delphi hat unter einer unterirdisch schlechten Unternehmenspolitik gelitten (ich sage gelitten weil ich zur Embarcadero Zeit schon weg war ) angefangen von halbgaren Richtungsentscheidungen (Kylix , Delphi.Net), kontraproduktiver Lizenzpolitik und einem Unternehmens gebaren als wäre man ein 100000 Köpfe zählender Weltkonzern und nicht einfach nur 'ne kleine Softwarebutze. Daneben hat man viele Entwicklungen im Kerngeschäft verpasst (z.B. 64bit oder aktuelle Prozessorunterstützung) und sich auch nicht getraut die VCL weiterzuentwickeln. Die ist klein und fein aber leider auch unendlich altbacken wenn man die mit dem .Net Framework oder der Java Klassenbibliothek vergleicht.
Für diesen Beitrag haben gedankt: jasocul, Martok
|
|
oldprofiprog
      
Beiträge: 35
Erhaltene Danke: 1
|
Verfasst: Mi 21.08.13 09:04
Ralf Jansen hat folgendes geschrieben : |
Weil die Sprache selbst eben der kleinste Faktor ist. Delphi hat unter einer unterirdisch schlechten Unternehmenspolitik gelitten (ich sage gelitten weil ich zur Embarcadero Zeit schon weg war ) |
Ich glaube das diese Politik oder was es sonst ist, lückenlos fortgesetzt wird.
Um die VCL - still ruht der See, seit XE kaum Entwicklung erkennbar. Im Gegenteil in neueren Versionen tauchen alte Fehler wieder auf.
Firemonkey - halbfertig produktiv kaum zu gebrauchen.
Das es anderst geht zeigt Remobjects mit seinen Net-Versionen von Pascal.
Eine aufgeräumt, modernisierte Sprache mit modernen Konstrukten.
Ich glaube das die ganzen Querelen um Delphi die Entwicklermannschaft ausgedünnt haben.
Schaut man mal in den Quellcode von VCL und Firemonkey hat man an machen Stellen den Eindruck hier waren Anfänger am Werk.
Ich selbst mag Delphi und werde aus Altersgründen auch nichts anderes mehr nehmen.
Diese Entwicklung ist aber zu fast 100% selbst verschuldet und die Hochpreispolitik mit immer kürzeren Update (Abkassier-)zyklen tut ein übriges dafür, das der Programmiernachwuchs von dieser Sprache ferngehalten wird.
Gruß
Peter
Für diesen Beitrag haben gedankt: WasWeißDennIch
|
|
Christian213
      
Beiträge: 66
Erhaltene Danke: 3
Win XP, Win 7 64Bit
Lazarus 1.0.10
|
Verfasst: Mi 21.08.13 09:23
Es ist immer die Frage, was man genau programmieren möchte.
Wenn ich bspw. ausschließlich grafische Windows-Anwendungen schreiben will, so ist es (wie einige hier ja auch schon angedeutet haben) relativ egal, welche Programmiersprache man verwendet.
Im Prinzip ruft man über entsprechende Runtime-Libraries API-Funktionen von Windows auf. Letztendlich ist auch die GUI nichts anderes.
Wenn es um Geschwindigkeitsaspekte oder Hardware-nahe Programmierung geht, so macht Assembler Sinn. Wobei man auch diesen bei den meisten Sprachen direkt als Codeblock einbetten kann.
Im Endeffekt ist es eine Frage des Geschmacks. Ich persönlich mag die "weniger kryptische" Struktur von Pascal/Delphi gegenüber C/C++/C#. Aber hier scheiden sich halt die Geister. 
|
|
Xion
      

Beiträge: 1952
Erhaltene Danke: 128
Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
|
Verfasst: Mi 21.08.13 11:42
Ich musste für ein größeres Studienprojekt C++ lernen...und es war kein echtes Problem. Vom Prinzip her ist da kaum ein Unterschied. Einige Sachen vermisse ich (properties, procedure of object) und andere sind einfach nur beschissen (besonders bezüglich der Datentypen mitten in Anweisungen, also z.B. Pi/4 = 0 oder eine Schleife von 0 bis vector.length-1, die dann bis MaxCardinal rennt wenn vector.length=0 ist). Aber man kommt doch zurecht, und da man die Namen der Funktionen in Delphi kennt, sind die analogen Versionen in C++ leicht zu googlen.
Wobei ich sagen muss: Foren-Beiträge oder Hilfen zu Delphi sind um Längen besser als die zu C++. In Delphi gibt es wohl nicht so viele planlose Anfänger, die meinen, den noch planloseren Anfängern etwas zu erklären
Auch Java haben wir mal benutzt, das ist auch kaum anders. Hier nervt mich besonders das Exception-Handling, das man für jede Funktion machen muss. Das verleitet dazu die einfach zu catchen, so dass sie nicht nach außen gegeben werden...entsprechend gibts aber dann auch keine Fehlermeldung, wenn mal was nicht ging.
Was die Performance angeht ist Delphi richtig gut. Meine Bachelorarbeit habe ich in Delphi geschrieben, weil es sich damit meiner Meinung nach viel schneller entwickeln lässt und hab den Code dann per Tool zu C++ konvertiert, weil mein Betreuer auf C++ bestand. Es handelt sich dabei um einen reinen Syntax-Austausch, was recht gut ging, da es nur Algorithmen ohne GUI waren. Beim entstandenen Code war C++ etwas schneller, wenn viel in Arrays gelesen werden musste. Dafür hat es aber mehr Speicher gebraucht. Für normale Desktop-Anwendungen sollte man keinen nennenswerten Unterschied feststellen können. Vor allem der Compiliervorgang in Delphi ist der Wahnsinn...in C++ kann das locker mal 30sec dauern...das nervt!
Was Plattformunabhängigkeit angeht, ist C++ mit Qt ganz nett (von den allgemeinen C++-Mängel von oben abgesehen). Es ist tatsächlich kein Problem, den selben Code auf Windows und Linux-Maschinen zu kompilieren. Java steht dem natürlich in nichts nach, da es extra für plattformunabhänige Entwicklung erfunden wurde.
Statt von einer imperativen Sprache zur anderen zu wechseln, kannst du auch mal was ganz anderes ausprobieren, z.B. R oder SQL. Oder eine Skriptsprache zum Bearbeiten von Textdateien. Das bringt dir im Alltag sicher mehr als eine alternative imperative Sprache.
_________________ a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
Für diesen Beitrag haben gedankt: Yogu
|
|
jaenicke
      
Beiträge: 19339
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mi 21.08.13 21:17
Xion hat folgendes geschrieben : | | Vor allem der Compiliervorgang in Delphi ist der Wahnsinn...in C++ kann das locker mal 30sec dauern...das nervt! |
Das hat aber nicht nur Vorteile. Features wie LINQ z.B. sind mit einem One-Pass-Compiler wie ihn Delphi nutzt nur sehr schwer umsetzbar...
Denn LINQ kann man sehr gut von innen nach außen auswerten. Dieses rückwärts Gehen ist in Delphi so aber (derzeit) nicht möglich, da es dem Grundprinzip des Compilers widerspricht wie er im Moment umgesetzt ist. Sonst hätte Delphi vermutlich schon einige Features wie LINQ usw.
|
|
IhopeonlyReader 
      
Beiträge: 600
Erhaltene Danke: 23
Delphi 7 PE
|
Verfasst: Mi 21.08.13 21:20
Oh ja, den Compiler von Delphi habe ich am Anfang als "Standard" vorausgesetzt, dann habe ich Lazarus probiert
Sofort wieder zurück, da ich gerne mal nach einer neuen prozedure "mal eben" F9 drücke (compiliere).
Bei Delphi paar sec, bei Lazarus locker 20 manchmal noch mehr sek.. Der Unterschied hat mich schon so stark genervt, dass ich lieber bei Delphi 7 PE bleibe, anstatt Lazarus mit mehreren Features zu nutzen..
_________________ Sucht "neueres" Delphi
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
|
|
jfheins
      
Beiträge: 918
Erhaltene Danke: 158
Win 10
VS 2013, VS2015
|
Verfasst: Mi 21.08.13 22:28
Was die Compilergeschwindigkeit angeht, ist C# auch ganz gut mit dabei.
Allgemein kann ich das auch nur empfehlen, dass man mal andere Programmiersprachen anschaut. Man sieht dann ganz gut, was jede so ausmacht. Man sieht dann auch, dass jede so ihre Stärken und Schwächen hat, es aber leider keine gibt mit "nur Stärken" - zumal das natürlich auch etwas subjektiv ist.
In MATLAB sind z.B. Klassen eher nachträglich eingefügt und fühlen sich daher etwas fremd an. Vervollständigung steigt komplett aus, Performance ist grausam. In Delphi (und besonders in C#) ist das anders, da gehören Klassen inzwischen zum Standardprogramm.
PHP hat eine sehr mächtige Funktionsbibliothek, die leider sher unübersichtlich ist. Es sind alles einzelne Funktionen, und die Parameterreihenfolge ist auch nicht immer gleich... aber viel Spaß, strcspn in Delphi zu finden
Auch C# hat einige kleine Haken. (Sonst wird mir hier noch vorgeworfen, zuviel Werbung zu machen...) Dass man Variablen überall (= direkt wenn man sie braucht) definieren kann, gehört imho absolut nicht dazu.
Aber so Sachen, dass man ein Char implizit in eine Zahl Konvertieren kann. Oder dass man jedem Enum 0 (also eigentlich ein int-Literal) zuweisen kann.
|
|
FinnO
      
Beiträge: 1331
Erhaltene Danke: 123
Mac OSX, Arch
TypeScript (Webstorm), Kotlin, Clojure (IDEA), Golang (VSCode)
|
Verfasst: Mi 21.08.13 22:42
Moin,
ich verstehe einfach nicht, wie man eine Programmiersprache wechseln kann. Liebe Leute, aber es ist mir zu Ohren gekommen, dass man mehrere Programmiersprachen gleichzeitig können kann. Sogar gut können kann. Und man verlernt ja nicht Delphi, nur weil man plötzlich nebenbei C# gelernt hat. Und es gibt überhaupt keinen Grund, nicht C# und Delphi zu können. Und am besten noch Java, PHP, C++. Es ist auch bei weitem nicht so anstrengend, eine weitere (objektorientierte) Programmiersprache zu lernen, wenn man schon eine kann.
Also lernt einfach mehrere Programmiersprachen, man kommt allermeistens doch eh nicht darum herum - ich habe mit Delphi angefangen, musste im Studium C++ und Java lernen, welches ich heute beides mehr oder weniger zur Programmierung von Robotern nutze. Wenn ich jetzt eine Windows-Desktop-Anwendung machen muss und es muss schnell gehen, nehme ich halt Delphi, da ich von Blend, WPF usw. wirklich kaum Ahnung habe. Wenn ich jetzt aber keine Möglichkeit sehe, etwas mit Delphi umzusetzen (z.B. Plattformunabhängigkeit oder sonstwas), dann muss halt ne andere Sprache oder Umgebung her.
Schonmal eine Internetseite mit Delphi programmiert? Eher mühsam. Da kann man sich auch wunderbar mal in die PHP Programmierung einarbeiten. Hat auch noch niemandem geschadet
"Kennst du eine, kennst du alle."
Für diesen Beitrag haben gedankt: Martok, Nersgatt
|
|
|