Prgorammiertraining



  • Hallo,

    bin neu in der Welt von C und somit auch bei euch im Forum 🙂

    Meine bisherigen Kenntnisse bestehen aus PHP (und zusatzsprachen wie JS, CSS, HTML etc.) und der C Programmierung.

    Habe aus einem Jahr Schulentwicklung mal einiges aufgeholt und mir die Sprache angeeignet.

    In PHP kann man simpel Seiten nachbauen um den Syntax im Kopf zu festigen, kann aber C mit keinem selbstprogrammierbaren Zweck finden.

    Habe bereits Rechenprogramme mit Funktionen für Volumen oder sowas in der Richtung gemacht. Habe alles auf Konsolenbasis gemacht und auch noch nicht direkt in C++ Programmiert. Sowie das für mich aussieht ist bei CPP ja nur der Unterschied das diese Sprache OOP ist.

    Kann mir wer von euch Programme vorschlagen welche ich Programmieren kann, was auch von Anfänger fähigkeiten her passt?

    Möchte nicht mit Tutorials überschwämt werden, da diese (auch wie in PHP) alle das selbse aufweisen, nur meist etwas anders aussieht.

    Hoffe das ich hier bei euch gut aufgehoben bin 🙂



  • Nagazi schrieb:

    Sowie das für mich aussieht ist bei CPP ja nur der Unterschied das diese Sprache OOP ist.

    LOL, vergiss das mal ganz schnell wieder. C kann man quasi über's Wochenende lernen, C++ vielleicht in 4-6 Monaten, wenn man wirklich viel Zeit und Energie rein steckt. Ich persönlich bin allerdings durchaus der Meinung, dass erst C und dann C++ zu lernen sinnvoll ist. (Da gibt's hier aber einige die nicht dieser Meinung sind. ;))

    Programm für Volumen etc. sieht für mich nach ziemlichen Anfängerkram aus. Ich denke danach könnte man z.B. versuchen Funktionen der Standardbibliothek nachzubauen. strstr, strtod, strtol, bsearch, qsort, memcmp, memcpy, strcat, etc.
    Da bekommt man denke ich ein ganz gutes Gefühl für die Sprache. Wenn du etwas eher "praktisches" willst kannst du dich auch von Standard-C weg bewegen und etwas mit Sockets machen. (Netzwerk) Das macht Anfängern erfahrungsgemäß eigentlich immer Spaß, ist aber auch etwas aufwendiger.

    Wenn du das durch hast würde ich zu C++ wechseln. 🤡



  • Taschenrechner sind immer ein hübsches Beispiel. also ein richtiger der Ausdrücke der Form "1+3*(5+7)" entgegen nimmt, valuiert und das Ergebnis ausgibt.

    Eine Vorstufe wäre die prefix notation, weil das einfacher zu parsen ist:

    "+ 1 * 3 + 5 7" (ist der selbe Ausdruck wie zuvor, nur das du zuerst den Operator schreibst und dann die Argumente)

    Wenn du das programmieren kannst, dann hast du zumindest die Grundlagen des Programmierens verstanden und kannst dir überlegen, was dir thematisch Spaß macht. Zum Bispiel kannst du dinen Taschenrechner immer weiter ausbauen: mehr Operationen, variablen, frei definierbare Funktionen (f(x)=3*x+5)... selbst in einm so einfachen Thema steckt, wenn man will, unglaublich viel Tiefe. Also, frag nicht uns nach einfachen Beispielen, frag dich selbst, was dir spaß macht. Was ist deine Motivation?



  • cooky451 schrieb:

    Nagazi schrieb:

    Sowie das für mich aussieht ist bei CPP ja nur der Unterschied das diese Sprache OOP ist.

    LOL, vergiss das mal ganz schnell wieder. C kann man quasi über's Wochenende lernen, C++ vielleicht in 4-6 Monaten, wenn man wirklich viel Zeit und Energie rein steckt.

    Also vernünftig C programmieren lernt man fix nicht übers WE ;).
    Wir reden hier nicht von einem "Hallo Welt" Programm, sondern von in C geschriebener, vernünftiger Software. Die läuft meist auf Mikrocontroller oder embedded systems, und dafür ist in der Regel einiges an Wissen nötig, um die Kisten vernünftig programmieren zu können.
    Ob ich im Job in C oder C++ programmiere ist mir grundsätzlich egal, letztlich handelt es sich ja nur um ein Werkzeug, um Probleme mit Computern lösen zu können. Viel schwieriger ist es da mal, gewisse Aufgabenstellungen zu analysieren ("was will der Kunde überhaupt von mir").

    @Threadstarter: Kauf dir ein gutes Buch, das ist mehr wert als eines dieser gratis Tutorials, weil man da eines wählen kann, das auch wirklich als gut befunden wurde.
    Und dann programmier halt irgendwas, das auch interessant ist.
    Volumensberechnungen sind ja mal ein guter Anfang, aber auch ziemlich fad.
    Programmiere Snake, Memory, oder sonst ein einfaches Spiel.
    Ich hab auch mal Vier Gewinnt mit künstlicher Intelligenz programmiert, das fand ich echt spannend!
    Siehe z.B. hier: http://www.c-plusplus.net/forum/119002-full
    Interessant fand ich auch das Thema Bildverarbeitung. Mit Libs wie OpenCV kann man leicht auf die Bilddaten zugreifen. Kannst ja mal mit einfachster Mathematik eine Kantenerkennung auf einem Bild realisieren. Oder ein Farbbild in ein Grauwertbild umrechnen. Alles ziemlich simpel, aber das nette ist, dass man sofort den Output sieht (nämlich das Bild!). Und du lernst den Umgang mit Bibliotheken. Das ist auch wichtig, da man das Rad nicht immer neu erfinden sollte.

    2 Bücher die ich empfehlen kann:
    Zum Einstieg in C: Programmieren in C von Robert Klima und Siegfried Selberherr
    Zum Einstieg in C++: Der C++-Programmierer: C++ lernen - Professionell anwenden - Lösungen nutzen von Ulrich Breymann



  • Ich lerne mit dem C++ Primer, gibt es leider nur noch als Ebook. Für die Tiefe und spannende kleine Geschichten warum was wie realisiert wurde, habe ich Die C++ Programmiersprache von dem C++ Erfinder. Sehr helfen tut mir auch Effektive C++, da sind nette Tipps drin.

    Ich programmiere als erstes größeres Projekt einen kleinen Raytracer mit Unterstützung von englischer Literatur, so lerne ich Englisch, C++, wxWidgets, Mathe und die Schwierigkeiten wenn man mal was größeres programmiert. Das macht mir einen Riesenspaß und ich komme in kleinen Schritten voran. Ich verwende keine weiteren Libs, sondern mache alles von der Pike auf neu. Ist natürlich nur ein Lernprojekt und nix was irgend wen außer mir noch weiter interessieren wird.

    Angefangen mit C++ habe ich mit irgendwelche Eingaben auf der Konsole die dann für Berechnungen genutzt wurden und dann ein Ergebnis wieder ausgegeben hatten. Dann kamen Dateibehandlungen und ein wenig STL dazu. Dann habe ich viel mit sinnlosen Klassen experimentiert und mit ctor, dtor, copy, assingment etc. ausgeben lassen um zu verstehen wie und wann Objekte erzeugt werden etc. Tja, halt mit allem so ein bissle gespielt und auch ein paar Designpattern mal ausprobiert und auf Basis dessen meine eigenen Loggerklassen geschrieben, die ich jetzt auch weiter nutze. Für die Mathesachen habe ich jetzt auch das erste Mal mit Operatorüberladungen zu tun. Ach und für einige meine Klassen habe ich eigenen Testklassen geschrieben, die wiederum von einer kleinen Testklasse erben. Tests sind für mich wichtig, da sie mir später bei der Optimierung helfen. Ich lasse die Tests einfach durchlaufen und sehe ob nach der Optimierung wirklich noch alles funktioniert. Ich will da noch mit Assembler arbeiten, aber erst kommt bei mir die Funktion dann wird optimiert.

    Ich stufe mich aber noch als Anfänger ein, mir fehlen auch noch Sachen wie Templates und viele Feinheiten, die ich hier so immer lese.



  • Dieser Thread wurde von Moderator/in Xin aus dem Forum Beruf und Ausbildung in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten