Kann ich online programmieren lernen?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet
Mir wurde weder gesagt wie ich meine Website aufsetze oder sonst was...

Ja so fangen die meisten Forschernaturen an.

Gute Bücher sind zwar toll, aber nur wenn man das gelesen auch gleich in die Tat umsetzen kann. Inzwischen schreitet die Entwicklung der Technik und der nötigen Programmiersprachen so schnell voran, dass ein Buch, wenn es in den Handel kommt, bereits hoffnungslos veraltet ist.

Ich gehöre zwar zur alten Garde, welche noch "analog" gelesen haben, aber ich gehe mit der Zeit und orientiere mich an aktuellen online Angeboten .

...und davon gibt's jede Menge.

Ein guter , bewährter Einstieg ist W3Schools. Die Seite ist kostenlos und bietet die Grundlagen für eine Vielzahl von Programmiersprachen. Du musst Dich lediglich entscheiden, welche Du lernen möchtest.

Möchtest Du weiter an Webseiten arbeiten:

Für mehr allgemeine Projekte empfehle ich Dir C#:

Für die meisten dort gelehrten Sprachen benötigst du nicht mal einen Compiler/Entwicklungsumgebung. Die dortigen Übungen kannst Du dort life ändern und ausführen/compileren.

Das wichtigste dabei ist das Experimentieren mit den Sprachelementen.

Vergiss Youtubetutorials. Diese sind didaktisch oft stümperhaft (wer gute Videos macht, ist in der Regel ein schlechter Lehrer und schon ganz und gar ein schlechter Programmierer). Zudem verleiten Videos zum passiven konsumieren.

Meine Devise:

Menschen lernen (begreifen) mit den Händen.

Was Du selbst geschrieben hast bleibt im Gedächtnis.

Welche Sprache Du letztendlich für Dich auswählst ist völlig unerheblich. Eine Programmiersprache ist lediglich ein Werkzeug. Die einzelnen Sprachekemente (Schleifen, Vergleiche, Operationen,...) sind in allen Sprachen ähnlich aufgebaut. Die Logik ist immer die gleiche. Wenn Du in einer Sprache kappiert hast, wie es funktioniert, ist der Wechsel auf eine andere Sprache schlimmstenfalls eine Frage von ein paar Tagen.

Von C++ würde ich Dir als Anfänger abraten. Bei dieser Sprache musst Du Dich um eine Menge organisatorischen Kram selbst kümmern , welcher von modernen Compilersprachen selbständig erledigt wird.

Noch einige Worte zum "hochgelobten" Python:

Python wird gerne als ganz tolle einfach zu erlernenende Sprache angepriesen. Wie bei allem, was leicht zu bekommen ist, reibt sich auch bei Python der Teufel die Hände.

Erstmal ist Python eine Interpretersprache und damit ziemlich langsam.

Python hat eine von den meisten gängigen Sprachen ( C-Syntax: C#, Java, JavaScript, Rust, C++, usw.) abweichende Syntax. Funktionale Blöcke werden allein durch Einrückungen gekennzeichnet, Klammern haben andere Bedeutung als in C-Sprachen.

Das Umlernen ist zwar kein riesiges Problem aber einmal gelernte "Finger-läufe" bekommt man ganz schwer wieder entwöhnt und können sehr lange Flüchtigkeitsfehler einschleppen.

regex9  23.09.2023, 19:26
(...) dass ein Buch, wenn es in den Handel kommt, bereits hoffnungslos veraltet ist. (...)

Zunächst einmal hat jede Programmiersprache ihren eigenen Rhythmus, in dem es neue Versionen zu ihr gibt. Um ein paar Beispiele zu nennen: Bei Java ist es ein 2-Jahrestakt für neue LTS-Versionen, bei C++ sind es drei Jahre, bei C# und JavaScript ist es jeweils ungefähr ein Jahrestakt. Es gibt auch Ausreißer: Zu Rust wird nahezu alle 1-2 Monate eine neue Subversion eingebracht, doch befindet man sich seit 2015 noch bei Main 1. Für eine neue C-Sprachversion brauchte es zuletzt ungefähr sieben Jahre.

Die Bücher die zwischen dieser Zeit (meist sind es nur 2-3 Monate Verzögerung) zu diesen Versionen herauskommen (bspw. von O'Reilly oder Rheinwerk), sind nicht hoffnungslos veraltet.

Und selbst wenn ein Buch sich noch auf eine vorletzte oder vorvorletzte Version einer Sprache bezieht, lassen sich die notwendigen Grundlagen trotzdem gut lernen. Es ist ja nicht so, dass mit jeder Sprachversion alles neu umgekrempelt wird. In der Regel findet man in neuen Version stattdessen Featureerweiterungen, syntactic sugar oder Bugfixes.

Andernfalls müsste man einmal infrage stellen, wieso du W3Schools als Lernquelle empfiehlst. Im C#-Tutorial finde ich da auch nicht die neuesten Features. Nicht einmal die zu Vorgängerversionen von 5-10. Einzelne Kernthemen wie Delegates, Events, Generics, Structs oder Linq erhalten gar keine Erwähnung.

1
Am besten kann ich online lernen

Dann solltest du dir das Lernen aus analogen Medien beibringen. Denn die besten Hilfsmittel hast du in Form von Fachbüchern.
Und für die Programmierung solltest du "online" erst einmal beiseite schieben und dich mit den Grundlagen beschäftigen. PAP, Pseudocode, OOP wären gute Startpunkte.

Erzesel  23.09.2023, 08:51

Jein...

Auch wenn vieles an Basiselementen einer Programmiersprache über lange Zeit gleich bleibt, ist "Papier" oft veraltet, wenn es beim Buchhändler im Regal steht.

Gegenwärtig schreitet die Entwicklung 7n der IT so schnell voran, dass Bücher einfach nicht mehr am Ball bleiben können.

Pseudocode ist eine wunderbare Sache um grundlegende Programmabläufe zu versinnbildlichen. Zu lernen ist er jedoch ziemlich ungeeignet. Ich würde daher eher eine funktionsfähige Programmiersprache empfehlen, mit welcher man schnell und "aus der Hüfte" kleine Übungen zum Thema ausführen kann. Damit bekommt man Praxis und auch den berühmten Aha-Effekt ... oder eine Fehlermeldung...

1