Programmieren lernen in C++ bzw. C
Programmieren lernen in C++ bzw. C
Hallo,
ich möchte gerne Programmieren lernen in C++ bzw. C.
Mehrere Bücher habe ich schon. Erste Erfahrungen in Pascal von früher sind auch da.
Aber den Einstieg finde ich nicht recht. Ein "Hello World" hab ich auch schon geschafft.
Mit welcher Strategie gehe ich dieses Thema am besten an???
ich möchte gerne Programmieren lernen in C++ bzw. C.
Mehrere Bücher habe ich schon. Erste Erfahrungen in Pascal von früher sind auch da.
Aber den Einstieg finde ich nicht recht. Ein "Hello World" hab ich auch schon geschafft.
Mit welcher Strategie gehe ich dieses Thema am besten an???
Re: Programmieren lernen in C++ bzw. C
K&R "The C Programming Language" durcharbeiten!
Das ist das beste und einzige Buch das zu brauchst (für C).
Ich denke man sollte C und C++ klar unterscheiden. Letztendlich ist vieles gleich, aber man programmiert sehr unterschiedlich darin.
Wenn du schon etwas Pascal kannst, dann würde ich dir empfehlen mit C zu starten (dann musst du nicht auch noch gleichzeitig OO lernen).
Knackpunkte sind vor allem Pointer, Strings und malloc/free, diese Themen solltest du sorgfältig in den Büchern lesen und dann viel damit rumspielen.
Wichtig ist IMO das Verständnis was hinter den Sprachkonstrukten steht (deshalb ein _gutes_ Buch lesen ... also K&R )
Schreibe kleine Programme und mach dich so mit der Sprache vertraut. Implementiere z.B. ein paar der grundlegenden Unix-Tools (tr, seq, basename).
Sinnvoll ist es sicher auch, gute kleine C-Programme zu studieren. Dazu kann ich die Projekte auf http://suckless.org empfehlen - klein, guter Code, ANSI C.
Wenn du C beherrschst, kannst du mit C++ weitermachen (falls du dann noch willst).
Das ist das beste und einzige Buch das zu brauchst (für C).
Ich denke man sollte C und C++ klar unterscheiden. Letztendlich ist vieles gleich, aber man programmiert sehr unterschiedlich darin.
Wenn du schon etwas Pascal kannst, dann würde ich dir empfehlen mit C zu starten (dann musst du nicht auch noch gleichzeitig OO lernen).
Knackpunkte sind vor allem Pointer, Strings und malloc/free, diese Themen solltest du sorgfältig in den Büchern lesen und dann viel damit rumspielen.
Wichtig ist IMO das Verständnis was hinter den Sprachkonstrukten steht (deshalb ein _gutes_ Buch lesen ... also K&R )
Schreibe kleine Programme und mach dich so mit der Sprache vertraut. Implementiere z.B. ein paar der grundlegenden Unix-Tools (tr, seq, basename).
Sinnvoll ist es sicher auch, gute kleine C-Programme zu studieren. Dazu kann ich die Projekte auf http://suckless.org empfehlen - klein, guter Code, ANSI C.
Wenn du C beherrschst, kannst du mit C++ weitermachen (falls du dann noch willst).
Use ed once in a while!
- Six
- Beiträge: 8071
- Registriert: 21.12.2001 13:39:28
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Siegburg
Re: Programmieren lernen in C++ bzw. C
Ich kann mich im wesentlichen nur Meillo anschließen. Die Unterschiede zwischen C und C++ sind größer als man im allgemeinen annimmt. C ist z. B. wesentlich restriktiver als C++ und hat natürlich auch kein Klassenmodell.
In Anbetracht deiner Vorerfahrung würde ich, bevor du zu Kernigham und Ritchie greifst, empfehlen, erst mal grundsätzliche Programmierprinzipien zu erlernen. Ich kenne jetzt leider kein C-Buch, das sich hier besonders hervortun würde, aber ich schätze es gibt tonnenweise Tutorials im Netz. Empfehlenswert sind auch die Folien vieler Programmiervorlesungen für Erstsemester, wobei dort gerne Java verwendet wird. Auch ein bißchen Technische Informatik kann nicht schaden, um die Idee hinter Pointern und malloc/free besser zu verstehen. Wenn du Pointer kapiert hast, dann geben sich Strings (und alle anderen Arrays) von ganz alleine.
Danach sollte eigentlich jedes C-Lehrbuch geeignet sein, insb. natürlich auch K&R Du mußt nur am Ball bleiben und alle paar Tage konsequent ein Kapitel durchnehmen, inkl. Übungen!
In Anbetracht deiner Vorerfahrung würde ich, bevor du zu Kernigham und Ritchie greifst, empfehlen, erst mal grundsätzliche Programmierprinzipien zu erlernen. Ich kenne jetzt leider kein C-Buch, das sich hier besonders hervortun würde, aber ich schätze es gibt tonnenweise Tutorials im Netz. Empfehlenswert sind auch die Folien vieler Programmiervorlesungen für Erstsemester, wobei dort gerne Java verwendet wird. Auch ein bißchen Technische Informatik kann nicht schaden, um die Idee hinter Pointern und malloc/free besser zu verstehen. Wenn du Pointer kapiert hast, dann geben sich Strings (und alle anderen Arrays) von ganz alleine.
Danach sollte eigentlich jedes C-Lehrbuch geeignet sein, insb. natürlich auch K&R Du mußt nur am Ball bleiben und alle paar Tage konsequent ein Kapitel durchnehmen, inkl. Übungen!
Be seeing you!
Re: Programmieren lernen in C++ bzw. C
Hallo
vielen Dank für die ersten Antworten!
Erste Erfahrungen mit Programmieren hab ich ja noch aus der Pascal Zeit. Die Frage C oder gleich C++ ist natürlich interessant. Soweit ich weiss ist C komplett in C++ enthalten, also kann man jedes C Programm mit C++ übersetzten. Vieleicht macht es aber auch Sinn direkt mit C++ zu beginnen und C zu überspringen. Das kann ich noch nicht beurteilen.
(Literaturmässig hab ich 2 x C und 1 x C++ zuhause)
Mein Problem ist unter anderem (ich hab schonmal versucht mit C anzufangen), ich nehm mir ein Kapitel vor. Dann lese ich es durch. Versuche zu verstehen und kann das Codesegment umsetzten. Aber mangels lebenden Objektes bleibt es dann bei dem Beispiel aus dem Buch. Dann hab cih mir mal vorgenommen eine kleine Datenbank zu schreiben. Hier kommt nen Bissl UserInterface, Datei operationen und auch Operationen mit Feldern und Vergleichfunktionen vor. Aber da fehlt dann das Wissen, es ist so komplex das ich gar nicht weiss wo ich anfangen soll.
Bei Pascal war das irgendwie leichter...
vielen Dank für die ersten Antworten!
Erste Erfahrungen mit Programmieren hab ich ja noch aus der Pascal Zeit. Die Frage C oder gleich C++ ist natürlich interessant. Soweit ich weiss ist C komplett in C++ enthalten, also kann man jedes C Programm mit C++ übersetzten. Vieleicht macht es aber auch Sinn direkt mit C++ zu beginnen und C zu überspringen. Das kann ich noch nicht beurteilen.
(Literaturmässig hab ich 2 x C und 1 x C++ zuhause)
Mein Problem ist unter anderem (ich hab schonmal versucht mit C anzufangen), ich nehm mir ein Kapitel vor. Dann lese ich es durch. Versuche zu verstehen und kann das Codesegment umsetzten. Aber mangels lebenden Objektes bleibt es dann bei dem Beispiel aus dem Buch. Dann hab cih mir mal vorgenommen eine kleine Datenbank zu schreiben. Hier kommt nen Bissl UserInterface, Datei operationen und auch Operationen mit Feldern und Vergleichfunktionen vor. Aber da fehlt dann das Wissen, es ist so komplex das ich gar nicht weiss wo ich anfangen soll.
Bei Pascal war das irgendwie leichter...
Re: Programmieren lernen in C++ bzw. C
Dann nimm dir doch ein weniger komplexes Thema vor.
Re: Programmieren lernen in C++ bzw. C
Du musst natürlich erst mal ein paar theoretische Grundlagen haben, bevor du praktisch anfängst.
Arbeite also ein Kapitel durch, mach die Übung und beginne dann das Beispiel kreativ zu erweitern. So hast du eine funktionierende Basis und kannst doch eigenen Code schreiben.
Wenn du dann ein paar Kapitel hast, versuche die einzelnen Themengebiete/Übungsprogramme zu verbinden. Und fange an, eigene Programme in der Art der Übungsprogramme zu erstellen.
Es ist anfangs oft doof so sinnlose Programme zu schreiben, aber der Sinn liegt darin, sie zu schreiben, nicht in ihrem Sinn. ( )
Tipp:
Bei den ersten Programmen am besten Strings und malloc/free meiden.
Versuch mal `seq', das ist ein guter Beginn.
Ansonsten sind (einfache) Mathematische Programme immer gut. Z.B. Sieb des Eratosthenes ( http://de.wikipedia.org/wiki/Sieb_des_Eratosthenes ).
btw: Du willst C nicht überspringen, sondern lernen. Verstehe erst die Untermenge, bevor du die Obermenge (C++) und dazu noch OO anpackst. Ich kann das beurteilen.
Arbeite also ein Kapitel durch, mach die Übung und beginne dann das Beispiel kreativ zu erweitern. So hast du eine funktionierende Basis und kannst doch eigenen Code schreiben.
Wenn du dann ein paar Kapitel hast, versuche die einzelnen Themengebiete/Übungsprogramme zu verbinden. Und fange an, eigene Programme in der Art der Übungsprogramme zu erstellen.
Es ist anfangs oft doof so sinnlose Programme zu schreiben, aber der Sinn liegt darin, sie zu schreiben, nicht in ihrem Sinn. ( )
Tipp:
Bei den ersten Programmen am besten Strings und malloc/free meiden.
Versuch mal `seq', das ist ein guter Beginn.
Ansonsten sind (einfache) Mathematische Programme immer gut. Z.B. Sieb des Eratosthenes ( http://de.wikipedia.org/wiki/Sieb_des_Eratosthenes ).
btw: Du willst C nicht überspringen, sondern lernen. Verstehe erst die Untermenge, bevor du die Obermenge (C++) und dazu noch OO anpackst. Ich kann das beurteilen.
Use ed once in a while!
Re: Programmieren lernen in C++ bzw. C
Hi, also ich würde nicht mit C anfangen. Das Problem ist C++ enthält zwar C aber nur um kompatibel mit den C Bibiliotheken zu sein. Das Programmieren in den beiden Sprachen unterscheidet sich aber. Zum Beispiel:
Ausgabe von Text:
in C würdest du es so machen
printf("Hallo Welt");
in C++ so
cout << "Hallo Welt" << endl
Außerdem beinhaltet C++ noch die STL die zum standard Sprachumpfang gehört, sie beinhaltet zB vectoren, listen, strings usw. Die müsstest du unter C erst selber programmieren oder auf fremde Bibliotheken zugrückgreifen.
Das Problem ist wenn du erst mit C anfängst und nachher mit C++ weiter machen möchtest, verleitet es eher dazu sich einen Programmierstil anzugewöhnen wie "C + Klassen" und kein sauberes C++
Was ich sehr gut finde für den Einstieg ist dieses EBook
http://www0.fh-trier.de/~hovenn/Vorlesu ... ferenz.pdf
Und wenn du das durch hast und ein paar Erfahrungen gesammelt hast ist das nicht schlecht
http://www.amazon.de/Effective-C%2B%2B- ... 908&sr=8-7
Es hilft einige bekannte Fehler zu vermeiden (Das gibt es auch auf Deutsch)
Und dieses hier ist eigentlich Pflicht für jeden C++ Programmierer
http://www.amazon.de/C%2B%2B-Programmin ... 071&sr=1-1
Das ist vom Erfinder von C++ geschrieben wurden. Also ich finde es richtig gut
Gruß, Daniel_S
Ausgabe von Text:
in C würdest du es so machen
printf("Hallo Welt");
in C++ so
cout << "Hallo Welt" << endl
Außerdem beinhaltet C++ noch die STL die zum standard Sprachumpfang gehört, sie beinhaltet zB vectoren, listen, strings usw. Die müsstest du unter C erst selber programmieren oder auf fremde Bibliotheken zugrückgreifen.
Das Problem ist wenn du erst mit C anfängst und nachher mit C++ weiter machen möchtest, verleitet es eher dazu sich einen Programmierstil anzugewöhnen wie "C + Klassen" und kein sauberes C++
Was ich sehr gut finde für den Einstieg ist dieses EBook
http://www0.fh-trier.de/~hovenn/Vorlesu ... ferenz.pdf
Und wenn du das durch hast und ein paar Erfahrungen gesammelt hast ist das nicht schlecht
http://www.amazon.de/Effective-C%2B%2B- ... 908&sr=8-7
Es hilft einige bekannte Fehler zu vermeiden (Das gibt es auch auf Deutsch)
Und dieses hier ist eigentlich Pflicht für jeden C++ Programmierer
http://www.amazon.de/C%2B%2B-Programmin ... 071&sr=1-1
Das ist vom Erfinder von C++ geschrieben wurden. Also ich finde es richtig gut
Gruß, Daniel_S
Re: Programmieren lernen in C++ bzw. C
Hi,
Im weitesten Sinne gibt es in Assembler (abhängig von der Arch) auch Pointer
Ich finde sowieso, man sollte das ganze auf kleinen 8Bittern anfangen, um überhaupt erst mal zu verstehen wie eine CPU funktioniert (die x86 Sind da etwas overdrive). Ohne diese Kenntnis ist das alles irgend wie Unvollständig, meine Meinung.
Ha, so geht es mir auch immer. Jedes mal etwas zu grosses vor genommenfrindly hat geschrieben:Versuche zu verstehen und kann das Codesegment umsetzten. Aber mangels lebenden Objektes bleibt es dann bei dem Beispiel aus dem Buch. Dann hab cih mir mal vorgenommen eine kleine Datenbank zu schreiben. Hier kommt nen Bissl UserInterface, Datei operationen und auch Operationen mit Feldern und Vergleichfunktionen vor. Aber da fehlt dann das Wissen, es ist so komplex das ich gar nicht weiss wo ich anfangen soll.
Im weitesten Sinne gibt es in Assembler (abhängig von der Arch) auch Pointer
Ich finde sowieso, man sollte das ganze auf kleinen 8Bittern anfangen, um überhaupt erst mal zu verstehen wie eine CPU funktioniert (die x86 Sind da etwas overdrive). Ohne diese Kenntnis ist das alles irgend wie Unvollständig, meine Meinung.
Ist das zwangsläufig nur auf Englisch?Meillo hat geschrieben:K&R "The C Programming Language" durcharbeiten!
Gruß cirrussc
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl
Re: Programmieren lernen in C++ bzw. C
Nein, ich hab's (leider) auf Deutsch. Damals für ein paar Euro, AFAIR bei http://booklooker.de , erworben.cirrussc hat geschrieben:Ist das zwangsläufig nur auf Englisch?Meillo hat geschrieben:K&R "The C Programming Language" durcharbeiten!
("leider", weil die verwendeten Begriffe z.T. recht gewöhnungsbedürftig sind. Sonst ist aber egal welche Sprache - der Code ist sowieso Englisch.)
Use ed once in a while!
Re: Programmieren lernen in C++ bzw. C
Was ist denn mit den Büchern von http://www.galileocomputing.de/katalog/ ... 3hGN9ZGk7Q?
Habe selber mal angefangen das C++-Buch durch zuarbeiten. Habe aber vor ein paar Wochen (mangels Zeit) auf ca. Seite 500 ersteinmal Pause gemacht.
...und nun bestimmt auch schon wieder mehr als die Hälfte vergessen ;-(
Habe selber mal angefangen das C++-Buch durch zuarbeiten. Habe aber vor ein paar Wochen (mangels Zeit) auf ca. Seite 500 ersteinmal Pause gemacht.
...und nun bestimmt auch schon wieder mehr als die Hälfte vergessen ;-(
Oh, yeah!
- nailuj
- Beiträge: 44
- Registriert: 01.01.2009 13:36:00
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: Düsseldorf
Re: Programmieren lernen in C++ bzw. C
Das Thema ist zwar schon etwas alt, aber wenn jemand ein gutes Buch zur Programmierung in C sucht kann ich "C von A bis Z" von GalileoComputing nur empfehlen. Auf der CD sind auch openBooks mit interessanten Themen wie z.B. GTK+-Programmierung usw. dabei.
Das Buch ist zwar sehr umfangreich aber trotzdem gut zu lesen, auch wenn es für komplette Anfänger vielleicht etwas schlecht geeignet ist weil man in den ersten Kapiteln viele (für den Anfänger überflüssige) Details lernt. Ansonsten aber echt toll, auch mit Kapiteln wie man Buffer Overflows vermeidet. Deckt also quasi alles ab und baut trotzdem auf Gelerntem auf.
Das Buch ist zwar sehr umfangreich aber trotzdem gut zu lesen, auch wenn es für komplette Anfänger vielleicht etwas schlecht geeignet ist weil man in den ersten Kapiteln viele (für den Anfänger überflüssige) Details lernt. Ansonsten aber echt toll, auch mit Kapiteln wie man Buffer Overflows vermeidet. Deckt also quasi alles ab und baut trotzdem auf Gelerntem auf.
Re: Programmieren lernen in C++ bzw. C
Habe nun nochmals angefangen das Buch durch zuarbeiten und bin mittlerweile schon auf Seite 700. Aber bin mal gespannt, wie es nach dem Durcharbeiten des Buches klappen wird und welches C++-Buch ich mir danach vornehme.Duff hat geschrieben:Was ist denn mit den Büchern von http://www.galileocomputing.de/katalog/ ... 3hGN9ZGk7Q?
Habe selber mal angefangen das C++-Buch durch zuarbeiten. Habe aber vor ein paar Wochen (mangels Zeit) auf ca. Seite 500 ersteinmal Pause gemacht.
...und nun bestimmt auch schon wieder mehr als die Hälfte vergessen ;-(
Oh, yeah!