Meines wissens gibt es kein Buch das alles abdeckt und fuer den Komplettanfaenger geeignet ist.
Wie werde ich ein guter Programmierer?
von chrizel
Ich werd hier mal kurz erzaehlen wie ich es einem Anfaenger empfehlen wuerde wie er einsteigt. Das ist nur meine Vorgehensweise und andere moegen da anderer Meinung sein.
Programmieren lernen ist ein laengerer Prozess und man sollte schon viel Geduld mitbringen. Und fuer den Einstieg sollte man auch die richtigen Buecher haben. Wichtig ist, dass man sich auch nicht die falschen Buecher kauft sonst verliert man viel unnoetiges Geld! Das ist mir leider frueher schon sehr oft passiert... Also ueberlegt vorher wenn ihr Buecher kauft, ob sie auch wirklich Sinn machen!
Aber meine Meinung ist jetzt, dass jemand der unter MacOS X programmieren will auch Unix-Grundlagen haben sollte. D.h. beim erlernen von C sollte man sich nicht auf XCode & Co. stuetzen weil diese viele Dinge im Hintergrund automatisch machen.
Der erste Schritt wuerde darin liegen sich erst mal mit der Konsole/Shell etwas umzugucken. Da gibts auch Lesestoff kostenlos im Netz:
http://www.galileocomputing.de/openbook/unix_guru/
Ich hab das Buch nicht gelesen aber es scheint zumindest das wichtigste herzuzeigen.
Nachdem man Unix-Guru ist ...
... sollte man sich einen Texteditor aneignen. In dem obigen Buch scheint es schon einen Kapitel dafuer zu geben. Die wichtigsten Editoren die ein Unix-Guru braucht sind VI(M) und Emacs! Nachdem ich eine laengere Zeit mit VIM programmiert habe bin ich dann doch zu Emacs gewechselt und dieser Editor ist der Hammer. Am besten beide Editoren lernen, aber ich wuerde dann mit dem Emacs programmieren weil er dann auch recht gut fuer das Editieren von mehreren Dateien geeignet ist.
Ok. Emacs und VIM sind bei MacOS X standardmaessig schon dabei.
Im Emacs kann man "C-h t" eingeben, dann bekommt man ein Tutorial. (Ctrl gedrueckt halten, h druecken, Ctrl loslassen und dann einmal t druecken)
Nachdem man seinen Editor beherrscht gehts dann ans Programmieren. (und das sollte man in seinem Editor machen - kompiliert wird dann mit gcc auf der Konsole!)...
Aber wem wirkliche Grundlagen in der Programmierung fehlen sollte vielleicht mit was einfacherem anfangen weil man sich bei C doch noch um recht viele Dinge kuemmern muss. Also wuerde ich mit Python anfangen
Ein Tutorial gibts hier:
docs.python.org/tut/tut.html
Python ist bei MacOS X schon dabei, denn jeder sollte Python programmieren koennen. Teile von google sind z.B. in Python geschrieben worden. Auch bei Apple arbeiten viele Python-Gurus.
Nachdem man jetzt programmiern und schon das eine oder andere machen kann, wuerde ich schoen langsam in C einsteigen. Ein gutes Buch dafuer ist (wie oben schon erwaehnt)
C Programming Language
von Brian W. Kernighan, Dennis Ritchie
Sprache: Englisch
Broschiert - 274 Seiten - Prentice Hall PTR
Erscheinungsdatum: 1. Mai 1988
Auflage: 2nd
ISBN: 0131103628
Das Ding kostet bei Amazon 38,90 Euro und ist ein absoluter Must-Have, denn danach kann man auch wirklich C und hat keine Bildungsluecken mehr. Das Buch ist von den C-Erfindern Kernighan und Ritchie selbst.
Ok. Nachdem man schon ein kleiner Unix-Emacs-Python-C-Guru ist (und vielleicht schon das eine oder andere darin gebastelt hat), kann man sich in richtung grafische Entwicklung unter MacOS X bewegen.
Objective-C lernt ein C-Programmierer an einem Nachmittag hier:
http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/
Jetzt kommen wir erst in richtung XCode...
Nachdem man Objective-C kann, kann man sich das oben genannte Buch kaufen:
Cocoa Programming for MacOS X
von Aaron Hillegass
Auflage: 2nd
ISBN: 0321213149
Auch dieses Buch ist ein absoluter Must-Have fuer einen Cocoa-Einsteiger und es lohnt sich wirklich.
Nachdem man Unix-Emacs-Python-C-Guru und Cocoa-Fan ist, kann man schon einiges proggen und sich mit der Apple-Doku zu Cocoa beschaeftigen:
http://developer.apple.com/documentation/Cocoa/Cocoa.html
Danach hast du dein Ziel erreicht. Wenn man das ganze durchzieht wird man ein guter Programmierer. Gut - es schadet nicht zwischendurch sich noch ein paar duzend anderer Sprachen reinzuziehen. C++ sollte man dann schon noch koennen... Java, naja... kann man sich mal angucken... Smalltalk und Lisp/Scheme sind pflicht und muss sich jeder gute Programmierer angucken.
Danach steht dem beruflichen und privatem Erfolg nichts mehr im Wege. *GGGG*
Das waere meine Wegbeschreibung was ein langer Prozess ist und da sollte man schon einige Zeit investieren, wenn man es ernst meint. Achja: Das hoert sich vielleicht alles trocken an aber kann auch sehr viel Spass machen!
Wichtig: Gegen Englisch darf man nicht abgeneigt sein. Englisch muss man moegen. Mehr als Deutsch!
ciao
chrizel