Ratgeber

Diese Programmiersprachen solltet ihr 2019 unbedingt lernen

(Foto: Shutterstock)

Alteingesessene Sprachen wie Java, C oder JavaScript sind für Anfänger meist die richtige Wahl. Doch sind sie noch zukunftsweisend? Das sind die Player von morgen, die ihr 2019 wirklich lernen solltet.

Neue Programmiersprachen werden immer wichtiger. Einige davon wachsen mit schneller Geschwindigkeit und tauchen auch in Stellenanzeigen immer häufiger auf. Je nachdem, ob ihr fürs Web, Backend oder Smartphones entwickelt. Fast überall gibt es neue Programmiersprachen, die ihr euch genauer anschauen solltet.

Diese Programmiersprachen solltet ihr 2019 lernen

Noch führen Sprachen wie JavaScript, C++ oder Java die Liste der meistgenutzten Programmiersprachen an. Doch wie lange noch? Sind die Sprachen des letzten Jahrhunderts wirklich noch modern genug? Diese (meist) neuen Programmiersprachen machen ordentlich Druck und sind es wert, gelernt zu werden.

Das sind die am schnellsten wachsenden Programmiersprachen auf GitHub 2018 im Vergleich zum Vorjahr. Einige dieser Sprachen sind Lernkandidaten für 2019. (Grafik: GitHub)

Das sind die am schnellsten wachsenden Programmiersprachen auf GitHub 2018 im Vergleich zum Vorjahr. Einige dieser Sprachen sind Lernkandidaten für 2019. (Grafik: GitHub)

Nicht nur in der Webentwicklung: TypeScript

In der Webentwicklung gibt es seit Jahren die immer gleichen Sprachen, die ihr drauf haben solltet. Wollt ihr in dem Segment entwickeln, kommt ihr um JavaScript eigentlich nicht herum. Wenn ihr die Sprache beherrscht, seid ihr auf jeden Fall gut aufgestellt. Doch seit 2012 gibt es einen neuen Player aus dem Hause Microsoft: TypeScript. Im Gegensatz zu JavaScript ist TypeScript statisch typisiert und gibt euch mehr Kontrolle über euren eigenen Code.

Doch keine Angst! Wer JavaScript beherrscht, wird sich auch schnell in TypeScript einarbeiten können. Denn TypeScript versteht JavaScript und vice versa. Ihr könnt die vielen Libraries und Frameworks oder anderen bestehenden JavaScript-Code ohne Probleme mit TypeScript weiternutzen. Auch wichtig: Am Ende wird TypeScript in JavaScript transpiliert, sodass TypeScript mit genauso vielen Browsern kompatibel ist.

Warum solltet ihr euch auf TypeScript einlassen? Es setzen nicht nur immer mehr Frameworks wie beispielsweise Angular auf TypeScript. 2018 war die Sprache die am drittschnellsten wachsende Programmiersprache auf GitHub und landete bei der Plattform auch auf Platz 7 der meistgenutzten Sprachen. Und das nach nur sechs Jahren.

Python für künstliche Intelligenz, Backend und vieles mehr

Obwohl Python ein paar Jahre mehr auf dem Buckel hat und aus den 90er Jahren stammt, wächst die auf knappen Programmierstil setzende Sprache stetig und hat sich bei GitHub auf Platz 3 der meistgenutzten Sprachen festgesetzt. Ein großer Vorteil von Python ist die Plattformunabhängigkeit: Sie läuft auf fast allen Betriebssystemen. Mit ihr könnt ihr objektorientiert oder prozedural programmieren. Dabei ist Python im Bereich künstliche Intelligenz, Backend und vieles mehr eine gute Wahl. Insgesamt ist Python fast universell einsetzbar. Mit den entsprechenden Tools sind sogar Benutzeroberflächen möglich. Zudem ist Python leicht zu lernen und hat viele Bibliotheken.

Android: Kotlin ist unfassbar beliebt und wächst am schnellsten

Im Mai 2017 hat Google Kotlin neben Java zur offiziellen Android-Programmiersprache erklärt. Seitdem wächst die aus dem Hause Jetbrains stammende Sprache scheinbar unaufhaltsam. Die Sprache ist unfassbar beliebt und ist auf GitHub sogar die am schnellsten wachsende Programmiersprache des Jahres 2018. Sie hat gegenüber Java sehr viele Vorteile und macht den Umstieg von Anwendungen mit Java-Codebase leicht. Durch die Interoperabilität könnt ihr euer Projekt Stück für Stück in Kotlin umschreiben.

