C++ als Einsteiger lernen.

Bin auch der Meinung, dass Assembler nicht unbedingt wichtig ist. Und das hat auch nichts mit "vom grunde auf lernen" zu tun. Aber ich stimme mit dir überein, dass sowas wie C++ oder Java zu Beginn etwas overkill ist.
 
Vielleicht noch einmal zurück zur Ausgangsfrage...denn mich interessiert es auch. Und ich bin auch denke mal ein blutiger Anfänger was programmieren angeht. Das einzige was ich draufhab is das Binärsystem und das kam eher von der technischen seite und zwar den transistoren ^^

HAt jemand also vllt noch einen Vorschlag für ein vernünftiges Grundlagenbuch dass mich gut einführt.
Das java-buch, welches hier benannt wurde hört sich nämlich schon sehr interessant an und teuer ist es auch nicht
 
vill kannst du ja mit visual studio was anfangen und ei n eigenes programm schreiben.

muss ja nicht die professional edition sein, kann auch die normale sein.

also mir hat das programmieren mit vision pro und visual studio spaß gemacht.
 
Trotzdem, ohne Buch ist es schwer sich einzufinden, da muß man viel probieren und sich Beispiele anschauen (so hab ich mir C und C++ gelehrt).

Visual Studio ist nicht schlecht, doch viele Funktionen braucht man am Anfang nicht.
Da kann es schon vorkommen, daß die IDE etwas überladen ist und das noch mehr abschreckt.

Code::Blocks wäre da sicher eine nette Alternative.
 
Also ich hab vor Jahren mal mit TurboPascal angefangen und muss nun inner uni java machen und finds für den einstieg eigentlich perfekt ;) werde danach auch freiwillig noch C++ machen.


Buchempfehlung: Java ist auch eine Insel vonGalileo
 
ich hab in der schule mal TurboPascal und danach dann Delphi gelernt. beides ist zum einstieg optimal, finde ich.
keine programmiersprache ist von seiner syntax her einfacher zu lernen.

in der Uni hab ich dann Matlab und C++ gelernt. brauche heute nur noch C++. Damit werden in der Praxis (Wissenschaft) halt unter Linux Algorithmen und Simulations-Tools geschrieben. C++ ist einfach nur sau schnell.

zu Java: die sprache mag toll sein, aber ich persönlich find sie grottig. Echtes oop lernt man, meiner meinung nach, am besten von klein auf und nicht mit einer spache, die eh schon alles hat. In java kannst du ganze tools "schreiben" indem du sie zusammen klickst.


zum jeweiligen lernen würd ich empfehlen eine einfache sprache wie TurboPascal oder Basic zu nehmen. Daran halt erstmal die grundlegenden Strukturen wie Variablen, Schleifen, Abfragen, Rekursionen, Zeiger etc zu üben.
Wenn man das drauf hat, kann man sich an weiteres trauen. Eine Hochsparache, die direkt in einer grafischen Oberfläche arbeitet hat man dann schnell drauf.
Ich hab c++ in 2 Wochen gelernt, da ich halt schon programmieren konnte. Binärbäume, Objekte und so sachen kannte ich aus Delphi und die Idee ist immer die gleiche, nur die Syntax ist eine andere.
 
zu Java: die sprache mag toll sein, aber ich persönlich find sie grottig. Echtes oop lernt man, meiner meinung nach, am besten von klein auf und nicht mit einer spache, die eh schon alles hat. In java kannst du ganze tools "schreiben" indem du sie zusammen klickst.

Der Absatz erschließt sich mir nicht.

Was hat das Erlernen des Konzepts Objektorientierung mit dem Umfang der Standardbibliothek der jeweiligen Sprache zu tun?
Und welche Rolle spielt dabei deiner Meinung nach ein GUI-Designer, der mit dem Sprachkern erstmal auch garnichts zu tun hat?


Wie man an eine Sprache herangeführt wird ist meiner Meinung nach viel mehr eine Frage der verwendeten Entwicklungsumgebung. Die Entscheidung für eine solche lässt sich aber ziemlich fix ändern und es wird niemand gezwungen, per IDE anzufangen. Man kann zur Not auch per Notepad.exe und cmd.exe Java-Programme basteln und häufig wird das in der Einsteigerliteratur auch erklärt.

Hat man sich dann eine Weile lang mit dem Thema allgemein beschäftigt, wird man eh merken, dass es noch weitere Möglichkeiten gibt als die, die man bereits kennt.
 
an deiner stelle würde ich mit C++ anfangen. wenn es dir direkt aufs spiele programmieren ankommt, erstmal c++ "lernen" und dann kannst du mit einem GDK (game development kit) wie deem DarkGDK in visual studio kleine games schreiben.
wenn du kein geld für ein buch ausgeben willst (was NICHT zu empfehlen ist) oder dir c++ erstmal gangucken willst und einigermaßen englisch kannst, guck mal auf www.learncpp.com. da wird alles sehr gut erklärt und erläutert.

