C++



  • 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



  • @Azeddine sagte in C++:

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

    Schwierige Frage. Ideal wäre was was ausreichend einfach ist, aber nicht Teletubby. Also kein Klicksi-Klicksi Game-Designer oder so, schon eine normale Programmiersprache.
    Von daher finde ich den Vorschlag von @Swordfish (BASIC) gar nicht mal so blöd. Die Frage ist nur: welches BASIC. Gut wäre was was zumindest Funktionen unterstützt, vielleicht sogar Klassen.

    Aber nicht unbedingt Visual Basic .NET - das ist mMn. schon wieder zu komplex.

    Als ich jung war gab's am Amiga GFA Basic und AMOS. Waren beides ziemlich coole Teile, damit konnte man schon halbwegs schön programmieren. Und ausreichend einfach um schnell und ohne zuviel drumrum lernen zu müssen in die Grundlagen der imperativen/prozdeuralen Programmierung einzusteigen.

    Von Python oder JavaScript würde ich eher abraten wenn du bei C++ ankommen willst. Natürlich kann man sowohl in Python als auch in JavaScript Programme so ähnliche schreiben wie man sie in C++ schreiben würde. Das wird aber vermutlich kaum wo so gelehrt/gezeigt. Macht auch keinen grossen Sinn. Und wenn man "idiomatisches" Python oder JavaScript lernt, dann wird man beim Umstieg auf C++ erstmal alles wieder verlernen müssen.



  • @hustbaer sagte in C++:

    Gut wäre was was zumindest Funktionen unterstützt, vielleicht sogar Klassen.

    Hauptsächlich dachte ich an grundlegende Codestrukturiertung, Variablen, IO und Ablaufsteuerung.

    @hustbaer sagte in C++:

    Die Frage ist nur: welches BASIC.

    https://www.freebasic.net/



  • @john-0 sagte in C++:

    in altem FORTRAN Code.

    Von FORTRAN würde ich eher die Finger lassen: https://abload.de/img/untitledxyje3.png ... bei dem Preis ...
    (IBM Technical Directory als Beilage zu einem IBM PS/2 Model 25 aus 1987)



  • @Swordfish sagte in C++:

    Von FORTRAN würde ich eher die Finger lassen: https://abload.de/img/untitledxyje3.png ... bei dem Preis ...
    (IBM Technical Directory als Beilage zu einem IBM PS/2 Model 25 aus 1987)

    Naja, BASIC kostet auch nicht weniger



  • @hustbaer sagte in C++:

    Die Frage ist nur: welches BASIC.

    Lustigerweise gibt es da einige BASIC/GW-Basic Emulatoren welche auf Python basieren.

    PCBasic
    PCBasic Homepage
    PyBasic auf Github

    GW-Basic war meine erste Programmiersprache. Da werden Erinnerungen wach. 😆


  • Mod

    @Quiche-Lorraine sagte in C++:

    GW-Basic war meine erste Programmiersprache. Da werden Erinnerungen wach. 😆

    Bei mir war's auch die erste Sprache, aber so toll sind die Erinnerungen nicht 🙂 Die zweite Sprache, Omicron Basic, war dagegen eine echte Offenbarung. Ist vielleicht ein bisschen unfair gegen die "Sprache" GW-Basic, aber das gesamte Tooling und Library Support waren bei Omicron so viel besser. Die Umwelt ist eben auch ein wichtiger Teil einer Sprache, jenseits von Syntax. Das ist ja auch gerade einer der großen Anreize von Python, heutzutage, und auch eher ein Grund warum ich von historischen Basicversionen abraten würde.



  • @Swordfish sagte in C++:

    Von FORTRAN würde ich eher die Finger lassen: https://abload.de/img/untitledxyje3.png ... bei dem Preis ...
    (IBM Technical Directory als Beilage zu einem IBM PS/2 Model 25 aus 1987)

    Aktuell sieht das nicht viel besser aus, wenn man die Tools von Intel will. Aber es gibt ja immer noch GCC, clang etc. mit all den unterstützen Sprachen oder es gibt von nVidia nun die ehemals PGI Tools kostenlos.

    Den Punkt auf den ich hinaus wollte war ein anderer:

    • FORTRAN 77 und älter 🤮
    • Fortran 90 und 95 😑
    • Fortran 2003 und neuer 😊


  • @john-0 @manni66 Es ging scherzeshalber nur um die $ 666,-
    Ich habe nur leider übersehen daß BASIC- und Pascal-Compiler dasselbe gekostet haben.



  • @Swordfish sagte in C++:

    @john-0 @manni66 Es ging scherzeshalber nur um die $ 666,-

    Ah, in einem deutschem Forum denke ich nicht an diese Assoziation. Die US Amerikaner haben üblicherweise mit der Zahl ein Problem.


Anmelden zum Antworten