Warum Kotlin statt Java? Kotlin ist erst ein paar Jahre alt und hat somit viele moderne Features an Bord, die bei Java erst nach und nach mehr schlecht als recht hinzugekommen sind. Durch die Null-Sicherheit, sehr einfache Syntax für Lambda-Funktionen und Sprachkonstrukte, die den Code gegenüber Java deutlich reduzieren, gehört Kotlin für Android definitiv zu den Must-haves. Wer ein neues Projekt schreibt, sollte wenn möglich auf Kotlin setzen. Auch, weil Jetbrains an Features für Multiplattform-Projekte mit Kotlin arbeitet. So könnt ihr native Apps für Android und iOS schreiben.

iOS: Swift statt Objective-C

Solltet ihr iOS-Apps immer noch mit Objective-C entwickeln, dann wird es Zeit, Swift zu lernen. Die Sprache wurde 2014 vorgestellt und gilt als moderne Alternative zu Objective-C für iOS und macOS. Sie hat viele Ähnlichkeiten zu Kotlin und mindestens genauso viele Vorteile gegenüber Objective-C wie Jetbrains’ Sprache gegenüber Java. Swift erleichtert das Entwickeln von Apps für iPhones und Co. deutlich, weswegen sich Apple-Entwickler die Sprache bereits seit 2014 näher anschauen sollten. Wer das noch nicht getan hat, hat einen neuen Vorsatz für das Jahr 2019.

Rust: Zuverlässig, performant und produktiv

Mit diesen Worten bewirbt Mozilla seine 2010 angekündigte Programmiersprache Rust. Sie ist die beliebteste Sprache in der Stackoverflow-Umfrage 2018 und die am fünftschnellsten wachsende auf GitHub. Auch Rust setzt auf statische Typisierung und will Null-Pointer- und Stack-Overflow-Fehler zur Laufzeit weitestgehend verhindern. Rust positioniert sich zwischen Low-Level-Sprachen wie C und höheren Sprachen wie Java. Die Programmiersprache erlaubt durch die Verbindung verschiedener Programmierparadigmen ein hohes Abstraktionsniveau und setzt für die Speicherverwaltung auf ein für funktionale Sprachen übliches Typsystem statt eines Garbage-Collectors. Genutzt werden kann die Sprache unter anderem für CLI-Tools, Web-Assembly und Netzwerk-Services.

Rust ist eine Alternative für C und C++, die viele Gefahren und Fehler zur Laufzeit ausmerzen will. Da Rust jedoch noch sehr jung ist, fehlt es an einigen Stellen noch an Tools und Bibliotheken, damit die Sprache auch langfristig eine Konkurrenz für die alteingesessene Programmiersprache C werden kann.

Go von Google für Cloud-Computing

Die Open-Source-Programmiersprache Go wurde von Google aus Unzufriedenheit gegenüber Java und C++ entwickelt. Sie ist vor allem für Cloud-Computing relevant. Die Sprache entstand mit dem Fokus auf Effizienz und produktives Entwickeln. Um bestehenden Code nicht zu gefährden, soll Go in späteren Versionen weiterhin mit der ersten Version kompatibel bleiben. Wer Go beherrscht, kann durchaus Zeit sparen, jedoch ist die Einarbeitungszeit recht hoch und mühsam.

Lies mehr zum Thema: Warum sind Kotlin, TypeScript und Rust so im Trend? Der Hang geht zu mehr Kontrolle und weniger Fehler.

Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

21 Kommentare
Robert Willemelis
Robert Willemelis

Typescript wird transpiliert …

Antworten
Andreas Domin

Hallo Robert,

ein Transpiler ist eine spezielle Art eines Compilers. Aber genauer und richtiger ist natürlich die Verwendung des Begriffs „transpilieren“.
Vielen Dank dafür, habe ich im Beitrag angepasst.

Viele Grüße aus Hannover
Andreas

Antworten
Werner
Werner

=> für Anfänger meist die richtige Wahl..
Kann ja wohl nicht dein Ernst sein!

Diese Sprachen (Java, C oder JavaScript) zu lernen kann für Neulinge eher traumatisch sein. Misserfolg ist garantiert. Kryptisch ohne Ende, Klammern und Kommata bis zum Erbrechen, kompliziert.
Da gibt es bessere Alternativen: Ruby oder Python, VueJs oder Elm (evt. Html, Css) sind für Anfänger wesentlicher einfacher nachzuvollziehen, beschreibend, und bringen Erfolgserlebnisse.

Antworten
Andreas Domin

Hallo Werner,

