Programmiersprache für die Zukunft?

6 Antworten

Ich würde Java sagen, aber auch wie vorher schon geschrieben kann man mit C# eigentlich nichts falsch machen.

Meiner persönlichen Meinung mach würde ich nicht mit Python anfangen weil wenn du Java oder C# kannst und somit die Grundlage vom Programmieren richtig verstanden hast, das mit aller Sicherheit kannst. Nur umgekehrt funktioniert das nicht so gut, Python ist ja eher „lockerer“ und ich glaub grad von da wird der Umstieg schwerer.

Ich persönlich hab mit C/ C++ angefangen, da lernt man halt die Grundlage ganz gut und auch was bei Java und den anderen so im Hintergrund gemacht wird. Die Frage ist nur ob man das wirklich alles noch braucht bzw. noch wissen muss.

Woher ich das weiß:Studium / Ausbildung

Also wenn du dich nach Trends richten möchtest, kannst du dir relativ gewiss sein, dass du mit einer Skriptsprache (wie Python oder JavaScript) wohl nicht allzu verkehrt liegen wirst, immerhin geht es zukünftig weiter darum, schneller und einfacher Software für viele verschiedene Plattformen entwickeln zu können. Für diesen Zweck eignen sich Skriptsprachen sehr gut. Des Weiteren ist das Sammeln und Analysieren von Daten ein nicht unwesentliches Aufgabengebiet. Sei es im Marketingbereich oder für IoT. Auch da können Skriptsprachen punkten.

Wenn man sich moderne Sprachen wie Dart, Swift oder Kotlin anschaut, wird auffällig, dass sie versuchen, dynamisch und kurz formulierbar zu sein. Lambdas, Nullable-Operatoren und Typinterferenz werden genutzt. In C# und Java haben solche Features ebenfalls Einzug erhalten (Beispiel: var-Schlüsselwort).

Auf der anderen Seite gibt es seitens der Entwickler allerdings ebenso ein Interesse, Features in Skriptsprachen einzubauen, die sonst nicht so charakteristisch für diese sind. Ich denke da an die Möglichkeit, stärker typisierte Ausdrucksmöglichkeiten einzubringen (Beispiel aus PHP7: Deklaration des Rückgabetyps einer Funktion oder die Entwicklung von TypeScript zum Erstellen von JavaScript-Anwendungen).

Welche Sprache nun die Zukunft aber am meisten beeinflussen wird, halte ich, zumindest im Hinblick auf die sprachliche Entwicklung nicht für so einfach beantwortbar. Öfter sind es doch sogar ältere Konzepte (bspw. von Lisp), die nur nochmal neu aufgewärmt werden. Wenn man die Frage auf die Software-Entwicklung bezieht, schau auf den TIOBE-Index.

Und damit komme ich auch schon zu meinem nächsten Punkt: Ein Wandel benötigt oft viel Zeit. Selbst wenn man von heute auf morgen entscheiden würde, künftig nur noch Sprache XY für jegliche neue Software-Entwicklung einzusetzen, hätte man noch haufenweise alte Systeme, die noch mit alter Technologie betrieben werden sowie regelmäßiger Wartung bedürfen. Aber nicht jeder Eigentümer hätte das Interesse oder die finanziellen Mittel, diese einfach auszutauschen. Viel eher gäbe es dann Bestrebungen, den bestehenden Zustand (mit Workarounds) zu erhalten, denn selbst das wäre (scheinbar?) billiger. Deshalb gibt es noch Systeme, die mit Perl, COBOL, Objective-C oder VB Classic laufen.

Wenn du also heute eine der Sprachen lernst, die auf dem TIOBE Index oben (z.B. unter der Top 5) stehen, bist du für die Zukunft wohl sicher genug aufgestellt. Und selbst wenn Bill, Tim, David und Sundar entscheiden sollten, die von dir gewählte Sprache in den nächsten Jahren vom Markt zu jagen, so sollte es dir mit den bereits erworbenen Kenntnissen nicht so schwer fallen, eine neue Sprache zu lernen. Als Programmierer wirst du so und so wohl kaum bei einer einzigen Sprache bleiben. Von einem Berufsprogrammierer kann man einen Wechsel von Sprache A zu B (natürlich mit entsprechender Lernphase) durchaus erwarten.

