PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Woher bekomme ich gute Bücher und Motivation?


urpils
2003-01-15, 18:33:02
Hallöle!

Kurz meine "Leidensgeschichte":
Ich bin 16 Jahre und interessiere mich schon, seit ich klein bin sehr für Computer. Mit 13 oder 14 (weiß nciht mehr so genau) erwachte bei mir die Lust, nicht nur Spiele zu zocken und im Web zu surfen, sondern auch mal selbst was zu "programmieren". Deshalb hab mich mir SelfHTML gesaugt und mir das draufgehaun. Ein Jahr später war mir das zu wenig und ich hab mich dafür entschieden, C++ zu lernen. Ich wollte aber nicht gleich mit den "modernen" Sprachen anfangen und hab erstmal gaaaaaaaaaaaaaaaanz kurz in Assembler reingeguckt (wirklich nur ganz kurz... 1 oder 2 Stunden), dann hab ich mir ein Buch über C gekauft.
Leider war das Buch so grausahm, dass es mir wirklich die ganze Lust am proggen genommen hat. Außerdem hat es wirklich nur die nötigesten Grundlagen vermittelt. Ich wollte aber nicht aufgeben, weshalb ich mir danach das Buch "Denken in C++" gekauft hab. In der Beschreibung war die Rede, dass man nur die nötigsten C Grundkenntnisse haben muss, um damit zurrechtzukommen. Naja, so wirklich aht das nicht gestimmt. Das Buch hat sofort mit Objektorientierter Programmierung begonnen und irgendwas erzählt, was ich bis jetzt noch nicht verstanden hab *g*.
In den nächsten Wochen werde ich ein Praktikum bei einer Webdesignfirma machen und musste mir als Grundvorrausstetzung JAVA Script und PHP aneignen. Da diese Sprachen aber doch einiges mit C/C++ gemeinsahm haben bzw. mich einiges daran erinnert hat, hat nun wieder dieses "Feuer" in mir begonnen zu lodern. Deshalb meine Frage:

Kann mir jemand ein GUTE Bücher empfehlen, die gut verständlich und wenn möglich auch einigermaßen komplett sind. Mich würde alles interessieren, über C++, DirectX, OpenGL, Java bis hin zu Grundlagen der Programmierung, also womit alles angefangen hat, welches die ersten Programmiersprachen waren, was davon in den heutigen Sprachen noch übrig ist... Es könnten auch Bücher über den PC selbst sein, also wie ein PC aufgebaut ist (Aufbau der CPU, wie das Mainboard funktioniert). Die Bücher sollen möglichst tiefgehend sein und nicht bloß irgendwelche "Computerbilderlärungen" liefern.
Danke schonmal im Voraus!!!

firewars
2003-01-15, 21:48:13
Hallo,

ich bin seit ein paar Tage im Besitz des "C++ Einsteigerseminars" und habe schon über 100 Seiten weg. Bin durchweg beeindruckt vom Buch.

Es ist ziemlich verständlich geschrieben und erläutert auch, warum Dinge so sind, wie sie sind. Ein historischer Hintergrund ist an einigen Stellen gleichzeitig auch gegeben.

Und das Beste daran: es kostet nur 9,99 Euro :)

urpils
2003-01-16, 14:36:50
super.. vielen Dank!!! ich werd's mir gleich mal besorgen!!!

hat sonst keiner Empfehlungen?

Captain America
2003-01-16, 19:01:15
Für C++ nicht, welche Sprachen interessieren dich noch?

Nasenbaer
2003-01-16, 19:02:07
Wenn du an Spieleprogrammierung interessiert bist dann kann ich die "3D Spieleprogrammierung mit DirectX in C/C++".
Ist zwar so gut wie alles in reinem C geschrieben aber am Anfang wird C und C++ erklärt. Später gehts dann los die einzelnen DirectX-Komponenten auszunutzen.
Insgesamt recht ordentlich geschrieben und liest sich wirklich locker weg.

