Einstieg C / C++, Buchempfehlung?

  • Hallo zusammen,


    hat jemand eine Buchempfehlung oder Link zum Einstieg in die C/C++ Programmierung?

    Für den Anfang möglichst auf Deutsch, Englisch geht auch, aber ich habe sicher erst mal genug damit zu tun die Programmiersprache zu verstehen.

    Erstes Ziel für mich ist den Code von VDR und Plugins wenigstens einigermaßen zu verstehen.


    Gruß

    Frank

    VDR User: 2127
    YaVDR-bionic , Case: HFX Classic, Mainboard: ASUS H97M-E, CPU: Intel Celeron CPU G1840T, GPU: GeForce GT 1030, DVB-S: Digital Devices Cine S2 V6
    YaVDR-bionic (24/7), Case: Akasa, Mainboard: NUC D34010WYB, DVB-S: SkyTV Ultimate VIII, Miscellaneous: epgd, pihole

    YaVDR-bionic (headless), System: HP 260 G2 DM, DVB-S: Sundtek SkyTV Ultimate IV

    YaVDR-focal (TEST), Mainboard: Gigabyte Aorus Pro B450, CPU: Ryzen 5 3400G, IPTV

  • Das währe der Klassiker für C


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • In der Berufsschule haben wir damal damit gearbeitet:

    https://www.amazon.de/C-Progra…n+c&qid=1583677856&sr=8-4


    https://www.amazon.de/C-Objekt…fRID=NAF7MZKMNDKV4EZT6K88


    Für den Einstieg sehr gut.

    -- wird überarbeitet -- VDR- Server: Gigabyte Brix 3150 - (2x Hauppauge DualHD DVB-C Sticks mit 4 Tunern) - Ubuntu 18.04 - Aufnahme und Streaming-Server
    Client Wohnzimmer: DQ77KB - i3 - Logitech z-5500 - Blaupunkt 39" TV - Openelec (Streaming)
    Client Büro: Asus AT3N7A-I , yaVDR0.6.1 (Streaming + Cutting) - 19" TFT
    Test Client1: Raspberry Pi + openelec

  • Super, vielen Dank.

    Wenn ich die drei Bücher durch habe, kann ich bestimmt mitreden. 8)


    Gruß

    Frank

    VDR User: 2127
    YaVDR-bionic , Case: HFX Classic, Mainboard: ASUS H97M-E, CPU: Intel Celeron CPU G1840T, GPU: GeForce GT 1030, DVB-S: Digital Devices Cine S2 V6
    YaVDR-bionic (24/7), Case: Akasa, Mainboard: NUC D34010WYB, DVB-S: SkyTV Ultimate VIII, Miscellaneous: epgd, pihole

    YaVDR-bionic (headless), System: HP 260 G2 DM, DVB-S: Sundtek SkyTV Ultimate IV

    YaVDR-focal (TEST), Mainboard: Gigabyte Aorus Pro B450, CPU: Ryzen 5 3400G, IPTV

  • Damit hab ich auch angefangen :-).

    Dann muss es gut sein :thumbup::thumbup::thumbup:

    VDR User: 2127
    YaVDR-bionic , Case: HFX Classic, Mainboard: ASUS H97M-E, CPU: Intel Celeron CPU G1840T, GPU: GeForce GT 1030, DVB-S: Digital Devices Cine S2 V6
    YaVDR-bionic (24/7), Case: Akasa, Mainboard: NUC D34010WYB, DVB-S: SkyTV Ultimate VIII, Miscellaneous: epgd, pihole

    YaVDR-bionic (headless), System: HP 260 G2 DM, DVB-S: Sundtek SkyTV Ultimate IV

    YaVDR-focal (TEST), Mainboard: Gigabyte Aorus Pro B450, CPU: Ryzen 5 3400G, IPTV

  • Fast jedes praktische Beispiel ist englisch, verabschiede dich von der Idee deutsch wäre einfacher.

  • Wie gesagt Englisch ist kein Problem, wenn der Großteil der Erklärungen aber in Deutsch ist, macht es das Ganze sicher einfacher für einen Anfänger.

    VDR User: 2127
    YaVDR-bionic , Case: HFX Classic, Mainboard: ASUS H97M-E, CPU: Intel Celeron CPU G1840T, GPU: GeForce GT 1030, DVB-S: Digital Devices Cine S2 V6
    YaVDR-bionic (24/7), Case: Akasa, Mainboard: NUC D34010WYB, DVB-S: SkyTV Ultimate VIII, Miscellaneous: epgd, pihole

    YaVDR-bionic (headless), System: HP 260 G2 DM, DVB-S: Sundtek SkyTV Ultimate IV

    YaVDR-focal (TEST), Mainboard: Gigabyte Aorus Pro B450, CPU: Ryzen 5 3400G, IPTV

  • Ich empfehle englisch. Manchmal sind in deutschen Büchern Worte übersetzt, die nicht übersetzt werden sollten und dann findet man die nirgends wieder.

  • Das währe der Klassiker für C

    Ich würde davon abraten, heutzutage reines C zu lernen.

    Für C++ wäre wohl das der Klassiker.

    Von dem rate ich ab, wenn du nicht schon ein guter Programmierer bist oder wirklich "hart im Nehmen".

    Der Autor sagt an einer Stelle, er möchte die Intelligenz des erfahrenen Programmierers nicht beleidigen (oder so ähnlich).

    You have been warned. ;)


    Eine Positiv-Empfehlung kann ich leider nicht geben.

  • Habe alle 3 hier verlinkten zu Hause. Sind alle drei gut, wobei ich auf alle Fälle mit Kernighan/ Ritchie anfangen würde. Hat sich für sehr leicht gelesen, obwohl englisch. Danach brauchst du wahrscheinlich auch kein anderes C-Buch mehr ...

  • Dem kann ich nur zustimmen. Reines "C" verliert zunehmend an Bedeutung. Wir haben im Studium C++ gelernt und dabei wurden uns viele C-Konstrukte als potentiell gefährlich vermittelt. Zum Beispiel die klassischen C-Strings, die die Ursache für eine ganze Menge Sicherheitslücken sind.


    Dabei bedeutet C++ nicht zwangsläufig das man durchgehend objektorientiert programmieren muss. Entscheidend ist, dass man an den Stellen, wo es hilfreich ist, die Möglichkeit hat auch mal eine Klasse einzuführen. Viele hilfreiche Klassen bringt die "C++ Standard Library" bereits mit.


    Jeder der schonmal ein bisschen mit Arduino rumgebastelt hat, hat die Basics eigentlich schon gelernt. Arduino ist C++ und man hat die vollen Möglichkeiten dieser Sprache zur Verfügung.


    Und nicht zuletzt: Da dich das "VDR-Thema" interessiert wäre C++ ohnehin die bessere Sprache. Der VDR ist eine Mischung aus C und C++ und je nach Plugin findest du entweder auch eine Mischung oder reinrassiges C++.

  • Ich hatte bis vor Kurzem auch noch nichts mit C/C++ zu tun, mit anderen Programmiersprachen allerdings schon.

    Um mich da einzuarbeiten und weil ich kein großer Fan von "trockenen" Büchern bin, habe ich mir dann diesen Beitrag bei Youtube komplett angesehen:

    https://www.google.de/url?sa=t…Vaw1SQNQBv9NcTpFfwkpnyls6

    Das hat mich ein ganzes Stück weiter gebracht. Alle anderen bisherigen Fragen konnte ich dann über konkrete Suche im Internet klären.

    VDR 2.5.2: ASUS Prime X470-PRO, Ryzen 7 2700, 64GB, 6TB HD, GT630, Fedora 33 Kernel 5.11 X86_64, Devicebonding 2 x 1 auf 2, TT6400, DVBSky S952 V3

    Git-Repo: gitlab.com/kamel5

  • Danke für die zahlreichen Antworten.

    Für den Einstieg werde ich es dann erst mal mit dem C Klassiker auf Deutsch versuchen.

    Schauen wir mal wie gut das klappt.

    VDR User: 2127
    YaVDR-bionic , Case: HFX Classic, Mainboard: ASUS H97M-E, CPU: Intel Celeron CPU G1840T, GPU: GeForce GT 1030, DVB-S: Digital Devices Cine S2 V6
    YaVDR-bionic (24/7), Case: Akasa, Mainboard: NUC D34010WYB, DVB-S: SkyTV Ultimate VIII, Miscellaneous: epgd, pihole

    YaVDR-bionic (headless), System: HP 260 G2 DM, DVB-S: Sundtek SkyTV Ultimate IV

    YaVDR-focal (TEST), Mainboard: Gigabyte Aorus Pro B450, CPU: Ryzen 5 3400G, IPTV