Wow, erst mal danke für die vielen, ausführlichen Antworten!
Es wäre toll, wenn mir einige von euch sagen könnten warum ihr gerade bei Delphi geblieben seid und was euch davon überzeugt euer Projekt in Delphi umzusetzen.
Also ich bin und bleibe bei Delphi, weil ich mir so ca. 1994, also vor fast 20 Jahren, (Turbo-) Pascal selber beigebracht habe und inzwischen zu alt bin, um nochmal schnell was ganz Neues zu lernen. Meine alten Hirnwindungen sind zu träge, um nochmal so schnell zu begreifen, wie das vor 20 Jahren noch der Fall gewesen sein mag. Außerdem hab ich erstens schon viel Geld, Zeit und Energie in Delphi investiert, zweitens etliche Projekte mit Delphi am Laufen und drittens keine Zeit, mich in eine völlig andere Sprache einzuarbeiten. Auch wenn Delphi angeblich aussterben soll, sehe ich nicht den geringsten Anlaß, nun eine andere Sprache zu erlernen.
Fast 20 Jahre und nie zu einer anderen gewechselt? Respekt, nach so einer Zeit wäre mir glaube ich die Lust an der Sprache vergangen xD Aber schön zu sehen das du es geschafft hast. ^^
Was Delphi fehlt ist eigentlich nur die marktbeherrschende Stellung. Das aber auch nur aufgrund der meiner Meinung nach schlechten Preispolitik. Ich meine jetzt mal im Ernst: welcher Programmierer will um eine Sprache mal auszuprobieren überhaupt Geld ausgeben? FreePascal wird keiner anfassen, der Visual Studio gewohnt ist. (ich möchte keine Diskussion vom Zaum brechen)
Dies könnte ein Grund sein, jedoch gibt es dafür doch Lazarus. Das einer Lazarus nicht anfasst, als Visual Studio User kann ich mir auch denken, aber da ich anfangs mit Delphi 3 gearbeitet habe, mag ich es. Das bringt bei mir so ein „Ahhh, die alten Zeiten“-Feeling.
Dazu kommt noch, dass Delphi im
RAD Bereich einfach zu wenig out-of-the-box zu bieten hat.
Inkonsestens der Komponenten in verschiedenen Versionen ist auch nicht gerade hübsch.
Naja, das wirft bei mir die Frage auf, ob
RAD-Tools überhaupt zwingend von nöten sind? Sind zwar Nice-To-Have, aber Delphi bietet m.M.n. andere, wichtigere Vorteile als
RAD-Tools die man sich eigentlich auch selbst basteln könnte, bei bedarf.
Da ist das .Net Framework deutlich im Vorteil, vor allem weil es ja auch nur auf die schon vorhandenen Windows APIs zurückgeift. Das .Net Framework ist einfach enorm umfangreich, weshalb man eigentlich kaum noch etwas selber basteln muss. Und viel langsamer als nativ ist es auch nicht (~90% je nach Anwendung).
Der Grund warum ich auf .NET verzichten möchte ist wie genannt, dass ich Multi-Platform Lösungen bringen will und ohne das .NET Framework auskommen will. Aber .NET ist schon eine tolle Sache, aber ich mag „vorgebasteltes“ Zeug nicht so ^^ Wenn möglich, alles selber schreiben. ^^
Weitgehende Plattformunabhängigkeit hat man übrigens mit Mono und .Net auch. Man nuss nur darauf achten, dass man nicht in einen Bug oder ein nicht implementiertes Feature in Mono stolpert.
Über Mono bin ich auch schon seit einiger Zeit gestossen, jedoch würde ich wie gesagt gerne Nativ-Anwendungen schreiben, was mir durch Mono auch nicht möglich ist. Habe ausserdem Mono mal auf meinem Linux-Rechner ausprobiert und war gar nicht zufrieden damit. :-/
Java würde ich jetzt nicht unbedingt für die Zukunft empfehlen, da es meiner Ansicht nach auf dem absteigenden Ast ist, seit dem Oracle damit zu tun hat. Es hat aber den Vorteil, dass das Programm einaml kompilliert, wirklich auf jedem Toaster läuft.
Ja, der grösste (und wohl auch der einzige) Vorteil von Java bleibt wohl, dass jeder, ohne grosse Probleme, Anwendungen für die meisten Betriebssysteme erstellen kann.
Für kleinere Anwendungen, vor allem im Netzwerkbereich setze ich mittlerweile auf Node.JS, wobei es da mit kommerziell etwas schlechter aussieht (Quellcode ist einsehbar (bei .Net über Umwege übrigens auch)).
Genau, habe ich vergessen zu nennen. Mir ist auch wichtig das mein Code nicht einsehbar ist, wobei C# kläglich versagt.
PS: Für die Zukunft empfehle ich dir, währen deiner Ausbildungszeit ein oder zwei Zertifikate zu machen (das CCNA macht man glaube ich sowieso zur Halfte in der Schule), vor allem, weil du in deinem Alter vermutlich kein Studium und auch kein Abi hast. Dabei geht es nur darum deinem potenziellen Arbeitgeber zu zeigen, dass du dein Fachgebiet beherrschst und das auch unter Beweis stellen willst. Wenn man etwas Konkurrenz hat, sind diese Papiere Gold wert.
Danke für den Vorschlag, habe ich gar nicht bedacht und werde ich Mal mit meinen Arbeitgeber ansehen. ^^
PPS: Wenn du glaubst, du bist jetzt ein guter Programmierer, sieh dir deinen Code in 1 oder 2 Jahren nochmal an.
Ich verzweifle schon nur wenn ich sehe welche Fragen ich vor 4 Jahren gestellt habe und nicht einmal Grundlagen der Programmierung kannte und wirklich nichts kapiert habe, obwohl alles gut erklärt war, wenn ich es mir jetzt so ansehe. xD
PPPS: Wenn du es ernst meinst mit Plattfromunabhängigkeit brauchst du von jeder Plattform, die du unterstützen willst ein Gerät. Kannst du dir das leisten beim Ausbildungsgehalt? Ich denke da an Windows PC, Virtuelles Linux System, einen Mac, ein iPhone, noch ein Android Gerät. Ich meine ein Leben hat man doch auch noch, oder? Bei mir hätte das den Geldbeutel gesprengt, da Auto (Versicherung 2k€ im Jahr), Wohnung (4k€ warm im Jahr), neuer PC (1k), diverse Software Lizenzen (1k im Jahr) und Lebensmittel. Und da war ich noch nicht unterweg mit Kumpels oder so...
Ja, ich meine es ernst und ja die meisten Geräte besitze ich. ^^
Windows und Linux PC, Mac
OS X für x86 Prozessoren als VMImage (somit kann ich auch einen iOS Emulator benutzen), Android-Smartphone mit 2.2 (HTC Desire) und 4.x (SGS3) und ein älteres Windows Phone von meinem Vater besitze ich alles. Sollte somit den grössten Teil des Marktes abdecken ^^
Sehe ich ehrlich gesagt, ähnlich. Leute, die dir irgendein x-beliebiges Webzeug in PHP und JavaScript findest du wie Sand am Meer. Ich sehe es eher umgekehrt: Nicht auf Teufel komm raus das zu nehmen, was jetzt gerade hipp ist gefällt mir besser (vielleicht auch einfach nur, weil ich eben das getan habe).
Genau, wieso sollte ich in einen vollen Zug steigen, der auch noch dreckig ist, wenn ich in einen halbvollen gehen könnte, der wenigstens alles richtig macht und dabei auch noch besser aussieht?
Und natürlich verlernt man eine Sprache nach ein paar Jahren nicht, aber richtig drin bist du dann auch nicht mehr. Als reiner Anwendungsentwickler wird einem das sicherlich negativ ausgelegt, wenn jemand einen Entwickler für ein bestimmtes Projekt in XYZ sucht und du kannst nur sagen "Ja, damit habe ich vor zehn Jahren mal für zwei Jahre etwas gemacht, aber so richtig drin bin ich da auch nicht mehr..."
Wie gesagt bin werde ich beruflich immer noch mit der Sprache C# konfrontiert, somit wird auch mein Wissen in der Sprache immer weiter ausgebaut. Ausserdem habe ich noch noch ein Projekt das weiterhin gepflegt werden muss und in C# geschrieben wurde. Ich denke, dass ich so schnell C# nicht ganz aufgeben werde ^^
Von daher, wie gesagt: Ich habe die letzten Jahren mit anderen Sprachen verbracht - Hauptsächlich Java und C++. Jetzt bin ich bei Delphi. Und bereue es ehrlich gesagt keine Minute. Wenn man sich heute umschaut, scheint es so viele verschiedene Nischensprachen (mit entsprechend komischen Namen) zu geben wie nie zuvor. Und alle Sprachen haben ihre Anwender.
Warum also nicht auch Delphi?
Naja, man hört überall das es aussterben wird, das wäre ein Grund um nicht Delphi zu lernen.
-Delphi bzw FreePascal sind m.E. nicht so schwer zu erlernen, und da du dich
ja schon mit beschäftigt hast wirst du schnell drin sein
Hoffe ich doch! ^^ Was mir momentan mühe bereitet sind immer die verschiedenen Wörter die die Sprachen benutzen, aber das gleiche anstellen. Aber daran hat man sich ja relativ schnell gewöhnt.
-sehr praktisch find ich in Delphi / FreePascal /Lazarus auch
dieses praktische Komponentenkonzept.
Die Komponenten kann man ja dann sogar im C++-Builder verwenden,
seh ich als echten Vorteil an.
Heisst das ich könnte auch in C++ *.DLLs erstellen die auf Hardwarebasis arbeiten und die dann in einem FreePascal Projekt verwenden?
Mein Tipp:
Wenn du mit wenigen Leuten entwickelst, mußt du über Aufwand nachdenken.
Da ist dann Delphi / FreePascal durchaus ne gute Option.
Momentan arbeite ich alleine an meine Privaten Projekte, aber bin schon einen Freund am „Rekrutieren“ in vb.NET. Werde ihm wohl dann C# oder FreePascal beibringen sobald ich es kann und er das Grundprinzip des programmieren einigermassen verstanden hat ^^
Wenn es irgendwann mal *komplett* Superhighspeed sein muss, wirst du C++ in
Erwägung ziehen müssen, vorausgesetzt du bekommst die Highspeed-Teile nicht
als fertig einbindbare Bausteine.
Kompletten Source Code in meine Projekte einzubauen, die nicht von mir bzw. von dem Team sind, kommt bei mir nicht in frage. Soweit ich mich erinner kann, habe ich bisher noch nie eine Libary von anderen genutzt, ausser jQuery und die Excel
API von M$, worauf ich auch recht stolz bin
.
zudem natürlich immer die Möglichkeit, Assembler direkt
einzubinden, wenn man brutal optimieren möchte.
Da wirds dann in .NET-Sprachen auch knifflig...
Wow, das ist eine sehr coole Nachricht!
Wäre es dann möglich mit Assembler einen JIT-Compiler zu erstellen der die Controls von Pascal benutzt, oder wäre dies dann wieder Pascal und kein Assembler?
Was den Stellenmarkt angeht: Bin auch gerade beruflich in die Programmierung eingestiegen. Bei dem Unternehmen bei dem ich jetzt arbeite sah es folgendermaßen aus (auf das wesentliche zusammengekürzt): "Haben Sie neben C# und Objective-C auch Erfahrung mit Delphi?" - "Ja" --> Höheres Bruttogehalt, da Delphientwickler Mangelware sind.
Bei den Vergleichen, was ein Objective-C Entwickler verdient und was ein Delphi-Entwickler verdient hat Delphi die Nase vorn, weil es für die populären Sprachen einfach Programmierer wie Sand am Meer gibt. Klar ist dort die Qualität auch sehr weit gestreut, aber ich trau mich zu behaupten, dass wenn du mit Delphi und der Sprache umgehen kannst immer einen Job finden wirst, der - wie in meinem Fall - sogar besser bezahlt ist als eine der Mainstream-Sprachen.
Das ist auch eine tolle Nachricht, leider werden hier keine Delphi entwickler gesucht >.< Aber vielleicht wird es Mal so weit kommen ^^
Ich bedanke mich noch mal für alle Antworten, ich glaube diese haben mich dazu bewegt, mich endgültig zu entschliessen FreePascal zu lernen ^_^
Vielen dank für die Informationen liebe Leute