www.stefanzerbst.de
Dort findest du auch Band 2 und bald Band 3. Und jeweils das Inhaltsverzeichnis und ne Inhaltsbeschreibung. Das Buch selbst ist schon recht teuer mit knapp 40€ bei Amazon. Aber guut ist es. :)

Mfg Nasenbaer

urpils
2003-01-18, 11:52:29
also erstmal danke für dieses Buch von Stafan Zerbst.. ist zwar etwas teuer, aber ich denke, dass es sich lohnt... DANKE!!!

und prinzipiell interessiert mich jede Programmiersprache... ich kenne ja nur relativ wenige... also ich bin allen Büchern gegenüber aufgeschlossen :-)

Captain America
2003-01-20, 16:02:31
Vielleicht wird dich "C++ lernen und professionell anwenden" (--> Amazon) als Professionelles Nachschlagewerk interessieren. Ich würde dir aber raten gerade am Anfang sich eher auf eine Sprache zu fixieren.

Für Java:

http://java.sun.com/ --> Tutorial (eBook / Print)
http://www.galileocomputing.de/openbook/javainsel2/ --> Java ist auch eine Insel (eBook / Print)
http://64.78.49.204/ --> Thinking In Java (eBook / Print)
Java & XML (Print)

Für PHP4:

PHP4 Grundlagen und Profiwissen (Print)
PHP De Luxe (Print)



Happy Coding, und registrier dich mal! :)

Matrix316
2003-01-20, 16:21:04
Wie schon in einem anderen Thread gesagt:

www.onlinelesen.de da bei Programmieren gibts viele Bücher quasi umsonst.

Gnafoo
2003-01-22, 23:12:31
also ich würde mal mit google oder so nach büchern suchen ..
einige gibt es ja gratis im inet.
ansonsten würde ich einfach mal versuchen n bissl drauf los
zu coden :) .. und wenns mal hackt .. irgendwo nachfragen, bzw.
tutorials im inet suchen .. ich kann auch (denke ich) recht gut
c++ programmieren .. hab aber nicht einmal ein buch drüber gelesen.
:D

bei opengl / directx ist es aber wahrscheinlich nötig, auf bücher
zurückzugreifen, da man erstmal die ganzen mathematischen grundlagen
verstehen sollte, bevor man versucht ernsthaft was zu machen.
ansonsten ist man schnell verwirrt, wenn sich auf einmal das gesamte
koordinatensystem durch matrizen ändert. oder eine rotation ein ganz
anderes ergebnis bringt, als man gedacht hat.

und was die bücher angeht, würde ich dir empfehlen, nicht nur
durchzulesen, ohne zwischendrin was programmiert zu haben, sondern
gleich nebenbei was mit dem gelesenen anzufangen. sonst ist es
schneller vergessen, als man denkt. aber nicht nur programme 1:1 aus dem buch übernehmen, sondern auch mal versuchen was ähnliches
hinzukriegen und ein bisschen zu variieren.

Unreal Soldier
2003-01-23, 01:11:56
Imho bin der gleiche Meinung wie Captain America. Fixire dich für den Anfang auf eine Sprache. ICh bin jetzt seit drei Jahre auf Java fixiert und bin begeistert.
Hier eine kleine Liste von Bücher:
1.Java in a Nutshell
2.Java Programmierung von Addison & Wesley
3.Java Dokumentation (bei SUN zum downloaden)

Übrigens einpaar Tipps:
1.Du brauchst nicht unbedingt alle Sprache zu kennen.
2.Wenn du mal mit einer gut hantiren kannst wirste die übrigen einfacher lernen, weil meistens ist der Syntax fast identisch.
3.Imho bin überzeugter Javarler und hab mich nach ein kleinen Tour bi c++ fast wie zuhause gefühlt nur dass ich da nicht am Anfang staten musste, denn das meiste von Objektorienteirter Sprache kam mir bekannt von Java aus und dazu musste nicht mehrere Bücher lesen wie bei Java.

Übrigens ich meine auch dass du mit Java anfängst, denn die Sprahe ist genial. Übrigens C++ kann jeder Java leider immer noch zu wenige für diese Welt;D

