Wie mit Programmieren anfangen JS Cpp?

3 Antworten

Immer wenn ich im Programmierbereich durchsteigen will (...) scheitert es schon (...) an der Implikation Libraries (...)

Ich nehme einmal an, dass du das Einbinden externer Bibliotheken in deine Anwendung meinst.

Für einen Einstieg in C++ benötigst du keine externen Bibliotheken. Da sollten erst einmal nur die Syntax und die Basisfeatures (Variablen, Operatoren, Kontrollstrukturen, ...) im Fokus stehen. Für Übungen genügt ein Konsolenkontext.

Wenn du einmal so weit bist, dich mit komplexeren Problemen auseinanderzusetzen, wirst du allerdings in der Tat nicht drumherum kommen, dich mit den Einbindungsmethoden für deine jeweilige Entwicklungsumgebung beschäftigen zu müssen. Mit einem Package Manager (z.B. Buckaroo, conan, vcpkg) kann es auch einfacher werden.

Andererseits können Frameworks wie boost oder Qt für manches Projekt eine gute Grundlage stellen, da sie mehrere nützliche Funktionalitäten bündeln, die man sonst nur über mehrere, verschiedene, einzelne Bibliotheken bekommen würde.

(...) in HTML CSS und JS - habe ich immer das Gefühl alles vom neuen lernen zu müssen (...)
  • Widme dich einem nach dem anderen. Nimm dir Zeit dafür.
  • Wiederhole Gelerntes ab und an. Wenn möglich, kombiniere es mit Neuem.
  • Überdenke deine bisherige Lernmethodik. Vielleicht hast du dich bisher zu wenig damit beschäftigt oder die Lernpausen sind zu lang.
(...) dann allein die HTML5 Canvas Implikation (...)

Ich denke du verwendest das Wort Implikation für etwas anderes, als für das, was es eigentlich bedeutet.

Sowohl das canvas-Element als auch die Canvas API sind jedenfalls gut dokumentiert. Die Voraussetzung, dass du damit arbeiten kannst, sind sehr einfache HTML-Kenntnisse und JavaScript-Grundlagenwissen (Variablen, Operatoren, Kontrollstrukturen, OOP).

Und irgendwie wechsele ich dann immer zwischen Projekten - weil jedes so unmöglich erscheint (...)

Wenn du dir zu hochgestochene Ziele setzt, wäre eine Überforderung nicht verwunderlich.

(...) - habt ihr Ideee. Für ein Projekt - vllt. Mit Datenspeichern wo man die Grundlagen lernt (...)

Ein paar Vorschläge für C++-:

  • Erstelle ein Array der Größe n, fülle es mit Werten und schaffe anschließend Platz für ein Element, welches in Index n + 1 gespeichert werden könnte.
  • Lese beliebig viele numerische Eingaben ein und speichere sie in einem Array. Addiere im Anschluss alle geraden Zahlen miteinander und bilde die Differenz aus allen ungeraden Zahlen. Beide Teilergebnisse werden miteinander multipliziert.
  • Lese beliebig viele Eingaben (z.B. Vornamen) ein, speichere sie in einem Array und gib sie modifiziert aus. Mögliche Abänderungen könnten das Entfernen von Vokalen, das Umdrehen der Buchstabenreihenfolge, das Umdrehen der Elementreihenfolge oder Wortlängenbegrenzungen sein.
  • Lese beliebig viele Eingaben (z.B. Vornamen) ein, speichere sie in einem Array und erzeuge Statistiken (z.B. wie oft Vokale in den Vornamen vorkommen, wie viele Buchstaben alle Vornamen zusammen umfassen, u.ä.).
  • Lese beliebig viele numerische Eingaben ein und ermittle von diesen sowohl die kleinste, als auch die größte Zahl.
  • Bau einen Taschenrechner, der bei Eingabe von X das zuletzt berechnete Ergebnis einsetzt. Um es einfach zu halten, werden die Zahlen und Operatoren als Einzeleingaben an die Anwendung übergeben.
  • Berechne dynamisch die Zahlen der Fibonacci-Reihenfolge bis zur n-ten Stelle.
  • Berechne dynamisch die n-te Zeile des Pascal'schen Dreiecks.

Etliche weitere Ideen findest du unterteilt in Kategorien auf w3resource.