dass ist durchaus mein Ernst. Java, Javascript oder auch C sind immer noch immens weit verbreitet. Wer diese Sprachen nicht beherrscht, wird im Berufsleben im entsprechenden Segment noch Probleme haben. Auch weil bspw. Kotlin in Java oder TypeScript in JavaScript transpiliert ist es sehr sinnvoll die entsprechende zugrunde liegende Sprache zu beherrschen.

Ich möchte dir auch noch diesen Artikel ans Herz legen. Der beschreibt, warum der Einstieg ins Programmieren nicht unbedingt leicht sein muss: https://t3n.de/news/einstieg-ins-programmieren-1127207/

Und HTML und CSS sind keine Programmiersprachen. Also ist damit der Einstieg ins eigentliche Programmieren absolut nicht sinnvoll.

PS: An der Universität sind Java und C aus gutem Grund meistens die Einsteiger-Sprachen.

Viele Grüße aus Hannover,
Andreas

Antworten
Werner
Werner

Gut, dann hatten wir unterschiedliche Denk-Ansätze. Ich meinte -hatte es so verstanden, Anfänger die Lust haben was zu programmieren und keine Informatik Studenten,
Bei Studenten kann ich voraussetzen das wesentliche Grundkenntnisse vorhanden sind. Dann mag das sinnvoll sein.
Bei „Anfängern“ eher nicht. Frust ist dann garantiert.
In diesem Fall sind Java&Co def. nicht geeignet.
HTML, CSS habe ich bewusst in Klammern gesetzt.

Gruss aus München in mein alte Heimatstadt..

Jarek Sarbiewski
Jarek Sarbiewski

Werner, falls man Javascript in vollem Umfang erlernen will, ist das sicherlich nichts fuer Anfaenger, jedoch kann man damit sehr schnelle ergebnisse erzielen und ist ebenso fuer Anfaenger als auch fuer Profis.
Naja, Vue ist keine Sprache, sondern ein Framework, Html und CSS sind keine Programmiersprachen und daher ist deine Gegenueberstellung, wie der Vergleich von Apfeln mit Birnen.

Antworten
Werner
Werner

Hallo Jarek.
Die Frage war für mich nach Programmieren lernen. Warum soll ein Framework das nach JS kompiliert nicht auch genutzt werden, um den Einstieg zu schaffen, und positive Erfahrungen zu machen. Das VueJS und Elm keine „Sprachen“ sind -geschenkt. Die verhalten sich aber so und vermeiden viele Probleme die bei Vanilla JS reichlich nerven.

Wenn du aufmerksam gelesen hättest … ich habe Html und CSS in runde Klammern gesetzt habe, um auch diese Beschreibungssprachen für Anfänger (keine Informatikstudenten) als lernenswert zu erwähnen. Ist doch nun Birnen-pickerei..

unficyp
unficyp

Erlang ;)

Antworten
Samuell Moos
Samuell Moos

Ich kann nur jedem Scala empfehlen. Nach meinem ersten Kontakt wurde es sofort zu meiner Lieblingssprache!
Und mit Scala.js, welches im Endeffekt Javascript erzeugt, kann ich für Backend und Frontend dieselbe Sprache verwenden. Auch kann ich in Scala bei Bedarf sämtliche Java-Bibliotheken vnutzen oder auch ältere in Java geschriebenen Programmteile mit neuerem Scala Code gemeinsam verwenden.
Als Krönung unterstützt Scala auch Funktionale Programmierung (FP).

Antworten
undefined
undefined

Weil natürlich HCL, CMake und SQLPL ganz typische Programmiersprachen sind. Da hat sich doch jemand ne Statistik angeschaut und ungefiltert und uniterpretiert alles einfach hierher übernommen…

Antworten
Sven
Sven

Wie sieht es mit „q“ von kx aus? Ist dies noch interessant in der heutigen Zeit?

Antworten
stephan-hartmann
stephan-hartmann