Dazu möchte ich noch eins beitragen.
Ein gutes buch für C mit Vorgeschichte der Sprache und wirklich detailiertem Syntax und alles drum und ran ist:
"Effektiv Progrmmieren in C" von Dietmar Herrman vom verlag vieweg.

Das Buch ist ein bisschen alt aber hat wirklich vieles von alten Zeiten zu bieten.

edit: Good coding, good Luck and cu as registered Member @3DCenter !!!

editdie2.: DIE DOKUS SOLLTEN IMMER DEINE RECHTE HAND BEIM CODEN SEIN.

urpils
2003-01-25, 10:40:33
also erstmal vielen, vielen Dank, für die Antworten.

Dank eurer Ratschläge bin ich noch verwirrter, als vorher ;-) Wo genau liegen denn die Vorteile von JAVA gegenüber C/C++? Kann man mit Java auch "normale" Programme schreiben? Ich kenn mich da ja noch nciht so gut aus, aber soweit ich weiß werden da ja keine ausführbaren Dateien erzeugt, sondern mehr oder weniger vorgerechneter Code erzeugt, der dann erst auf dem Computer, auf dem das Programm ausgeführt wird compiliert wird. Oder habe ich das falsch verstanden?

Ich denke, dass ich entweder JAVA oder C++ lernen werde. Je nachdem, womit man "mehr" anfangen kann. Meine Vorstellung momentan ist: JAVA ist auf allen/vielen Plattformen lauffähig. Dafür ist C++ effektiver, bzw. schneller. Stimmt das so ungefähr?

Das Problem mit Büchern im Internet ist jedoch, dass man immer am Computer sitzen muss, um die zu lesen. Dazu kommt, dass die meißten Bücher sehr umfangreich sind. Und mehrere Stunden am Computer zu sitzen und zu lesen ja auch nicht sehr gesund sein kann... Ich denke, dass ich mir ein Buch kaufe und zusätzlich Tuts ausm Internet benutze.
ne ziemlich geniale Site die ich gefunden habe ist www.robsite.de (nur so am Rande *g*)

Mit meiner 1 wöchigen PHP Erfahrung hab ich mitlerweile ein Gästebuch, ein Votesystem, ein Newssystem, einen Newsletter und ein Adressbuch programmiert. Wenn man in den anderen "Sprachen" (soweit man dass vergleichen kann...) auch so schnell Vortschritte machen kann, wär ich ziemlich glücklich :-)

urpils
2003-01-25, 10:42:37
ich hab mich doch jetzt angemeldet.. warum steht da immernoch: Guest??

Nasenbaer
2003-01-25, 11:16:09
Originally posted by urpils
ich hab mich doch jetzt angemeldet.. warum steht da immernoch: Guest??
Du musst dich auch einloggen und Cookies sollte dein Browser akzeptieren.

Auf der Startseite des Forums ( www.forum-3dcenter.org ) findest du ganz unten rechts zwei Eingabefelder für Benutzernamen und Passwort.

Mfg Nasenbaer

urpils
2003-01-25, 13:48:06
ohjeohje... das ist mir jetzt aber peinlich ;D

warum sind auch die Loginfelder so versteckt angeordnet?

