C++



  • Hallo,
    bin hier neu in diesem forum und möchte unbendingt c++ als erste programmiersprache lernen kann mir jemand was empfehlen wie ich das lernen kann bin 16 jahre alt und würde auch gerne bald was im job mit programmieren machen
    LG Azeddine 🙂



  • C++ als erste Programmiersprache würde ich eher nicht empfehlen.



  • @Azeddine sagte in C++:

    möchte unbendingt c++ als erste programmiersprache lernen

    Warum?

    Programming: Principles and Practice Using C++



  • @hustbaer was würdest du mir denn sonst empfehlen?



  • Python (Ruby, …) wäre z.B. eine Möglichkeit. Der Vorteil an Skriptsprachen ist, dass man Fehler gleich angezeigt bekommt, während ein Programm in Maschinensprache übersetzte Sprache direkt abschmiert. Dann muss man das Programm mit Debugger Anweisungen neu übersetzen, das Programm in einem Debugger starten, sehen wo der Fehler ist. Und das ggf. gleich ein paar Mal hintereinander. Skriptsprachen sind dann einfacher für Anfänger, weil das Fehlermachen gehört zum Lernprozess dazu.



  • Man macht auch später noch Fehler, aber dann weiß man schon mehr, wie man den Fehler zu interpretieren und zu beseitigen hat. 😉



  • Die Häufigkeit der Fehler sollte deutlich abnehmen, so dass man nicht mehr für jede Kleinigkeit das Programm anfassen muss, und man lernt bestimmte Fehler zu erkennen, so dass man nicht mehr lange danach suchen muss. Als Anfänger fehlt einem dieses Wissen aber natürlich.



  • Aus meiner Sicht ist Python nicht so die beste Wahl als erste Programmiersprache. Klar ist Python einfacher und entsprechend die Wahrscheinlichkeit größer, dass man Erfolge erzielt damit und am Ball bleibt. Allerdings führt das dann meistens dazu, dass man irgendwann eine neue Programmiersprachen lernen möchte / muss und feststellt, dass man quasi wieder bei 0 anfängt. Evtl. sogar bei minus irgendwas 😃

    Umgekehrt bin ich mir auch nicht 100%ig sicher, ob ich C++ als erste Sprache empfehlen würde. Evlt. *schauer Java. Auch da fällt einiges weg (wie Speicherverwaltung), aber der Weg zu C++ und anderen Sprachen in der Kategorie ist dann doch wesentlich kürzer als der von Python 🙂



  • @Leon0402 sagte in C++:

    Umgekehrt bin ich mir auch nicht 100%ig sicher, ob ich C++ als erste Sprache empfehlen würde. Evlt. *schauer Java. Auch da fällt einiges weg (wie Speicherverwaltung), aber der Weg zu C++ und anderen Sprachen in der Kategorie ist dann doch wesentlich kürzer als der von Python 🙂

    Ich halte die Wahl der Programmiersprache für relativ unwichtig, und es geht darum Konzepte zu erlernen, und man muss die rohe Speicherverwaltung auch nicht gleich am Anfang erlernen. Die einzige Sprache, die mir in den vielen Jahren gar nicht gefiel war Haskell, und nicht wegen der Funktionalen Programmierung (Mathematica nutzt das schon deutlich länger), sondern einfach so. Ich halte Skriptsprachen (damit auch nicht Java) für den Anfänger für leichter, weil man so schneller Erfolg haben kann.



  • BASIC?



  • Ich finde es manchmal sehr angenehm, interaktiv in einem Jupyter Notebook (und Python) zu arbeiten. Dort kann man eine Funktion schreiben und gleich sofort testen. Habe ich irgendwo einen Fehler in einer Zelle, kann ich diesen sofort berichtigen und die Zelle erneut ausführen.

    Ich kann mir gut vorstellen, dass man gerade als Anfänger gut mit dieser Interaktivität weiterkommt.

    Hat man eine Funktion fertig und getestet, kann man sie dann auch mal aus dem Notebook herauskopieren und in ein eigenständiges Programm hineinkopieren.

    Und da es hier ja um C++ geht: mithilfe von ROOT kann man auch C++ interaktiv in einem Jupyter Notebook ausführen. Siehe hier: Bild root-notebook.png



  • @Swordfish sagte in C++:

    BASIC?

    Entscheidend ist was auf der vorhandenen Plattform verfügbar oder leicht verfügbar ist, das kann dann auch ein modernes BASIC sein. Nur so ein Dinosaurier mit dem Notwendigkeit GOTOs zu nutzen muss es nicht sein. Das ist ja fast so schlimm wie die computed GOTOs in altem FORTRAN Code.



  • @Azeddine sagte in C++:

    Hallo,
    bin hier neu in diesem forum und möchte unbendingt c++ als erste programmiersprache lernen kann mir jemand was empfehlen wie ich das lernen kann
    LG Azeddine 🙂

    Ein wichtiges Lernmittel ist ein Buch. zb "Der C++ Programmierer" [Wenn es C++ sein soll.]. Ist ein bisschen $$$, aber das kriegst du vielleicht von jemandem aus deinem Umfeld gesponsert ;).

    Ansonsten ist es wichtig, dass man ideen hat was man gerne so kleines(!) umsetzen will oder könnte.
    Programmieren lernen ohne praxis ist unmöglich.
    Erstmal kleine Spielereien. (Datei aufmachen und was reinschreiben, Caesar chiffre, irgendwas rechnen, wie die Fakultät einer Zahl, oder Pythagoras mit 2 Eingaben usw usw).

    Ich finde mit C++ anfangen nur sinnvoll, wenn ein eiserner Wille besteht. Weil man damit nicht sofort mit klicki bunti Oberflächen anfangen kann und komplexe Aufgaben oft nicht mit der Installation eines coolen packages erledigt werden können.

    (EDIT: Die meiner Meinung nach beste Einstiegssprache für ungeduldige ist Python. C++ ist aber nicht verkehrt, weil es einen wirklich gut vorbereitet das richtige Denken zu entwickeln und der Übergang zu anderen Sprachen ist eher einfach.)



  • @john-0 sagte in C++:

    Nur so ein Dinosaurier mit dem Notwendigkeit GOTOs zu nutzen muss es nicht sein. Das ist ja fast so schlimm wie die computed GOTOs in altem FORTRAN Code.

    Ich habe nirgends geschrieben daß er sich einen C64 hinstellen soll.



  • Hast du denn eine Vorstellung, was du (zur Zeit) gern programmieren würdest? Das könnte die Wahl der Programmiersprache erleichtern.



  • Einen wichtigen unterschied zwischen script (z.B. Python) und compiled sprache (z.B. C++) ist auch noch ob/wie jemand anderen deine Anwendung ausfuehren soll.
    Aus meiner Erfahrung trifft man immer wieder auf User die einfach eine Anwendung installieren wollen und aufrufen. Das klappt mit C++ besser als mit anderen Systemen (sofern Programmierer und User dasselbe Betriebssystem nutzen). Eine Python Anwendung z.B. einem Nutzer in Japan zu senden, dann erklaeren ob du Python 2 oder 3 benutzt, welches Packages gebraucht werden, welche Pfade, etc. macht nicht so viel Spass (je nach Nutzer in Japan). Da ist ein .exe zu senden schon einfacher. Das verlangt vorab aber ein bisschen Know How. Wenn du ein Gefuehl fuer C++ bekommen moechtest ohne viel Aufwand, ist vielleicht auch https://godbolt.org/ was fuer dich.



  • @patrickm123 sagte in C++:

    Eine Python Anwendung z.B. einem Nutzer in Japan zu senden, dann erklaeren ob du Python 2 oder 3 benutzt, welches Packages gebraucht werden, welche Pfade, etc. macht nicht so viel Spass (je nach Nutzer in Japan).

    1. Natürlich Python3. Warum sollte man heute noch Python2 nutzen?
    2. Pflege eine Liste der Requirements mit exakten Versionen.

    Leider bricht zum Beispiel bei Pandas im Prinzip mit jedem Update irgendwo in unserer Codebasis irgendwas. Gerne ist es auch mal ein neu eingeführter Bug oder eine Code-Änderung, wo man nachträglich in der Diskussion über den Patch herausfindet, dass die Entwickler beschlossen haben "Das benutzt niemand so und muss daher nicht in den Release Notes erwähnt werden"... Das nervt mich enorm.



  • @Swordfish sagte in C++:

    Ich habe nirgends geschrieben daß er sich einen C64 hinstellen soll.

    Das habe ich auch nicht angenommen 😉 Wo Du nun C64 erwähnst hast, C++ auf diesem das wäre wirklich spassig.😇



  • @patrickm123 Im Zweifel gibt es http://www.pyinstaller.org/ damit kann der Anwender einfach das ausführen, was du ihm zusammen gepackt hast.



  • C++ ist von Null auf ein langwieriger Prozess, infsofern man stets am Ball bleibt.

    Irgendwann bekommst du automatisch auch ein Gefühl für andere Programmiersprachen. Ein Semikolon wird bei dir nicht mehr fehlen.

    Ich habe nicht bereut, dass es meine erste Programmiersprache war.



  • Du kannst Dir mit einer Leseprobe von Ulrich Breymanns "Der C++ Programmierer" auch mal einen ersten Eindruck verschaffen, ob dir C++ überhaupt zusagt:
    http://www.ciando.com/img/books/extract/3446444041_lp.pdf


Anmelden zum Antworten