Roadmap für ALLE Programmiersprachen

HerrDrachen

Lieutenant
Registriert
Feb. 2016
Beiträge
608
Hallo,

https://roadmap.sh/

Ich will mal die Seite mal mit euch teilen.

Sie gibt einen sehr guten Überblick über quasi alle Programmiersprachen.
Auch sowas neues wie AI Engineer sieht sehr interessant aus!
 
  • Gefällt mir
Reaktionen: flugser, BeBur, dasBaum_CH und 8 andere
Von den sprachen mit denen ich schonmal zu tun hatte fehlen:
  • Haskell
  • Fortran
  • Kobol
  • Haskell
  • Perl
  • Pascal
  • Matlab
  • Julia
  • Ruby
  • Lua
  • Swift
  • Basic
  • HTML
  • Ocaml
  • Zig
  • Tcl
  • Kotlin
  • Bash
  • Octave
  • C#
  • Lisp
  • R
  • Delphi
  • Clojure
  • Erlang
  • Scala
DIe basics vieler davon sind hier abgedeckt:
https://learnxinyminutes.com/


Aber was schonda ist sieht sehr schick aus :)

und ein paar hundert weitere
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: flugser, tollertyp, andy_0 und eine weitere Person
Wenn schon Matlab fehlt wird Scilab und Openmodelica auch nicht dabei sein.

Einfach Alle weglassen und viele schreiben..

Leider keine Suchfunktion auf der Website
 
  • Gefällt mir
Reaktionen: madmax2010
Es macht aber auch keinen Sinn sehr alte oder unpopuläre Sprachen zu lernen.

Wer beherrscht schon mehr als 3 Sprachen

Ich habe mich selber bereits mit Java, Python, C++ und JavaScript beschäftigt.

Im Moment und dass seit 2 Jahren lerne ich Mathe, Calculus 1-3 habe ich schon gelernt.
Aktuell lerne ich Differential Equations, danach lerne ich noch Probability and Statistics und
dann wieder Python.

Am meisten gefragt ist sicherlich JavaScript/Typescript und Python.
 
Zuletzt bearbeitet:
@HerrDrachen das kommt auf den Anwendungsfall drauf an...

Für einfache Aufgaben kann auch schnell eine neue Sprache mit UI gut sein...

Matlab wenn es z.b. ums rechnen geht und der Analyse der Funktion danach..

Syntax ist dann oft auch sehr ähnlich..

Und ich habe echt wenig Ahnung davon habe aber verschiedene Sprachen in dieser Hinsicht vergleichen müssen 😁
 
Mit R, MatLab/Octave habe ich mich auch mal beschäftigt,
aber ich kann es nicht gut.
 
HerrDrachen schrieb:
Wer beherrscht schon mehr als 3 Sprachen
Gut, "beherrschen" ist immer relativ, aber willkommen im Alltag eines Entwicklers mit einem etwas größerem Tech-Stack und/oder mehreren Projekten.

HerrDrachen schrieb:
Es macht aber auch keinen Sinn sehr alte oder unpopuläre Sprachen zu lernen.
Ehrlich gesagt zweifle ich ab einem gewissen Punkt daran, ob es überhaupt sinnvoll ist, aktiv Sprachen zu lernen, um diese zu lernen. Ab und zu kommt eben mal ein Projekt mit einer neuen Sprache und Technologie, dann muss man eben etwas Learning by Doing betreiben.
Das kann auch mal eine sehr alte Sprache sein.
 
  • Gefällt mir
Reaktionen: tollertyp und guzzisti
HerrDrachen schrieb:
Wer beherrscht schon mehr als 3 Sprachen
Bei uns bauchte es alleine C. C++, Matlab, R, Python, X86 / ARM Assembler, Java und Typescript um durch die Uni zu kommen.
Mit HTML und CSS hat eigentlich jeder mal Kontakt.