Bitte vergesst meine Fragen nicht... welche Vorteile haben JAVA, bzw C/C++? (Es gibt doch auch noch C#... was ist das nun schon wieder?)

zeckensack
2003-01-25, 14:08:11
Java ist die modernste objektorientierte Sprache. Wegen des VM-Mechanismus und der Portabilität leider etwas (!) langsam.
C++ ist auch eine OOP-Sprache, brachial schnell und maschinennah, dafür nicht ganz so einfach zu bändigen.
C# ist Java, wie es Microsoft gemacht hätte :eyes:

C ist veraltet :D, die vorgenannten Sprachen lehnen sich aber alle syntaktisch daran an.

edit:
Java bietet darüberhinaus die wohl vollständigste und beste Klassenbibliothek aller Zeiten. Vor allem ist sie portabel auf beliebige Systeme (was man von der MFC zB ja nicht unbedingt behaupten kann ...).
C++ bietet standardmäßig zB keine GUI-Klassen, alles was man da bekommt ist Compilerabhängig. Nur die STL-Klassen (stacks, queues, lists, vectors) und Streams (Dateien, I/O allgemein) sind standardisiert und portabel.

Unreal Soldier
2003-01-26, 13:11:02
Also als Javarler kann ich dir mal ewas über Java erzählen:

Die Programmiersprache hat ein Vorteil und ein Nachteil:

Vorteil:
1.Wenn man ein Programm schreibt und es dann compiliert (via javac) wird es nicht direckt zum maschinencode compiliert nur in ein einer art unertcode welcher bei jedem OS ausführbar uns lesbar ist. Erst dann mit dem interprenter (java progname) wird das proggie in Maschiencode umgewandelt und ausgeüfhrt. Aus diesem Grund ist Java plattforunabhängig.

Nachteil:
2.Da der Compiler das proggie nicht direkt an Maschinencode umwandedlt und man einen Interprenter braucht sind die Java Proggies ein bisschen langsamer, aber bei heutigen Grossprojekte sogar ist der Leistungsruckgang marginal und Java kann ohen Probs mit C++ mithalten.

Also moderner Programmier sollte man sich sehr gut mit Java und C++ auskennen und je nachdem auch gut in Assembler sein.:)

urpils
2003-02-01, 10:59:36
ich bin jetzt endlich mit meinem Praktikum fertig und möchte mich zunächst einmal für die vielen Antworten bedanken!!!

Ich habe gelesen, dass man für die Programmierung von 3d Grafik bestimmte Kenntnisse der Mathematik haben sollte. Und bevor ich mir jetzt ein Buch über Direct3d kaufe, würd ich schon ganz gerne etwas über die Mathematik lernen.
Meine Frage: Was muss ich lernen/können/kennen, um in Direct3D zu programmieren. Wie kann ich mir das Wissen aneignen? Bücher, oder irgendwelche Seiten im Netz?

whiteshadow666
2003-02-03, 14:45:29
Also ich kann dir nur den Tip geben erst garnicht mit DirektX von M$ anzufangen. Wenn de wirklich 3D coden willst dan fang direkt mit OpenGL an. Der Vorteil ist nämlich das du komplett Platform unabhängig coden kannst (is vielleicht nen bissel umfangreicher). So kannste deine Programme auf LINUX, UNIX, MAC und wenns sein muss sogar auf M$ OS laufen lassen, ohne viel zu ändern. Als Buch kann ich dir da nur das OpenGL Programming Guide ans Herz legen. Ist aber komplett in Englisch und mann sollte sich mit Linux und C/C++ einigermassen aus kennen. Hab mir das so selber angeeignet. Da ich in diesem Semester ein Billardspiel coden musste. Wenn de erst mal reinschnuppern willst gibts davon au nen E-book im Netz (Link weis ich net aber google *g*), oder schau die mal die Seite nehe.gamedev.net an. Die ist aber leider komplett für M$ OS geschrieben (und wer will das)

Na ja hoffe das die das nen bissel hilft

White Shadow

Nasenbaer
2003-02-03, 15:29:57
Warum haben eigentlich alle so eine Antipathie gegen MS. Sicher sind die an so manchem Mist schuld und nutzen ihre Monopolstellung schamlos aus aber man muss ja nicht immer den kompliziertesten Weg gehen und sollte daran denken was verlangt wird. Gerade in Richtung Spieleprogrammierung muss man es unter Windows können.
Wenn dann die Grundlagen da sind kann man natürlich versuchen Linux in dieser Hinsicht zu pushen aber beim industriefremdesten anzufangen ist glaube ich verkehrt.
Zudem sollte man erstmal genug über das zugrundeliegende System wissen bevor man darunter Programme schreibt.
Das man OpenGL nutzt ist sicher nicht verkehrt aber das dann gleich unter Linux zu machen halte ich für übertrieben.

Mfg Nasenbaer

