Hallo, ich bin auf der Suchen nach einem SEHR GUTEM Buch, um mir im Selbststudium C beizubringen. Dabei soll es weniger darum gehen, sich mit Microcontrollern auseinanderzusetzen. Habt ihr Ideen/ Erfahrungen? Würde mich über Tipps freuen. MfG
:
Verschoben durch Moderator
https://books.google.de/books?id=3LklBAAAQBAJ&pg=PA3&dq=K%26R+ANSI+Edition+buch&hl=de&sa=X&ved=0ahUKEwjtkouNlPnoAhUS-aQKHbVXAQ0Q6AEIKDAA#v=onepage&q=K%26R%20ANSI%20Edition%20buch&f=false meinst du das? wenn ja, ist dann das Buch "Programmieren in C Voraussetzung"? (siehe Anhang, dort steht, dass das Lehrgrundlage ist
Till H. schrieb: > Das hier: > http://openbook.rheinwerk-verlag.de/c_von_a_bis_z/index.htm > > Ist sogar kostenlos. In dem Buch stecken grobe Fehler! Nein, ich spreche mich gegen diese Empfehlung aus. Das Buch ist total klasse, wenn man schon C kann und üben möchte Fehler in einem Buch zu finden. Für Anfänger beinhaltet es zu grobe Schnitzer.
Michael Gugelhupf schrieb: > K&R ANSI Edition Und täglich grüsst der selbe Sch....: * Beitrag "Wie aktuell ist K&R C?" * Beitrag "K&R C ausreichend für Mikrocontrollerprogrammierung?" Fazit: Es gibt bessere Programmierlehrbücher als die frühen Versuche aus dem vergangenen Jahrhundert, erst recht bezüglich Mikrocontroller.
"Programming in C" von Kochan. Ist zwar langatmiger als der K&R, dafür aber anfängerfreundlicher.
Ich würde " Programmieren von Anfang an" von Helmut Erlenkötter oder "Einstieg in C " von Thomas Theis empfehlen. Ich habe mir vor 2 Jahren beide gekauft und bin sehr zufrieden. Gruß
total perspective vortex schrieb: > Fazit: Es gibt bessere Programmierlehrbücher als die frühen Versuche aus > dem vergangenen Jahrhundert, erst recht bezüglich Mikrocontroller. das wäre meine nächste Frage: wie aktuell muss das Buch sein, um für heutige Standards ausreichend zu sein Zum Thema kosten: Ich habe über Shibboleth Onlinen-Zugang zu allen Büchern, die von Verlägen wie Springer, hanser etc herausgegeben werden. Also Kosten sollten keine Rolle spielen!
püpchen schrieb: > das wäre meine nächste Frage: wie aktuell muss das Buch sein, um für > heutige Standards ausreichend zu sein IMO sollte es den STD99 mit beinhalten, darf aber auch gern 20 Jahre alt sein, muss also keines aus dem letzten Monat sein ;)
Max schrieb: > " Programmieren von Anfang an" von Helmut Erlenkötter wieder etwas älter Max schrieb: > "Einstieg in C " von Thomas Theis empfehlen. von 2014. können das auch andere weiterempfehlen?=
also Alter ist für mich kein Auschlusskriterium! soll nicht so rüberkommen. Soll aber Stand der technik sein
püpchen schrieb: > Zum Thema kosten: Ich habe über Shibboleth Onlinen-Zugang zu allen > Büchern, die von Verlägen wie Springer, hanser etc herausgegeben werden. > Also Kosten sollten keine Rolle spielen! Dann wäre "meine" Entscheidung klar. In jedes Buch schnuppern, und das welches am leichtesten runter geht, wird auswendig gelernt. Ein Seitenblick auf andere Bücher ist auch kein Fehler, da ja nicht nur harte C Fakten beschrieben werden, sondern auch Sichtweisen, Strategien usw. Empfehlungen sind ein Spiegelbild des Empfehlenden. Das muss nicht mit dir übereinstimmen, das Bild. Tipp: Manchmal ist die Suche nach dem besten Buch nur ein Trick des eigenen Gehirns, um sich vor der Arbeit des Lernens zu drücken.
Arduino Fanboy D. schrieb: > Tipp: > Manchmal ist die Suche nach dem besten Buch nur ein Trick des eigenen > Gehirns, um sich vor der Arbeit des Lernens zu drücken. in dem Fall nicht, bin todernst. keine Ausreden mehr =) Arduino Fanboy D. schrieb: > In jedes Buch schnuppern, und das welches am leichtesten runter geht, > wird auswendig gelernt. > Ein Seitenblick auf andere Bücher ist auch kein Fehler, da ja nicht nur > harte C Fakten beschrieben werden, sondern auch Sichtweisen, Strategien > usw. gute Argumente. Aber zu Anfang bracuht man wenigstens eine Referenz, um auszuschließen, keinen inhaltlichen Schrott zu lesen
püpchen schrieb: > Aber zu Anfang bracuht man wenigstens eine Referenz, um > auszuschließen, keinen inhaltlichen Schrott zu lesen Nicht zur ersten Auflage greifen. Annahme: Je mehr Auflagen, desto besser korrigiert. Desto frischer/moderner der Inhalt püpchen schrieb: > keine Ausreden mehr =) > ---- > Aber zu Anfang bracuht man wenigstens eine Referenz Definiere "Ausrede"
püpchen schrieb: > gute Argumente. Aber zu Anfang bracuht man wenigstens eine Referenz, um > auszuschließen, keinen inhaltlichen Schrott zu lesen Referenz ist aber die Praxis, respektive der benutzte Compiler, insbesonders wenn Referenz K&R bedeudet. Dort stimmt teilweise nicht mal mehr der Syntax. >also Alter ist für mich kein Auschlusskriterium! soll nicht so >rüberkommen. Soll aber Stand der technik sein Naja Stand der Technik auf Programmieren bezogen bedeutet aber das die IDE nicht älter als 10 Jahre sein sollte. Auch hinsichtlich der Bibliotheken ist Alter ein KO-Kriterium. Grad mal bei Algorithmen die nicht auf HW-Spezialitäten setzen wie bubble sort kann man beim Alter mal ein Auge zufrücken. Bei den bit-bang Getue aus der Zeit vor mikrocontroller peripherals allerdings nicht. Und auch für den, der auf Stand der Technil pocht, ist es nicht falsch erstmal die threads vom letzten Jahr zu lesen statt was Neues aufzutun. So schnell sind die Bücherschreiber nicht. Beitrag "Buch für Einstieg in C Programmierung" Beitrag "AVR/C Buch für wirklich absolute Anfänger"
Arduino Fanboy D. schrieb: > Definiere "Ausrede" zu viele Bitches am Start... was erwartest du für eine Anwort? die kann nur infantil ausfallen
total perspective vortex schrieb: > Referenz ist aber die Praxis, respektive der benutzte Compiler, > insbesonders wenn Referenz K&R bedeudet. Dort stimmt teilweise nicht mal > mehr der Syntax. gut zu wissen total perspective vortex schrieb: > Und auch für den, der auf Stand der Technil pocht, ist es nicht falsch > erstmal die threads vom letzten Jahr zu lesen statt was Neues aufzutun. > So schnell sind die Bücherschreiber nicht. danke für den Hinweis
total perspective vortex schrieb: > Beitrag "Buch für Einstieg in C Programmierung" wobei sich Beitrag auf microcontroller zuspitzt
"Modern C" von Jens Gustedt ist ein sehr gutes Buch, aber auch recht anspruchsvoll; es mag nicht für jeden Anfänger das richtige sein. Aber für jene, die schon etwas Programmiererfahrung (möglicherweise in einer anderen Sprachen) oder C-Grundkenntnisse haben, würde ich es auf jeden Fall empfehlen. "Effective C" von Robert Seacord ist zwar noch nicht erschienen, und ich habe es selbst noch nicht gelesen, aber ich gehe davon aus, dass es ebenfalls ein sehr gutes Buch ist. Beide Bücher sind von Autoren geschrieben, die sich bestens mit C auskennen, und auch Mitglied von ISO SC22WG14, des Standardisierungsgremiums für C, sind.
total perspective vortex schrieb: > Michael Gugelhupf schrieb: >> K&R ANSI Edition > > Und täglich grüsst der selbe Sch....: > > * Beitrag "Wie aktuell ist K&R C?" > * Beitrag "K&R C ausreichend für Mikrocontrollerprogrammierung?" > > Fazit: Es gibt bessere Programmierlehrbücher als die frühen Versuche aus > dem vergangenen Jahrhundert, erst recht bezüglich Mikrocontroller. Das kommt aber auch darauf an, welchen Compiler man später verwendet. Wenn man sich mit Keil oder Raisonance herumschlagen muss, die kaum uach nur den ANSI-Standard von 1989 unterstützen, ist die 2. Auflage von K&R sicher ausreichend. Wenn man mit einem Compiler, der aktuellere Standard weitgehend unterstützt (z.B. GCC, clang, IAR, SDCC) arbeitet, empfiehlt es sich wohl, auch ein Buch zu lesen, dass neuere C-Standards (insbes. ISO C99 und C11/C17) behandelt.
Philipp Klaus K. schrieb: > "Effective C" von Robert Seacord ist zwar noch nicht erschienen, und ich > habe es selbst noch nicht gelesen, aber ich gehe davon aus, dass es > ebenfalls ein sehr gutes Buch ist. Mein Buch über C ist auch noch nicht erschienen -und wird es auch nie. Jedes nicht erschienene Buch über dieses Thema erspart der Menschheit Leid.
Ich würde eher ein Buch über gehobenes Management lesen. Gut in C Codieren kann inzwischen schon jeder zweite Inder. Warum willst du es auch können?
CPU Historiker schrieb: > Ich würde eher ein Buch über gehobenes Management lesen. > Gut in C Codieren kann inzwischen schon jeder zweite Inder. > Warum willst du es auch können? vllt will ich verhindern, dass die Inder uns überrennen wie es die reisfresser tun
püpchen schrieb: > CPU Historiker schrieb: >> Ich würde eher ein Buch über gehobenes Management lesen. >> Gut in C Codieren kann inzwischen schon jeder zweite Inder. >> Warum willst du es auch können? > > vllt will ich verhindern, dass die Inder uns überrennen wie es die > reisfresser tun Dann mußt Du Bagger und Raupen benutzen, um ein 2. Himalaya-Gebirge aufzutürmen. Oder mit solchem Dreck: https://www.cise.ufl.edu/~manuel/obfuscate/12bugs.of.c Leute zu Tode erschrecken.
püpchen schrieb: > Hallo, ich bin auf der Suchen nach einem SEHR GUTEM Buch... Ah ja, ein nur gutes Buch ist zu wenig. Gegenfrage: Kannst du denn überhaupt schon programmieren? Oder ist das Einarbeiten in C (ausgerechnet C !!) dein tatsächlicher Beginn einer Programmierer-Karriere? püpchen schrieb: > vllt will ich verhindern, dass die Inder uns überrennen wie es die > reisfresser tun Kulinarische Details sind hier eher außen vor. Hier geht es um's programmieren lernen. W.S.
W.S. schrieb: > Oder ist das > Einarbeiten in C (ausgerechnet C !!) dein tatsächlicher Beginn einer > Programmierer-Karriere? der Beginn. Ich komme aber in naher zukunft beruflich nicht drumherum mich mit C auszeinanderzusetzen. Deswegen C. Deswegen jetzt. Deswegen. beginnen.
Püppchen meinte:
> was würdest du denn vorschlagen? asm?
Java , Python
C++
Wenns C sein muß, fängst du mit dem Theis an
und nimmst anschließend "C im 21 Jarhundert"
von Ben Klemmers.
C++ Bücher zum Beispiel C++ von Kopf bis Fuß,
"in C++ denken" o.ä.
Bei C++ darauf achen das C++11 und C++17 mit drinne
sind, da geht die Entwicklung zur Zeit ganz schön schnell.
mfg
also ist C++ einfacher als C? Ich habe schon ein eigenes programm in C geschrieben, fand es jetzt nicht allzu unangenehm. C++ wäre für mich wirklich absolutes Neuland
püpchen schrieb: > also ist C++ einfacher als C? C++ ist eine Erweiterung auf C, also zusätzliche Funktionen und somit auch zusätzliche Komplexität. Sollte man sich trotzdem mal angucken, denn sehr viele jüngere Programmiersprachen sind daran angelehnt und daher ähnlich. > C++ wäre für mich wirklich absolutes Neuland Wenn du dieses Tutorial durchgearbeitet hast, dann nicht mehr: http://stefanfrings.de/qt_lernen/index.html Ich würde auf jeden Fall dringend dazu raten, diese Programmiersprache zuerst auf einem vollwertigen PC zu lernen, bevor du dich mit den Beschränkungen von Mikrocontrollern herumschlagen musst.
Stefan ⛄ F. schrieb: > Wenn du dieses Tutorial durchgearbeitet hast, dann nicht mehr: > http://stefanfrings.de/qt_lernen/index.html dein Tutorial? =)
Stefan ⛄ F. schrieb: > Ich würde auf jeden Fall dringend dazu raten, diese Programmiersprache > zuerst auf einem vollwertigen PC zu lernen, bevor du dich mit den > Beschränkungen von Mikrocontrollern herumschlagen musst. genau das war mein Plan
Max schrieb: > "Einstieg in C " von Thomas Theis empfehlen. also erst das. und dann Lolita schrieb: > "C im 21 Jarhundert" > von Ben Klemmers. wüürde das jedeer so machen? (Stille ist Zustimmung)
Stefan ⛄ F. schrieb: > Ja aber nur zufällig. ist mir so raus gerutscht :-) hast du soetwas auch für c? =)
püpchen schrieb: > würde das jedeer so machen? Ich würde direkt C++ lernen, dann hast du 98% von C schon mit dabei. Die 2% Differenz merkst du dann schon beim Programmieren. Wenn du erwachsen bist, empfehle ich das Buch: Der C++ Programmierer, von Ulrich Breymann
püpchen schrieb: > hast du soetwas auch für c? Ja, aber direkt auf Mikrocontroller gemünzt: http://stefanfrings.de/mikrocontroller_buch/index.html Vielleicht schaust du dir erstmal das C++ Tutorial an, und dann probierst du die Untermenge C auf einem Mikrocontroller. Wenn das klappt, kannst du als drittes C++ auf Mikrocontroller versuchen. Alles was man dazu wissen muss, steht irgendwo in der Artikelsammlung von mikrocontroller.net. Mir hat das jedenfalls gereicht, was dort steht.
Stefan ⛄ F. schrieb: > Wenn du erwachsen bist, empfehle ich das Buch: Der C++ Programmierer, > von Ulrich Breymann pfff man wird doch nie erwachsen Danke für deine Hilfe. Stefan ⛄ F. schrieb: > Ich würde direkt C++ lernen, dann hast du 98% von C schon mit dabei. Die > 2% Differenz merkst du dann schon beim Programmieren heißt das denn, dass wenn ich C++ beherrsche auch automatisch in C programmieren kann? andersherum dann aber nicht?
püpchen schrieb im Beitrag #6233326 > heißt das denn, dass wenn ich C++ beherrsche auch automatisch in C > programmieren kann? andersherum dann aber nicht? C++ ist keine „Erweiterung“ von C, sondern eine andere Sprache, die ein paar gemeinsame Wurzeln mit C hat. Willst du allgemein Programmieren lernen, lerne alles andere, nur kein C. Willst du in C programmieren lernen, dann lerne C. Dazu musst dir halt klar werden, was du willst, und warum. Oliver
püpchen schrieb: > heißt das denn, dass wenn ich C++ beherrsche auch automatisch in C > programmieren kann? Ja, denn C++ enthält C als Untermenge. Wenn du eine Kombi-Mikrowelle bedienen kannst, kannst du auch eine herkömmliche einfache Mikrowelle bedienen.
Oliver S. schrieb: > Dazu musst dir halt klar werden, was du willst, und warum. ersteinmal alle Türen offen halten! Stefan ⛄ F. schrieb: > püpchen schrieb: >> heißt das denn, dass wenn ich C++ beherrsche auch automatisch in C >> programmieren kann? > > Ja und andersherum? PS: was haltet ihr von der polarisierenden Aussage im Anhang?
Stefan ⛄ F. schrieb: > Ja, denn C++ enthält C als Untermenge. Oliver S. schrieb: > C++ ist keine „Erweiterung“ von C, sondern eine andere Sprache, die ein > paar gemeinsame Wurzeln mit C hat. gibt es ein Richtig oder Falsch?
Hallo, komme gerade aus dem Home Office mit dickem Hals. Mein AG (Automobilkonzern) hat per Rundmail an alle Programmierer die Anweisung ausgegeben: Ab sofort keine Neuentwicklungen mehr in C oder C ähnlichen Sprachen. Wartbarkeit und Sicherheit sind bei C und ähnlichen Sprachen nicht mehr gewährleistet. C wird als Hochrisiko Software eingestuft. 99% aller Sicherheitsrisiken werden durch die Struktur von C-Compilern verursacht. Vorhandenen Anwendungs Software wird im Laufe der nächsten 5 Jahre auf RUST umgestellt. Neue Fahrzeug Baureihen dürfen nicht mehr mit C basierender Software versehen werden. RUST = Europa Park, oder habe ich da was nicht mit bekommen? So kann man das Personal auch ausdünnen. Saure Grüße Knigges
Stefan ⛄ F. schrieb: > püpchen schrieb: >> heißt das denn, dass wenn ich C++ beherrsche auch automatisch in C >> programmieren kann? Nein, zumindest nicht effizient und für manche (kleinen) Mikrocontroller ist es notwendig effizientes C schreiben, weil es entweder kein C++ compiler gibt, oder C++ resp. die verwendung von C++ Libraries den Code unnötig aufbläht. Ohler fehleranfällig komplex macht. Wer nur Flugzeug gelernt hat, kann keinen PKW effizient einparken.
Oliver S. schrieb: > C++ ist keine „Erweiterung“ von C, sondern eine andere Sprache, > die ein paar gemeinsame Wurzeln mit C hat. Das sagt der Erfinder (Bjarne Stroustrup). Ich denke er wollte einfach nicht zugeben, dass er fast die ganze Sprache C einfach als Basis genommen hat, um dann seine OOP Sachen oben drauf zu "flanschen". Denn genau so fühlt sich C++ an - keinesfalls elegant. Wer vorher z.B. in Java entwickelt hat, wird beim lernen von C++ einige male würgen müssen. Wirklich, die Sprache ist meiner Meinung nach ziemlich hässlich. Voller Fallstricke und Altlasten. Dennoch hat sie ihre Existenzberechtigung, weil C++ Programme viel kleiner und dadurch auch effizienter sind, als Java. Ich programmiere beruflich in Java und in meinen Hobbyprojekten wechselweise in C und C++. Ich habe aber früher auch beruflich in C++ programmiert.
wenn ihr die Wahl hättet: ihr müsstet eine auswertungs software (welcher Art acuh immer) schreiben, was würdet ihr wählen? C oder C++? O)der kann man das nicht so verallgemeinern?
C++ ist viel zu komplex, um mit einem Hirn erfaßt zu werden. C viel zu simpel um sicher zu sein.... Ich hab ja mal mit BASIC mein Geld verdient...!? (1988-92)
püpchen schrieb: > eine auswertungs software (welcher Art auch immer) Dann würde ich verweigern, mich jetzt schon zu entscheiden. Es kommt da wirklich auf den Anwendungsfall an. Software, die schnell und billig entwickelt werden soll, würde ich jedenfalls nicht mit C++ schreiben sondern eher Java oder vielleicht Python. Bei Web basierten Anwendungen sollte man einen Blick auf Frameworks und Applikationsserver werfen. Da wurde in den vergangenen Jahren sehr viel mehr in Java veröffentlicht, als in C++. Aber auf Mikrocontrollern wäre Java und Python meine allerletzte Alternative, wenn gar nichts anderes geht.
Teo D. schrieb: > Ich hab ja mal mit BASIC mein Geld verdient...!? (1988-92) Lange war's her, da hat man noch jede Funktion persönlich mit Namen gekannt.
Stefan ⛄ F. schrieb: > Oliver S. schrieb: >> C++ ist keine „Erweiterung“ von C, sondern eine >> andere Sprache, die ein paar gemeinsame Wurzeln >> mit C hat. > > Das sagt der Erfinder (Bjarne Stroustrup). Ich denke > er wollte einfach nicht zugeben, dass er fast die > ganze Sprache C einfach als Basis genommen hat, um > dann seine OOP Sachen oben drauf zu "flanschen". Die Frage ist: WARUM hat der C als Basis genommen? Weil C das Maximum an Eleganz ist? Weil er es anders nicht hinbekommen hätte? Oder vielleicht, weil er die sich andeutende Erfolgswelle von C für sich ausnutzen wollte und deswegen auf einer Sprache aufbaut, die von vielen Programmierern gern verwendet wurde?
nochmal um sicherzugehen: C++ komplexer als C, also wahrscheinlich mehr Lernaufwand. Dafür C inkludiert, heißt später ist man flexibel. Andersherum: weniger zeitintensiv, dafür auf C beschränkt. Und dann kommt noch das Thema mit OO auf... siehe Anhang oben
Egon D. schrieb: > WARUM hat der C als Basis genommen? Ich denke, er hat C als Basis genommen, weil C damals eine weit verbreitete Programmiersprache war die ihren Zweck gut erfüllt hat und der Quelltext von mindestens einem C Compiler quelloffen war. Es gab auch schon das Konzept, die Sprache durch Makros zu erweitern. Er hat diese Idee weiter entwickelt und seine Sprache so gestaltet, dass man sie mit einem Code-generator umsetzen konnte. Die ersten C++ Compiler hatten als Output C Quelltext erzeugt, der dann von einem bereits bestehenden C Compiler in Assembler übersetzt wurde, was dann wiederum in Maschinencode übersetzt wurde. Das ist aber schon lange her.
Stefan ⛄ F. schrieb: > Teo D. schrieb: >> Ich hab ja mal mit BASIC mein Geld verdient...!? (1988-92) > > Lange war's her, da hat man noch jede Funktion persönlich mit Namen > gekannt. Ähhh... Das war sündhaft teure Büro-Soft, von Serienbrief, Lagerverwaltung, Kunden-Datenbank, über Auftragsbearbeitung bis hin zur zugekauften FiBu.... OK, dass BASIC wußte was ne Relationale Datenbank is... ;D Ach ja, Multi-User fahrig (bis max 10 User) wars auch noch.
Stefan ⛄ F. schrieb: > Er hat diese Idee weiter entwickelt und seine Sprache so gestaltet, dass > man sie mit einem Code-generator umsetzen konnte. Die ersten C++ > Compiler hatten als Output C Quelltext erzeugt, der dann von einem > bereits bestehenden C Compiler in Assembler übersetzt wurde, was dann > wiederum in Maschinencode übersetzt wurde. Was ungefähr deinem Kenntnisstand der Sprache entspricht. Das war im letzten Jahrtausend. Und seitdem hat sich C++ gründlich weiterentwickelt. Sehr viel weiter, und in sehr viele verschiedene Richtungen gleichzeitig. Das kann man der Sprache durchaus vorwerfen, ändert aber nichts daran, daß C++ und C heute soweit auseinander sind wie Basic und C. Es sind einfach völlig verschiedene Sprachen. Ein Grundsatz im C++-Training lautet daher: „stop teaching C“. Wie gesagt, wenn man C lernen will, dann soll man C lernen. Wenn nicht, dann nicht. Oliver
Oliver S. schrieb: > seitdem hat sich C++ gründlich weiterentwickelt. Sehr viel weiter, Zweifellos. C++ ist inzwischen viel umfangreicher geworden. Dennoch ist es nach wie vor abwärtskompatibel, und deswegen enthält es immer noch (fast) den gesamtem Umfang von C. Wenn C/C++ nicht beide so sehr Abwärtskompatibel wären, dann wären sie wohl in vielen Bereichen von jüngeren Programmiersprachen verdrängt worden. Wie gesagt, lerne erstmal C++ auf einem PC. Wenn du danach noch Interesse an C hast, dann wirst du durch ein entsprechendes C Tutorial ziemlich flott durch kommen. Da wird dich nichts mehr überraschen - außer vielleicht, was alles nicht geht :-)
Stefan ⛄ F. schrieb: > Ja, denn C++ enthält C als Untermenge. Nein:
1 | #include <stdlib.h> |
2 | |
3 | float* foo(int n) |
4 | { |
5 | return malloc(n); |
6 | } |
Gültiges C, ungültiges C++. Dass gängige C++-Compiler auch neuere C-Features (VLA, Flexible Array Member) schlucken, macht daraus keine C++-Features. Von Untermenge ist also nicht zu reden, trotz der sehr großen Schnittmenge.
Egon D. schrieb: > Die Frage ist: WARUM hat der C als Basis genommen? Näher an ASS ging halt nich.....!!!
Hi püpchen püpchen schrieb: > Ich komme aber in naher zukunft beruflich nicht drumherum > mich mit C auszeinanderzusetzen. Deswegen C. Deswegen jetzt. Deswegen. > beginnen. Ich selbst bringe mir gerade im Selbststudium C bei und fahre mit folgender Strategie sehr gut: Ich habe über Udemy einen C Kurs für Einsteiger für 10€ gekauft (ja ja, man kann C sicherlich besser durch ein Buch lernen oder Videos gratis auf Youtube anschauen), habe parallel dazu eine interessante Playlist auf Youtube gefunden und verwende in Ergänzung dazu das Buch "C Primer Plus" von Prata, was natürlich ein dicker Schinken ist. Ich lese nicht die ganzen 500 Seiten, sondern überfliege in den jeweiligen Kapiteln, ob dort etwas wichtiges bei ist, was in den Videos nicht behandelt wurde. Die ganzen einführenden Kapitel bezüglich if-else, while, for-loop etc. beherrscht du nach einem einzigen Nachmittag oder spätestens nach einem Wochenende, sofern du nicht auf den Kopf gefallen bist. Dann kommen die Themen Arrays und Funktionen (damit verbunden call by reference, call by value) dran: - Für Arrays wirst du ebenfalls einen Nachmittag bis einen Tag brauchen - Für Funktionen wirst du ebenfalls einen Nachmittag bis einen Tag brauchen Richtig interessant (und einigermaßen komplex) wird es mE. bei Zeigern (Pointern) und speziellen Datentypen wie structs, typedef sowie dynamischer Speicherbesetzung. Hast du letztendlich diese Themen verinnerlicht, hast du ein sehr gutes Fundament bezüglich C, auf das du aufbauen kannst. An dieser Stelle solltest du so viele (und möglichst umfangreichere) Programme schreiben, denn meine Erfahrung ist, dass der Syntax einer Sprache nicht das Problem ist, sondern dass man das Problem in Zeilen Code zu formulieren und zu lösen. Das bedarf logischem Denken, Fehlersuche, Blatt Papier und Bleistift, Blockdiagramme etc. und die Sprache selbst ist zweitrangig. Hast du Routine im Programmieren, kannst du über weitere Schritte nachdenken: Ob du in Richtung uC gehen willst oder vielleicht in Datenstrukturen/Algorithmen. Also, meine Sicht der Dinge: Wenn du arbeitsbedingt sowieso mit C in Berührung kommen wirst, dann lerne im ersten Anlauf C. Alles andere kommt später. Viel Erfolg,
Alex schrieb: > - Für Arrays wirst du ebenfalls einen Nachmittag bis einen Tag brauchen Hihihi.... ((von was träumst du Nachts?) && (ab 80% setz ich 'n €!)){ Wann zerfallen die Dinger eigentlich? (++n)} ... C enthält ALLES was man sowie so braucht... Alex schrieb: > und die > Sprache selbst ist zweitrangig. Aber nur wenn wir alle kastrierte Jahrmartsschühler wären ( was is'n das eigentlich?!)!
Oliver S. schrieb: > Ein Grundsatz im C++-Training lautet daher: „stop teaching C“. Die Aussage habe ich auch schon bei C++-Youtubevorträgen gehört. Soviel zum Thema "Wer C++ lernt, lernt C automatisch mit". Das ist mitnichten der Fall.
Alex schrieb: > Teo D. schrieb: >> Jahrmartsschühler wären ( was is'n das >> eigentlich?!)! > > Gute Frage... Betschwestern!
:
Bearbeitet durch User
Hi Alex, danke für deinen Lehrplan. Wobei, wenn ich ehrlich bin, arbeite ich ungern mit Youtube-videos und Online Coaching. bin eher der Typ, der gerne Bücher still und zurückgezogen liest
Lolita schrieb: > und nimmst anschließend "C im 21 Jarhundert" > von Ben Klemmers. Lies aber vorher die Rezesionen auf A****. Da kommen zwar grundsätzlich alle Bücher über Programmiersprachen schlecht weg, weil immer irgendjemand damit über-, und ein anderer unterfordert ist, aber das Buch polarisiert dann doch sehr deutlich. Vielleicht ist hier was dabei: https://stackoverflow.com/questions/562303/the-definitive-c-book-guide-and-list Und leider, gute Bücher zu Programmiersrpachen sind selten. Gute Übersetzungen englischer Fachbücher ins Deutsche sind selten. Die Schnittmenge ist fast nicht existent. Oliver
:
Bearbeitet durch User
Hallo wobei es die letztendlich auch nicht geben kann. Egal wie gut das Buch ist, letztendlich vermittelt es "nur" eine (hoffentlich verständliche und detaillierte) Anleitung wie Befehle und Konzepte funktionieren, aber ähnlich wie man mit den beherrschen des ABC, guten Grammatikkenntnissen, der Zeichensetzung, perfekter Rechtschreibung und guter Ausdrucksfähigkeit nicht automatisch auch ein Schriftsteller ist (bzw. das alles als komplettes Paket gar nicht notwendig ist wenn man besonders begabt ist oder einfach gut erzählen kann), so lernt man aus Büchern usw. letztendlich auch nicht wie man letztendlich in der Praxis wirklich programmiert, abgesehen von den ewig ähnlichen "Programmen" - gerne irgendeine Personaldatenbank-die mit der echten Praxis als nutzbares Werkzeug was echten Erwartungen und Standards standhalten soll so gar nicht gemein hat. Oder um etwas näher bei den zu bleiben was uns begeisterte Bastler und reinen Hobbyisten betrifft: Die berühmte "Hallo Welt" Blinkschaltung mit den µController, selbst die Nutzung von fertigen Bibliotheken ist weit weg von was ich als echtes Programmieren bezeichnen würde, sondern "nur" die Anwendung und hoffentlich das verstehen von Konzepten und einzelnen "Buchstaben" um beim ABC Beispiel zu bleiben. Eine gute und Verständliche Erklärung wie Schleifen funktionieren, was die Idee hinter OOP ist und wie diese funktioniert usw. ist schon eine heftige Herausforderung die nur wenige Bücher (Autoren) wirklich leisten, aber selbst wenn das geleistet wird - Programmieren kann man trotrzdem noch lange nicht - aber genau das möchte man ja eigentlich lernen. Oder um es auch ein Niveau zu bringen was jeder versteht aber auch leicht ins lächerliche laufen könnte: Das Buch "Wie werde ich ein guter Liebhaber" - "Wie finde ich Freunde" mag zwar so manches theoretisch erklären können - nur die Versprechung kann einfach nicht erfüllt werden wenn anderes was wesentlich komplexer und teilweise unabänderlich ist, einfach nicht gegeben ist. Und dieser komplexe und teilweise unabänderliche Hintergrund ist letztendlich auch bei der Programmierung gegeben - manche können es "einfach" so, andere (gerade die nach solchen Bücher schielen) reißen sich mehrere Beine aus sind extrem fleißig, stecken viel Energie in ihr Ziel aber beherrschen es letztendlich dann doch niemals so wie sie es sich wünschen. Praktiker
>> "Programming in C" von Kochan. > > scheint auch uralt zu sein. Spielt das eine Rolle? Das Buch ist von 2004 und somit 5 Jahre neuer als C99 ;)
eventuell hilfreich: CppCon 2015: Kate Gregory “Stop Teaching C" ****************************************** https://www.youtube.com/watch?v=YnWhqhNdYyk
Falls deine spätere Anwendung Microcontroller sind, dann lies mal das durch damit du weißt auf was du beim Einsatz von C++ achten solltest. https://www.mikrocontroller.net/articles/C_vs_C%2B%2B
C als erste Programmiersprache Vom Einsteiger zum Fortgeschrittenen Authors Manfred DausmannUlrich BröcklDominik SchoopJoachim Goll hat jemand mal davon etwas gehört. ist schon in mehreren Auflagen erschienen
püpchen schrieb: > C als erste Programmiersprache > Manfred Dausmann, Ulrich Bröckl, Dominik Schoop, Joachim Goll Kann ich empfehlen. Sehr solide und ausführlich. Auch didaktisch gut.
Alexander S. schrieb: > püpchen schrieb: >> C als erste Programmiersprache >> Manfred Dausmann, Ulrich Bröckl, Dominik Schoop, Joachim Goll > > Kann ich empfehlen. Sehr solide und ausführlich. Auch didaktisch gut. danke für die Rückmeldung. ich fange damit an
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.