Außerdem werden viele Sprachen noch immer weiter entwickelt (Beispiele: C#, Swift, PHP, Java, JavaScript, ...). Dabei werden nicht nur Bugs behoben, sondern gern auch neue Features eingeführt. Man versucht durchaus, sie modern zu halten, um konkurrenzfähig zu bleiben. Und wenn es der Hersteller einer Sprache nicht tut, kann eine Entwicklung ebenfalls über Dritttools (Frameworks) ausgehen.

Möchte das Programmieren lernen (...)

Ich würde dir im nächsten Schritt dazu raten, zu überlegen, welches Themengebiet dich in der Softwaretechnik am ehesten interessiert bzw. was du gern programmieren wollen würdest. Vielleicht eine Webanwendung? Vielleicht eine Windows 10 Desktop-App? Vielleicht ein Programm, welches via Touch auf deinem SmartPhone das Hauslicht dämmt und Rockmusik abspielt?

Je nachdem kann es nämlich Sinn machen, dazu nach passenden Tools zu recherchieren, die dir bei so einem Ziel weiterhelfen können. An dieser Stelle findest du ebenfalls heraus, welche Programmiersprache für dich richtig sein könnte. Nutze hierbei auch die Suche von GF. Entsprechende Fragen werden hier ja regelmäßig gestellt und beantwortet.

Wenn es dir wirklich nur darum geht, irgendwo anzufangen - und das möglichst einfach - würde ich dir Processing empfehlen (lies dafür hier). Im Anschluss sollte es nicht schwer fallen, auf Java oder z.B. C# zu wechseln. Für Python oder JavaScript gibt es ebenfalls Adaptionen von Processing (Python.py und p5.js).

Kann man, denke ich nicht so direkt sagen. Java Script ist für Anwendungen eigentlich nur wenig bis gar nicht geeignet.

Was Java allgemein betrifft, bin ich auch eher kritisch. Die haben schon seit längerer Zeit angekündigt, ihre ganzen kostenlosen librarys kostenpflichtig zu machen und ich könnt mir gut vorstellen, dass da viele abspringen.

Mit den Klassikern c#, c++, Python macht man eigentlich wenig falsch, wobei ich letzteres noch nie in der Praxis benutzen gesehen habe


TheCalif  11.06.2021, 21:23

"Kostenpflichtig" stimmt so definitv nicht.
Oracle hat seinen Support kostenpflichtig gemacht, d.h. ein kommerzieller(!) Anwender muss eine Servicepauschale bezahlen, falls er nicht die aktuelle LTS-Version benutzt. Man muss ja kein Oracle-Java nutzen.
Das lässt sich leicht dadurch umgehen, dass man z.B. OpenJDK benutzt.
Ich arbeite als Anwendungsentwickler in einer Firma, in der Java schon seit Jahrzehnten als Rückgrat der Subsysteme für die Produktion benutzt wird. Da geht es um Millionen Euro wenn wir Scheiße bauen.
Ich perönlich halte Java für eine sehr gute Wahl. Es ist stabil, die meisten Hip-Sprachen (Kotlin, Swift, Scala usw..) nutzen die Java-VM als Runtime.
Es gibt eine große Community. Java hat an manchen Stellen ein altmodisches Design, zugegeben. Aber das Functional Interface ist gut gelungen. Und ein paar grundsätzliche Eigenschaften wie Orthogonalität (gleiche Dinge sind gleich, verschiedene Dinge sind verschieden) und strenge Typisierung erleichtern einem das Dasein doch ganz beträchtlich.

0

Java ist immer noch sehr aktuell, aber Python kommt immer mehr durch. Aber auch die von Google Entwickelte Sprache Go ist ggf später mal ganz nützlich. Das "Problem" mit Java ist halt, dass es sehr langsam ist und halt auch schon sehr alt ist. Ich bin mir nicht sicher, ob sich das noch all zu lange halten kann. Aber ich würde sagen, dass man mit Python nichts falsch macht.


regex9  18.06.2020, 23:22
  1. Java ist keinesfalls langsam.
  2. Wenn das Alter der Sprache tatsächlich ein Kontra-Argument sein sollte, dürfte Python wohl nicht angepriesen werden. Sie wurde schließlich vier Jahre vor Java veröffentlicht.
0
NIleis  18.06.2020, 23:57
@regex9

COBOL ist, glaub Ich, auch noch gefragt

0
regex9  19.06.2020, 00:04
@NIleis

Ja, das stimmt. Das ist auf der Tatsache begründet, dass mit dieser Sprache damals verschiedene Verwaltungssysteme gebaut wurden (für Banken, Versicherungen, u.ä.), die kaum oder nur sehr langsam (z.B. mittels Java-Anwendungen) ersetzt werden.

1
Schachpapa  18.06.2020, 23:27

Fortran und Cobol sind über 60 Jahre alt und halten sich in einigen Bereichen immer noch hartnäckig. Java ist sicher schneller als Python, aber aufwendiger zu programmieren.

Letztendlich dürfte es egal sein, mit welcher Sprache man anfängt. Um möglichst frustfrei schnell erste Ergebnisse zu sehen, halte ich Python für gut geeignet.

1

Völlig egal, als Softwareentwickler musst du dich immer in neuen Sprachen und Technologien fortbilden.

Wenn du mal zwei oder drei Sprachen kannst, wird es auch nicht schwer die vierte zu lernen.

Ich würde an deiner Stelle mit Java anfangen, wenn du das dann einigermaßen drauf hast kannst du z.B. C oder JavaScript lernen, da machst du nichts falsch.

LG

Woher ich das weiß:Studium / Ausbildung – Gelernter Fachinformatiker, Freiberufl. Softwareentwickler

Drugsgotme  18.06.2020, 22:47

Wie fängt man sowas an?

Lg

0
FinnB132  18.06.2020, 22:52
@Drugsgotme

Ich denke auf diese Frage findest du Internet zahlreiche Antworten, manche machen es mit Büchern, andere bringen es sich selber mit YouTube Videos bei...

Da musst du das richtige für dich finden.

LG

0