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-focal , Case: HFX Classic, Mainboard: ASUS H97M-E, CPU: Intel Celeron CPU G1840T, GPU: GeForce GT 1030, DVB-S: Digital Devices Cine S2 V6
    YaVDR-focal (24/7), Case: Akasa, Mainboard: NUC D34010WYB, DVB-S: Sundtek SkyTV Ultimate Dual, Miscellaneous: epgd, pihole

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

  • 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.

    Wohnzimmer: NUC10I3 - Logitech z-5500 - Panasonic 55" TV - Hauppauge Dual DVB-C Stick - Ubuntu 22.04 LTS - yavdr ansible
    Schlafzimmer: NUC10I3 - LG 42" TV - Hauppauge Dual DVB-C Stick - Ubuntu 22.04 LTS - yavdr ansible

    Streamingserver: -im Aufbau-
    diverse Test Clients: -Raspberry Pi + openelec, i3 mit Geforce1030

  • Super, vielen Dank.

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


    Gruß

    Frank

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

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

  • Damit hab ich auch angefangen :-).

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

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

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

  • 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-focal , Case: HFX Classic, Mainboard: ASUS H97M-E, CPU: Intel Celeron CPU G1840T, GPU: GeForce GT 1030, DVB-S: Digital Devices Cine S2 V6
    YaVDR-focal (24/7), Case: Akasa, Mainboard: NUC D34010WYB, DVB-S: Sundtek SkyTV Ultimate Dual, Miscellaneous: epgd, pihole

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

  • 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.6.6: ASUS Prime X470-PRO, Ryzen 7 5700X, 64GB, 6TB HD, GT1030, Fedora 39 Kernel 6.7 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-focal , Case: HFX Classic, Mainboard: ASUS H97M-E, CPU: Intel Celeron CPU G1840T, GPU: GeForce GT 1030, DVB-S: Digital Devices Cine S2 V6
    YaVDR-focal (24/7), Case: Akasa, Mainboard: NUC D34010WYB, DVB-S: Sundtek SkyTV Ultimate Dual, Miscellaneous: epgd, pihole

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

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!