„Kryptisch ohne Ende, Klammern und Kommata bis zum Erbrechen, kompliziert.“
Das ist die typeische Aussage von jemand -entschuldige die Unterstellung- der noch nie in diesen Sprachen entwickelt hat.
Ich habe nach jahrelanger Verirrung in BASIC (1982-86) mit gleichzeitigen 8086-Assembler Orgien (wenn man was Kryptisches sucht, dann ist man damit gut bedient) C gelernt, das war im Rahmen meiner Diplomarbeit (ich habe nicht Informatik studiert). Ich war sofort begeistet von der Strunktur und Klarheit der Sprache. Das hat sich im gleichen Maß- trotz Erweiterung der Funktionen- an die Töchter und Enkelinnen C++, Java und C# vererbt.
Die Urahnin aller dieser Sprachen war Algol, es gibt viele ähnlich strukturierte Sprachen (PL/1, Ada, auch Pascal).
Was soll also falsch daran sein, eine davon zu lernen? Ich schreibe heute fast nur Java, kann aber- weil es ähnlich bzw. fast eine Übermenge davon ist, C, Pascal (das ich nie „gelernt“ habe), C++, C#, Kotlin etc. lesen und verstehen.
Übrigens hat mich das von 1987-1993 erlernte LISP die Lambdas in Jave sehr schnell verstehen lassen.
Und noch etwas- wer programmieren lernen will, sollte erstmal gar keine Sprache lernen. Zuerst sollte man verstehen, dass eine Programmiersprache nur ein Werkzeug zum Ausformulieren einer bereits vorhandenen Prozeßdefinition ist.
Python halte ich im Übrigen für sperrig, da die Funktion nie der Form folgen darf (Ersatz von klaren Strukturelementen {} oder begin / end durch Whitespace).

Antworten
mik-d
mik-d

„Python halte ich im Übrigen für sperrig, “
ok, und das gilt nicht für C und C++?
und zu dem Rest was du schreibst: Angeber. den anderen empfehle ich dringend mal mehrere Tutorials zu Python durchzugehen und selbst zu entscheiden.

Ich arbeite DEUTLICH schneller mit Python und hab das fehlen der dämlichen Klammern SEHR zu schätzen gelernt, es zwingt gleichzeitig zu einem sauberen Layout. Python konnte ich mir selbst beibringen (was auch immer das heisst), mit C++ rätsel ich immer noch die meiste Zeit.

Ich brauch minimum nur Notepad++ und Python installiert, und du? Während du noch runterlädst, fang ich zu arbeiten an. Während du noch überlegst wie du was löst, bin ich mit einem kleinen Problemlöser schon fertig. Und ich schreibe keine Treiber oder sonstiges low-level zeuch.
Unglaublich gute Bibliotheken (ich komme aus dem Videobereich!).

Das einzige relativ „schwierige“ in Python ist die kompilierung in eine kleine EXE für die Weitergabe.

Und: Python könnte man sogar in C++ verwenden und AFAIK umgekehrt.

kurz: ich LIEBE Python! Schade das die Unis immer auf Java setzten.
Sollte JEDER mal selbst probiert haben.

Antworten
Dino
Dino

Will ich moderne neue Technologien dann mag das alles stimmen. Sonst ist C ein super Einstieg.

Und auch die alten Sprachen lohnen. Wer z.B. Cobol kann, der kann sich derzeit vor Stellenangeboten zu guten Konditionen in soliden Konzernen kaum retten.

Antworten
stephan-hartmann
stephan-hartmann

Und noch etwas zum allgemeinen Gewicht von Programmiersprachen:
https://www.tiobe.com/tiobe-index/
Sollte man beim Lesen des Artikels daneben geöffnet haben.
Und ist mit SQLPL PL/SQL (Oracle) gemeint?
Das Problem ist hier, dass es meines Erachtens nie eine gute Idee ist, proprietäre Sprachen als einzige und hauptsächliche zu lernen. oder zu verstehen Dazu gehört ABAP genauso wie TypeScript oder C#. C und Java haben einige Plattformen bereits überlebt und werden noch einige mehr überleben. ABAP wird mit SAP, PL/SQL mit Oracle, TypeScript und C# mit Microsoft sterben. Java hat Sun genauso überlebt wie es Oracle überleben wird. C war von Anfang an nie fest an einen Computerhersteller oder Systemhersteller gebunden.

Antworten
Ludwig Stecher
Ludwig Stecher

Über den Abschnitt zu Rust kann ich leider nur den Kopf schütteln. Das meiste davon ist falsch!

Rust kann keine Stack-Overflow-Fehler verhindern, das kann *keine* Sprache. Wahrscheinlich war gemeint, dass Rust memory-safe ist, so wie alle Sprachen mit einem Garbage Collector. Das besondere an Rust ist jedoch, dass Rust memory-safe ist, obwohl es *keinen Garbage Collector verwendet*.

Rust positioniert sich auch nicht zwischen low-level Sprachen und höheren Sprachen, Rust ist beides zugleich. Es ist low-level, weil es zu Maschinencode kompiliert und keine Runtime hat. Rust ist aber auch high-level durch die vielen Abstraktionen (Closures, traits, pattern matching, macros, iterators, futures, …).

Zitat: Rust „setzt für die Speicherverwaltung auf ein für funktionale Sprachen übliches Typsystem statt eines Garbage-Collectors.“
Falsch. Rust setzt für die Speicherverwaltung auf das *Ownership-Modell* statt eines Garbage-Collectors. Das gibt es in *keiner anderen Sprache*. Leider steht das auch in der deutsch-sprachigen Wikipedia falsch.