In einem der Projekte in denen ich gerade bin portieren wir u.a ein Tool von Fortran nach Haskell.
Mit Cobol hat man je nach Branche verdammt schnell Kontakt.

1-2 SQL Dialekte passieren sehr schnell.

Je nach Karrierepfad kommen auf jeden Fall Bash oder Poweshell dazu.

Swift und Kotlin sind sinnvoll, wenn man mit Mobile Apps in Kontakt kommt.

YAML, JSON, XML sind auch basics die man früher oder später einfach anfasst


Die grundlegenden Sprachstrukturen lernst du irgendwann an einem Nachittag on the fly.
Details und Kinks nerven mindestens 2-3 monate (und genau so schnell vergesse ich sie gern auch wieder)
Was wirklich Zeit frisst, ist jedes mal zu schauen welche Frameworks verwendet wurden und zu entscheiden ob man sie weiter nutzt oder erst mal refactored.

Beherrschen sei mal dahin gestellt. Man bekommt anforderungen und muss sie auf dem faulsten Weg umsetzen.

Und eine neue Sprache zu nutzen ist viel einfacher, wenn man in bestehendem Code unterwegs ist.
Ich patche in letzter zeit dauernd PHP und Perl Kram würde aber nie im Leben auf die Idee kommen zu behaupten, dass ich eine der Sprachen kann.

Monkey see -> Monkey do
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: nutrix, memory_stick, iSight2TheBlind und 3 andere
Ich würde ja knallhart behaupten, wer den Titel "Roadmap für ALLE Programmiersprachen" für den Thread vergibt, der hat die verlinkte Seite nicht verstanden.
Unter einer Roadmap für eine Programmiersprache verstehe ich eine Übersicht, welche Entwicklung eine Sprache über die nächsten Jahre erfahren wird.

Ich habe einfach mal ChatGPT gefragt, was er darunter versteht:
Was ist eine Roadmap für eine Programmiersprache?

ChatGPT:​

Eine Roadmap für eine Programmiersprache ist ein strategischer Plan oder eine Übersicht, die die zukünftige Entwicklung und die geplanten Features, Verbesserungen oder Änderungen einer Programmiersprache beschreibt. Sie dient als Orientierung für Entwickler, die die Sprache nutzen, und für die Community, die zur Weiterentwicklung beiträgt.


Inhalte einer Roadmap​


  1. Geplante Features:
    • Neue Sprachfeatures (z. B. Syntaxänderungen, neue Keywords).
    • Verbesserungen der Standardbibliothek.
  2. Verbesserungen der Leistung:
    • Optimierungen des Compilers oder Interpreters.
    • Bessere Speicherverwaltung oder schnellere Laufzeiten.
  3. Interoperabilität:
    • Unterstützung neuer Plattformen oder Systeme (z. B. WebAssembly, mobile Geräte).
    • Verbesserte Integration mit anderen Programmiersprachen oder Frameworks.
  4. Werkzeuge und Ökosystem:
    • Updates für Entwicklungswerkzeuge wie IDEs, Debugger oder Paketmanager.
    • Verbesserungen bei der Dokumentation und Community-Support.
  5. Versionen und Zeitplan:
    • Geplante Veröffentlichungsdaten für neue Versionen.
    • Langfristige Ziele und Visionen.

Zielgruppen​


  • Entwickler: Um zu wissen, welche neuen Features sie erwarten können und wie sie sich vorbereiten sollten.
  • Community: Um zu koordinieren, wie Beiträge und Feedback in die Weiterentwicklung einfließen können.
  • Unternehmen: Um die langfristige Stabilität und Kompatibilität der Sprache einzuschätzen.

Beispiele​


  • Python: Die Python-Community veröffentlicht regelmäßig PEPs (Python Enhancement Proposals), die die Roadmap für neue Versionen darstellen.
  • JavaScript: Die TC39-Gruppe arbeitet an einer öffentlichen Roadmap, die beschreibt, welche Features dem ECMAScript-Standard hinzugefügt werden.
  • Rust: Rust hat jährliche Roadmaps, die von der Community abgestimmt werden und klare Ziele setzen.

