Zitat:
Zitat von hanspeter77
Guten Morgen,
ja! Ich gebe es zu! Ich bin ein Noob, der sich nicht traut, fragen über das Programmieren zu stellen, weil ich weiß, dass es Leute gibt, die einen hänseln usw. 
Jetzt werde ich aber meine Fragen stellen (, aber bitte nicht lachen!  ):
1. Ist Linux ein Programm oder ein Betriebssystem?
2. Was ist C, C# und C+?
3. Wie lerne ich, Spiele zu programmieren?
4. Kann ein Programmer, auch ein Hacker werden?
5. Welche Bücher tut ihr für einen Noob wie mich empfehlen?
Ich möchte wirklich lernen zu programmieren, weil ich einfach Spaß habe, wenn ich am PC hocke.
Seit meiner Kindheit habe ich schon immer am PC's rumgemacht und sie beschädigt und immer wieder bekam ich eine Ohrfeige. *lol*
Hoffentlich werde ich nicht ausgelacht. 
|
1. Linux ist streng genommen kein Betriebssystem. Es ist ein Treiberpaket. Das Betriebssystem heisst GNU. Linux + GNU == (ungefähr sowas wie MSDos).
Am Beispiel von Windows genommen ist Linux der ersatz für Kernel32/64 sowie die nachladbaren Module (.sys). Eben der Kernel. Der Kernel selbst ist eine sehr rudimentäre Implementierung aller Treiber welche die Hardware steuern.
2. Dieses sind sehr verschiedene Programmiersprachen. Wenn du auf der Suche nach einer geeigneten Sprache zum Einstieg bist dann solltest du dich fragen wo du hin willst.
Erst einmal solltest du den Unterschied zwischen Programmiersprache und Compiler begreifen. Die Programmiersprache Schreibt vor wie der programmcode aussehen muss. Der Compiler übersetzt das in ein Ausführbares Programm.
C = C ist wohl der Klassiker. Das Handling von Pointern oder Headern kann einen Anfänger aber schon ganz schön fordern. Hinzu kommt das man sämtliche funktionalitäten die über das absolute minimum gehen hinzulinken muss (hinzufügen)
C++ = ist eine Erweiterung von C. Genauer gesagt ist es Objektorientiert ( sollte man wenn man nun anfängt schon lernen). Desweiteren gibt es Namespaces. C++ beinhaltet alles was C kann.
C# lass ich jetzt bewusst erst einmal. Der als Compiler für C bzw C++ bieten sich unter gnu linux betriebssystemen GCC bzw G++ an. Unter windows MSVCC oder MinGW(implementierung von GCC/G++).
C# und Java sind sich 2 sehr ähnliche Sprachen. Beide beinhalten keine Pointer im klassischem Sinne, und bringen eine Grosse Standardbibliothek mit. Für beide gibt es auch grosse IDEs (die helfen grade einem Anfänger schon sehr).
Die IDE's wären Eclipse bzw VisualStudio. Sowohl Eclipse als auch visual Studio sind aber auch in der Lage mit anderen Sprachen klar zu kommen. Eclipse ist eine Reine IDE ( also ohne Compiler ). VisualStudio ist eine IDE mit Compiler (MSVCC).
C# müsste eigentlich auch C#.NET heissen, da es auf das .NET framework aufsetzt. Dies tuen ebenso C++.NET und Java.NET. (Also alles was mit visual studio kompiliert wird. Dieser satz ist zwar so nicht ganz richtig. ich wills aber auch nicht komplizierter machen als es eh schon ist)
3. Spiele Programmieren ist erstmal ein Weiter Begriff. Was für ein Spiel soll es denn sein?. Erst einmal solltest du dir eine Grafikbibliothek ausschauen welche deinen Anforderungen entspricht. ( Game Engine , Wikipedia hilft ).
Aufsetzen tuen diese meist auf DirectX, OpenGL oder SDL. Dann schaust du welche Sprachanbindungen existieren (Programmiersprachen). Ich empfehle dir erst einmal Java oder C# zu nehmen. Das ist für den Anfänger einfacher. Die einrichtung ist auch erstmal nicht das Problem. VisualStudio Express 2008 C# bzw Eclipse Java IDE installieren und los. Die weitere Vorgehensweise zum Spiel bringt die Game Engine in der Regel mit einer Masse an Tutorials und Dokumentation mit.
Kleiner Tipp: Keep it simple. Mach erstmal was einfaches, was du noch erweitern kannst. Setz dir deine Ziele nicht zu hoch.
4. Ja, aber das hat mit programmieren nichts zu tuen. Nach meinem Verständnis nutzen Hacker fehler anderer Programmierer aus. In der Regel ist das aber keine Kunst sondern das nutzen bekannter Schwachstellen.
5. Bücher, hmm? Vielleicht erstmal etwas ganz rudimentäres. Etwas das anfängt mit Variablendeklaration und endet mit Entscheidungsroutinen Schleifen etc. Wie mache ich eine Funktion, blabla. Dieses solltest du aber auch für die meisten Sprachen kostenlos im netz finden. zb "Java ist auch eine Insel".