Unregistered
2003-02-03, 17:12:26
Originally posted by Nasenbaer
Warum haben eigentlich alle so eine Antipathie gegen MS. Sicher sind die an so manchem Mist schuld und nutzen ihre Monopolstellung schamlos aus aber man muss ja nicht immer den kompliziertesten Weg gehen und sollte daran denken was verlangt wird. Gerade in Richtung Spieleprogrammierung muss man es unter Windows können.
Wenn dann die Grundlagen da sind kann man natürlich versuchen Linux in dieser Hinsicht zu pushen aber beim industriefremdesten anzufangen ist glaube ich verkehrt.
Zudem sollte man erstmal genug über das zugrundeliegende System wissen bevor man darunter Programme schreibt.
Das man OpenGL nutzt ist sicher nicht verkehrt aber das dann gleich unter Linux zu machen halte ich für übertrieben.

Mfg Nasenbaer

Hast ja von Prinzip her recht da auf 90% aller rechner Windoof läuft (auf meinem auch *fg*) sollte man auch wissen wie man spiele unter Windoof codet. Aber wieso sollte ich unter Windoof coden und Fehler bekommen die ich unter Linux nicht hätte. Also fange ich erst mal an unter Linux mein Programm 1a ans laufen zu kriegen und protiere es dann nach Windoof, und wenn du es richtig gemacht hat geht das ziemlich fix (unter der Voraussetzung das M$ kein Bug in ihrem OS haben der dir nen Strich durch die rRechnugn macht). Und um zu den Vergleich DirectX <-> OpenGL zurück zu kommen hier nur ein Comment. Warum Programmiert der Mann der das Genere quasi erfunden hat und vordessen ankündigungen die ganze Spiele Branche zittert (deren Programme sind dann nämlich hoffnungslos veraltet) den seit Jahren unter OpenGL?? Also OpenGL ja udn Linux kann ich dir nur raten!!, aber es geht auch unter Windoof

White Shadow
P.S. falls jemand nicht weis auf wenn ich mir hier beziehe. Das ist John Carmack. Der entwickler von so grandiosen Spielen wie Q****e I-III und D**m I-III. und der sollte es wissen!!

Nasenbaer
2003-02-03, 18:58:27
Hi,
wie Demirug in diesem Thread (http://www.forum-3dcenter.org/vbulletin/showthread.php?s=&threadid=52790) auch schon schrieb, ist für Profis OpenGL durchaus anzuraten, weil man die Hardware optimaler ausnutzen kann. Es ging mir primär auch nur darum, dass man es auch genausogut unter Windows machen könnte. Schließlich ist Grafik nicht alles. OpenAL ist ein Ansatz der plattformübergreifenden Audio-Schnittstelle aber auch Netzwerk und Input sind ja nicht zu vergessen.
AFAIR sollen die Entwickler von Op Flashpoint Entwickler auf Gamasutra gesagt haben, dass DirectPlay unkomfortabel ist aber man muss dies ja auch nicht nehmen.
DirectInput gefällt mir hingegen sehr gut.

Desweiteren ist DirectX objektorientiert. Ich verfüge zwar nur über das grundsätzliche Konzept das hinter OOP steckt aber allein wegen der besseren Übersichtlichkeit will ich es nicht missen.

Mfg Nasenbaer

Demirug
2003-02-03, 19:21:37
OpenGL ist nicht schlecht wenn man maximale Performances erreichen will. Aber das hat natürlich auch einen Preis. Man programmiert den Rendercode nicht einmal sondern für jede Karte/Chip neu. Und da wir in nächster Zeit wohl eine Schwemme an neuen Chips bekommen werden wünsche ich jedem der sich darauf einlassen möchte viel Spass und Zeit. Auch JC hat darauf inzwischen wohl keine Lust mehr den anders ist die Aussage das er für seine nächste Engine nur noch mit einem Herstellerneutralen Hochsprachensystem arbeiten will kaum zu verstehen.

Aber ich will ja keinen davon abhalten sich auf diesen Weg zu begeben ich war ja auch mal jung und idealistisch.

Von einen der mal auf OS/2 gesetzt hat.