die besten bücher bekommst du bei galileocomputing, was auch empfehlenswert ist.
 
Die Cry-Engine nutzt C++. Windows baut ursprünglich auf C auf, neuere Teile nutzen C++, dann gibt es bestimmt noch Fragmente, die seit Jahrzehnten mitgeschleppt werden, in anderen Sprachen. Und für Microsoft will ich hoffen, dass in wichtigen Teilen auch Assembler-Code drin steckt.
 
Da CPUs ja (noch) kein C sprechen ist wohl davon aus zu gehen dass selbst bei MS ganz unten Assembler Code steckt ;) .
 
Man kann C ja kompilieren. Nur der erste existierende Compiler muss zwingend in einer niedrigen Programmiersprache geschrieben sein. Es ging mir darum, dass Assemblercode einfach schneller ist, wenn man ihn der Architektur der Maschine gut anpasst. (Und da Windows eh nur auf x86 läuft, ist das in dem Fall ja nicht all zu viel Arbeit.)
 
Also für ein OS muss man heutzutage nur den ersten Bootloader in ASM schreiben, danach kann man C oder sogar C++ nutzen. Bei den entsprechenden Bibliotheksfunktionen (z. B. memcpy) ist Assembler hingegen sinnvoll, da man die SIMD Instruktionen (z. B. SSE) nutzen kann. Wobei man sich bei heutigen Maschinen da auch nicht mehr so stark drauf konzentrieren muss, wie noch vor ein paar Jahren. Die Compiler optimieren idR schon recht brauchbar, sodass man asm auf ein Minimum reduzieren kann bzw. der Geschwindigkeitsvorteil von 3-4 ms den Aufwand kaum rechtfertigt.
 
Ich meinte tatsächlich auch nur die Funktionen, die ständig (quasi dauerhaft) genutzt werden und die wirklich geschwindigkeitskritisch sind. Also tatsächlich Speicherzugriff, etc. (Wobei Windows beim Speicherzugriff im Vergleich mit anderen Systemen jetzt nicht überragend dasteht. Vielleicht ist es doch C/C++. Schließlich ist Microsoft Stabilität deutlich wichtiger als Geschwindigkeit.)
 
Hab hier ne gute Seite gefunden für Spieleprogrammierung.
Isogames.de

Die Unreal Engine 3 (komplett) gibts jetzt zum kostenlosen Download für alle.
Allerdings dürftest du deine Spiele nicht verkaufen, dafür brauch man eine Lizenz. Kannst es dir ja mal ansehen die Seite ist echt gut.

Dort findest du unter der Kategorie "Bücher" welche für C++ unter anderem die sich nur auf Spieleprogrammierung beziehen.
Ein Forum um Fragen zu stellen gibts auch.

Hoffe konnte dir evtl. etwas weiter helfen.
 
Die in meinen Augen beste momentan erhältliche Open-Source-Engine (GPL) ist wohl XreaL.

Da bekommt man den Code und man darf das fertige Spiel natürlich auch verkaufen.
 
Ich meinte tatsächlich auch nur die Funktionen, die ständig (quasi dauerhaft) genutzt werden und die wirklich geschwindigkeitskritisch sind. Also tatsächlich Speicherzugriff, etc. (Wobei Windows beim Speicherzugriff im Vergleich mit anderen Systemen jetzt nicht überragend dasteht. Vielleicht ist es doch C/C++. Schließlich ist Microsoft Stabilität deutlich wichtiger als Geschwindigkeit.)
Da kann ich mich noch gut an die Libs aus dem VS 2002 oder 2003 erinnern, wo noch keine SIMD Instruktionen enthalten waren ;)
Wenn man die 800 Euronen für den Intel Compiler hinlegt, kann man auch ganz gut auf ASM verzichten - verliert aber den Nerd-Bonus :ugly:
 
Der Intel-Compiler optimiert den Code auf Intel-CPUs indem er diverse SIMD Befehle etc. automatisch einsetzt. Von manchen wird das Teil als "Benchmarkcompiler" beschimpft (Nicht-Intel-CPUs werden/wurden - trotz Unterstützung der enstprechenden Befehle - bei den Optimierungen z. B. nicht berücksichtigt und führten stets den langsamsten Codepfad aus). Bis jetzt konnte ich noch alles benötigte direkt in Assembler coden, da brauch ich keine 800 Euronen für das Teil auszugeben. Ich meine mich aber auch dunkel zu erinnern, dass die Performancevorteile sich eher im unteren ein- bis zweistelligen Prozentbereich befanden, je nach verwendetem Code und Benchmark. Dies jetzt aber ohne Garantie, ist schon ne Weile her, dass ich darüber mal was gelesen habe! Ich behaupte jetzt mal, für den Ottonormalprogrammierer ist es wohl overkill, der fährt mit Visual C++ (Express) oder GCC vermutlich genauso gut.
 
Zurück