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)
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.
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).
Und man bekommst die Doku und Tools aus einer Hand.
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.
c++ Hat ähnliche Probleme wie Delphi, fragmentierte Frameworks, teilweise inkonsestente Compiler, fehlende Sprachfeatures. Dafür hat es in den letzten 20 Jahren einfach eine so marktbeherrschende Stellung eingenomen, dass eigentlich jeder Programmierer (sofern er denn ernst genommen werden will) c++ zumindest rudimentär beherrschen muss.
Außerdem hat es noch die große c Fanbasis aus dem *nix Bereich.
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.
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)).
Fazit: Im Bereich multiplattform
RAD hat Delphi enorm aufgeholt und mir FreePascal im Team ist es nicht zu schlagen. Echte multiplatform-Profis scheinen jedoch aud c, oder java (im low performance-Bereich) zu setzen.
Die c Leute sind jedoch dann eher solche Neckbeards, dass sie mit vim und gcc statt einer
IDE arbeiten.
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.
PPS: Wenn du glaubst, du bist jetzt ein guter Programmierer, sieh dir deinen Code in 1 oder 2 Jahren nochmal an.
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...