Eine Roadmap fördert Transparenz und hilft allen Beteiligten, die Entwicklung der Programmiersprache aktiv zu verfolgen und mitzugestalten.
Die Seite versucht aber Roadmaps für Entwickler zu machen.
Auch dazu hat ChatGPT eine Meinung.

Was ist eine Roadmap für einen Entwickler?

ChatGPT:​


Eine Roadmap für einen Entwickler ist ein strukturierter Leitfaden, der die notwendigen Schritte, Fähigkeiten und Technologien beschreibt, die ein Entwickler erlernen oder beherrschen sollte, um ein bestimmtes Ziel zu erreichen. Diese Roadmap dient als Orientierungshilfe, um den Lernprozess zu planen und sich in einem oft komplexen und schnelllebigen Bereich wie der Softwareentwicklung zurechtzufinden.




Inhalte einer Entwickler-Roadmap​


  1. Grundlagen:
    • Programmiersprachen: Auswahl der Kernsprachen, z. B. Python, JavaScript, Java.
    • Algorithmen und Datenstrukturen: Verständnis von grundlegenden Konzepten wie Arrays, Listen, Sortieralgorithmen, Rekursion.
    • Grundlagen der Informatik: Kenntnisse in Themen wie Betriebssysteme, Netzwerke und Datenbanken.
  2. Spezialisierung:
    • Frontend-Entwicklung: HTML, CSS, JavaScript, Frameworks wie React, Angular oder Vue.js.
    • Backend-Entwicklung: Serverseitige Sprachen wie Node.js, Python (Django/Flask), Ruby oder Java (Spring).
    • Mobile Entwicklung: Plattformen wie Android (Kotlin, Java) oder iOS (Swift).
    • DevOps: Tools wie Docker, Kubernetes, CI/CD-Pipelines, Cloud-Technologien.
  3. Tools und Technologien:
    • Versionierung: Git, GitHub, GitLab.
    • IDEs und Editoren: Visual Studio Code, IntelliJ IDEA, etc.
    • Debugging und Testing: Unit-Tests, Integrationstests, Tools wie Jest, Selenium, etc.
  4. Soft Skills:
    • Teamarbeit, Kommunikation und Problemlösung.
    • Projektmanagement und agile Methoden (Scrum, Kanban).
  5. Projekte und Praxis:
    • Entwicklung kleiner Projekte, um das Gelernte anzuwenden.
    • Beitrag zu Open-Source-Projekten oder Aufbau eines Portfolios.
  6. Karriereziele:
    • Vorbereitung auf Bewerbungsgespräche (z. B. Coding-Challenges, Systemdesign).
    • Zertifizierungen (z. B. AWS, Azure, Google Cloud).



Beispiele für Entwickler-Roadmaps​


  • Full-Stack-Entwickler:
    • Frontend-Technologien wie React oder Vue.js.
    • Backend-Technologien wie Node.js oder Django.
    • Datenbanken (SQL und NoSQL) und API-Entwicklung.
  • Machine-Learning-Entwickler:
    • Grundlagen in Python, Mathe (Linear Algebra, Statistik).
    • Bibliotheken wie TensorFlow, PyTorch, scikit-learn.
    • Praxisprojekte mit Datensätzen und Modell-Deployment.
  • DevOps-Engineer:
    • Linux-Kenntnisse, Shell-Scripting.
    • Containerisierung mit Docker, Orchestrierung mit Kubernetes.
    • Cloud-Plattformen wie AWS, Azure oder Google Cloud.