Dass für Rust wenig Bibliotheken verfügbar sind, kann ich nicht nachvollziehen; dazu kommt, dass Rust mit anderen Sprachen (z.B. C/C++) interoperieren kann, dadurch hat man alles was man braucht.

Antworten
Leser
Leser

Hallo, gearde im Hinblick auf IoT/Zukunft sollte man Abra für IOTA lernen. Was denkt ihr?

Antworten
mik-d
mik-d

„Python halte ich im Übrigen für sperrig, “
ok, und das gilt nicht für C und C++?
und zu dem Rest was du schreibst: Angeber. den anderen empfehle ich dringend mal mehrere Tutorials zu Python durchzugehen und selbst zu entscheiden.

Ich arbeite DEUTLICH schneller mit Python und hab das fehlen der dämlichen Klammern SEHR zu schätzen gelernt, es zwingt gleichzeitig zu einem sauberen Layout. Python konnte ich mir selbst beibringen (was auch immer das heisst), mit C++ rätsel ich immer noch die meiste Zeit.

Ich brauch minimum nur Notepad++ und Python installiert, und du? Während du noch runterlädst, fang ich zu arbeiten an. Während du noch überlegst wie du was löst, bin ich mit einem kleinen Problemlöser schon fertig. Und ich schreibe keine Treiber oder sonstiges low-level zeuch.
Unglaublich gute Bibliotheken (ich komme aus dem Videobereich!).

Das einzige relativ „schwierige“ in Python ist die kompilierung in eine kleine EXE für die Weitergabe.

Und: Python könnte man sogar in C++ verwenden und AFAIK umgekehrt.

kurz: ich LIEBE Python! Schade das die Unis immer auf Java setzten.
Sollte JEDER mal selbst probiert haben.

Antworten
stephan-hartmann
stephan-hartmann

Naja man kann auch kritisieren ohne beleidigend zu werden.
Und ich bleibe dabei:
Die Form folgt der Funktion und nicht umgekehrt.

Antworten
stephan-hartmann
stephan-hartmann

Deine Argumentation „ich arbeite deutlich schneller“ etc. is das was man anekdotisch nennt. „Also der Schwager der Freundin meines Cousins hat das homöopathische Mittel Hundescheiße D100 genommen und es hat total seine Erkältung geheilt…“
Und Deine Unterstellungen von wegen „während Du noch herunterlädst“ ist völliger Bullshit. Ich arbeite an richtigen Systemen, nicht an ein paar Scripts. Da kann ich mit Notepad nichts anfangen, ich brauche eine erwachsene IDE.
Dass Du Python liebst ehrt Dich sicher, aber nach wie vor gilt: Die Form folgt der Funktion. Punkt.

Antworten
Tom
Tom

Hallo,
ich bin am überlegen, welche Software ich für meine Webapplikation verwenden sollte. Im Back-End schwanke ich vor allem zwischen Node.js und Django. Ich möchte einen Mathekurs für Schüler erstellen. In diesem soll es neben erklärenden Texten und Videos auch viele Übungsaufgaben unterschiedlichen Typs geben. Z.B. Ankreuzaufgaben, Eingabeaufgaben oder Zeichenaufgaben. Die Aufgaben sollen entsprechend des Lernfortschrittes gestellt werden. (Falsche Aufgaben mit veränderten Zahlen erneut stellen, …) Außerdem soll es ein Punktesystem und Lernstatistiken geben. Ich habe noch wenig Erfahrung mit Webentwicklung (Etwas HTML, CSS, Bootstrap, WordPress) und beherrsche weder JavaScript noch Python.

Punkte die für Python/Django sprechen könnten:
– leichter Syntax, schneller zu lernen für mich als Anfänger
– Entwicklung geht schneller, früherer Release
– Bibliotheken für mathematische/Statistische Berechnungen, maschinelles Lernen

Punkte die für JavaScript/Node.js sprechen könnten
– bessere Performance bei Echtzeitanwendungen: Nutzer soll bei Eingabe der Antwort schnell Lösung erhalten

Für welche Software würdet ihr euch in meinem Fall entscheiden? Was würde aus eurer Sicht für/gegen Django/Node.js sprechen?

Vielen Dank!

Antworten

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!

Hey du! Schön, dass du hier bist. 😊

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team bestehend aus 65 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Danke für deine Unterstützung.

Digitales High Five,
Stephan Dörner (Chefredakteur t3n.de) & das gesamte t3n-Team

Anleitung zur Deaktivierung