Wie wird man nicht so schnell demotiviert?
  • Setze dir kleine Ziele, die somit auch einfacher/realistischer umsetzbar sind und sich mehr auf die wirklichen Grundlagenthemen konzentrieren. An Letzterem kommst du nicht vorbei und nur ein paar Tage werden nicht ausreichen, um mit ihnen warm zu werden.
  • Fokussiere dich vorerst auf nur eine Sache. Zwischen verschiedenen Sprachen hin- und herzuspringen, bringt dich nicht voran.
  • Überlege dir dein Vorgehen (bzw. einen Lösungsweg), bevor du mit einer konkreten Umsetzung beginnst. Ein Programmablaufplan oder ein Struktogramm kann dabei helfen. Das verhindert unter anderem, dass du in Sackgassen gerätst.
  • Wenn du dich von einem gesetzten Ziel überfordert fühlst, musst du wohl oder übel erst einmal einen Schritt zurück. Entweder fehlen dir Kenntnisse in der Sprache oder du hast dein Vorhaben nicht ausreichend geplant.
  • Wenn dir die Arbeit mit der Konsole so gar nicht zusagt, dann schau dir Precessing an. Für JavaScript gibt es eine ähnliche Bibliothek: p5.js. Man kann mit ihnen und wenigen Grundlagenkenntnissen (Variablen, Operatoren, Arrays, Kontrollstrukturen) bereits einfache Minispiele wie Pong, Snake, Conway's Game Of Life oder Space Invaders entwickeln.
Und wie es damit, jede Zeile Code nachvollziehen zu wollen?

Für den Anfang sollte Code größtenteils nur von dir oder der Standard API / Sprachreferenz kommen. Ein Nachschlagewerk für C++ findest du hier und eines für JavaScript hier. Wenn du externe Tools einsetzt, musst du dich mit deren (Online-)Manual beschäftigen. Wenn die Referenz/das Manual nicht ausreichen, suche weitere Quellen.


Ichbinneswieder 
Beitragsersteller
 26.01.2025, 17:19

Mega - Beste Antwort Jemals. Würdest du mir Empfehlen mit JS oder Cpp? Anzufangen?

regex9  26.01.2025, 20:38
@Ichbinneswieder

In erster Linie würde ich das davon abhängig machen, womit du dich nun viel lieber beschäftigen möchtest: Webentwicklung oder etwas anderes?

Ichbinneswieder 
Beitragsersteller
 26.01.2025, 20:50
@regex9

Lieber etwas anderes - also dann wohl Cpp? - was wird besser bezahlt? - in welche Richtung lieber gehen?

regex9  27.01.2025, 00:01
@Ichbinneswieder

Etwas anderes bedeutet nicht zwingend C++. Doch würdest du zu Webentwicklung tendieren, wäre JavaScript von beiden die naheliegendere Wahl. Pauschal für Desktopanwendungen ist es wiederum C++.

Als Softwareentwickler hat man mit beiden Sprachen eine gute Chance auf eine überdurchschnittliche Bezahlung. In der Tendenz dürfte man mit C++ Chancen auf ein besseres Gehalt haben, da die Sprache mehr im Kontext komplizierterer Anwendungsgebiete genutzt wird.

Ich würde dir stets dazu raten, dich daran zu orientieren, was dir persönlich Spaß macht oder was dich besonders interessiert.

Ich glaube am besten ist es mit einer guten und strukturierten Sprache wie Java oder Python zu beginnen. Da lernst du alles sauber und kannst dann später in die Webprogrammierung kommen, denn da hat alles so seine eigenen Regeln.

Aber generell ist es so, immer kleine Ziele setzen, neugierig sein, ChatGPT fragen und alles erklären lassen.

Das wichtigste ist, dass du nicht die Lust verlierst.

Woher ich das weiß:Berufserfahrung – ich bin ein erfahrener Frontend Entwickler
Für ein Projekt - vllt. Mit Datenspeichern wo man die Grundlagen lernt und kaum Libraries Implikationen benötigt.?

In der Frage hast du das Schlüsselwort selbst benutzt -> die Grundlagen!

Lerne die Grundlagen der Programmierung! Dazu gehören z.B. Programm-Ablauf-Plan, Struktogramm, Pseudocode, Objektorientierte Programmierung etc.

Bis zu dem Punkt spielen Programmiersprachen gar keine Rolle. Danach kannst du die Kenntnisse in JEDER Sprache verwenden - und die Sprache ist dann nur noch das Lernen der Syntax.