Vorteile einer Roadmap für Entwickler​


  • Strukturierter Lernprozess: Hilft, Überforderung durch eine klare Reihenfolge zu vermeiden.
  • Klarheit über Ziele: Ermöglicht es, sich auf spezifische Fähigkeiten oder Technologien zu konzentrieren.
  • Motivation und Fortschritt: Das Erreichen von Meilensteinen gibt ein Gefühl der Erfüllung.
  • Anpassungsfähigkeit: Roadmaps können je nach Interesse und Marktanforderungen flexibel angepasst werden.

Eine Entwickler-Roadmap ist ein wertvolles Werkzeug, um systematisch Wissen und Fähigkeiten aufzubauen und sich langfristig in der Branche zu positionieren.

HerrDrachen schrieb:
Es macht aber auch keinen Sinn sehr alte oder unpopuläre Sprachen zu lernen.
C# ist schon extrem alt... oder zu unpopulär. Aber ASP .NET Core ist populär genug... makes sense. Ich sehe übrigens gar keine Liste von Programmiersprachen dort. Weil es auch keine Roadmap für Programmiersprachen ist.

HerrDrachen schrieb:
Wer beherrscht schon mehr als 3 Sprachen
Ich würde behaupten: Sehr viele Entwickler.
Im Gegensatz zu Sprachen, die wir zum Kommunizieren verwenden, sind die Konzepte verschiedener Programmiersprachen häufig sehr sehr ähnlich, mit Ausnahmen natürlich (wie Assembler). Aber die ganzen C-Sprachen sind eng verwandt und syntaktisch ähnlich, auch Java und einige andere sind da nicht so weit entfernt. Ja, gewisse Feinheiten unterscheiden sich, aber ob ich in C# nun für einen Lambda-Ausdruck => schreiben muss und in Java dann ->, das sind Details, die gar nicht von so großer Bedeutung sind. Ach ich vergaß, C# ist ja unpopulär. Und es ist gut, wenn eine Seite mit "allem" schon vorfiltert, was wichtig ist. Weil "alle" schon lange nicht mehr "alle" meint. Sorry, schrieb ich "alle"? Ich meinte natürlich "ALLE".

Ich bin der Meinung, Programmieren ist ein wenig wie Autofahren - etwas "extremer" natürlich und der Vergleich ist stark vereinfacht. Als ich das Autofahren gelernt habe, also wirklich die ersten Stunden am Steuer, da war ich froh, dass ich immer das gleiche Auto hatte (okay, nach der Prüfung gab es einen einmaligen Wechsel). Das hat sich dann immer gleich verhalten, selbst wenn es nichts mit "gewohntem Verhalten" zu tun hatte. Aber zumindest war immer alles dort, wo es auch das letzte Mal war, und die Kupplung verhielt sich auch immer gleich.
Und wenn man genug Fahrerfahrung hat, dann steigt man in ein unbekanntes Auto. Man schaut sich an, wie die Gangschaltung funktioniert, vielleicht der Scheibenwischer, das Licht, und fährt los. Man bekommt das Auto schon ans Ziel. Vielleicht erfordert die neue Fahrzeugbreite etwas Umgewöhnung, vielleicht der Wechsel von manuellem auf Automatik-Getriebe. Man fährt erst mal nicht unbedingt optimal. Aber auch dieses Auto wird einem mit der Zeit dann vertrauter und fährt es besser...

Ja, die Unterscheide von Programmiersprachen sind deutlich größer als die Unterschiede von Autos, das ist mir schon klar. Wie gesagt, das ist ein stark vereinfachter Vergleich.

HerrDrachen schrieb:
Ich habe mich selber bereits mit Java, Python, C++ und JavaScript beschäftigt.
Und drei Sprachen davon sind syntaktisch schon nahe beieinander. Sind übrigens schon vier.

HerrDrachen schrieb:
Im Moment und dass seit 2 Jahren lerne ich Mathe, Calculus 1-3 habe ich schon gelernt.
Aktuell lerne ich Differential Equations, danach lerne ich noch Probability and Statistics und
dann wieder Python.
Krass, früher hießen die Sachen mal Differentialgleichungen, Wahrscheinlichkeit und Statistik.

HerrDrachen schrieb:
Am meisten gefragt ist sicherlich JavaScript/Typescript und Python.
Von wem in welchem Kontext?
Ergänzung ()

HerrDrachen schrieb:
Sie gibt einen sehr guten Überblick über quasi alle Programmiersprachen.
Tut sie nicht, und das will sie auch gar nicht.
 
  • Gefällt mir
Reaktionen: andy_0
HerrDrachen schrieb:
Es macht aber auch keinen Sinn sehr alte oder unpopuläre Sprachen zu lernen.
Was Sinn macht, musst Du schon den jeweilig Betroffenen überlassen.

HerrDrachen schrieb:
Wer beherrscht schon mehr als 3 Sprachen
Beherrschen ist ein großes Wort. Aber ich würde mal behaupten, das jeder der schon ein bissl länger programmiert, mit mehr als 3 Sprachen zu tun hatte,
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: guzzisti, nutrix, pcBauer und 2 andere
Ich finde die Übersicht ganz nett, aber einem Anfänger sollte klar sein, dass das eine "Idee" mit Lernhilfe ist, kein "genau so ist es".

Es wurde auch schon genannt, dass aktuell weit verbreitete Sprachen gar nicht auftauchen. Und das irgendwie Sprachen und Frameworks vermischt werden.


HerrDrachen schrieb:
Ich habe mich selber bereits mit Java, Python, C++ und JavaScript beschäftigt.
HerrDrachen schrieb:
Mit R, MatLab/Octave habe ich mich auch mal beschäftigt,
Das ist ein typisches Verhalten. Meiner persönlichen Meinung aber schädlich und gibt den falschen Eindruck. Es geht nicht darum in möglichst vielen Sprachen "Hello World" zu programmieren. Eine Programmiersprache ist ein Werkzeug, um Aufgaben zu erledigen.

Deswegen würde ich einem Anfänger empfehlen, eine der üblichen Sprachen zu erlernen (C#, Javascript, Python, ...) und von da an mit dieser Probleme zu lösen. Kleine Dinge, die einem selbst die Arbeit am PC erleichtert. Damit ist man auch motiviert, da man das Ergebnis seiner Arbeit sieht.

Dabei ist dann so eine Lernübersicht, wie hier bereitgestellt, sehr nützlich um nach und nach seine Fähigkeiten in der einem Sprache und Framework aufzubauen. Erst allmählich, bedeutet Monate, versteht man dann auch, warum eine Sprache diese Konstruktionen wie Methoden, Parameter, Zugriffstypen, Klassen usw. hat und wie diese zusammenspielen.
 
  • Gefällt mir
Reaktionen: pseudopseudonym und madmax2010
HerrDrachen schrieb:
Es macht aber auch keinen Sinn sehr alte oder unpopuläre Sprachen zu lernen.
Nein, das ist unsinnig.
Gerade Java ist eine ältere Programmiersprache, die sehr verbreitet ist, gerade weil sie gut durchdacht wurde.
Schaut man sich neueres C++ an, kann man nur noch 🤢
 
  • Gefällt mir
Reaktionen: Marco01_809 und madmax2010
In Bezug auf Generics ist Java alles andere als gut durchdacht. Leider.
Die Stream-API, die es nicht zulässt, dass in Streams Checked-Exceptions geworfen werrden dürfen, ist alles andere als gut durchdacht. Leider.
 
  • Gefällt mir
Reaktionen: andy_0 und madmax2010
tollertyp schrieb:
In Bezug auf Generics ist Java alles andere als gut durchdacht. Leider.
Doch Generics wurden gut durchdacht.

Und die Stream-API wurde so gut als möglich entworfen.

Aber was soll das ... Sollen wir nun einen Boxkampf veranstalten, wer welche Sprache für sich besser findet? :P
 
:evillol::evillol::evillol: Danke, ymmd.
 
Zurück
Oben