Heyho alle zusammen,
ich habe jetzt fünf Jahre Programmiererfahrung in verschiedenen Basic-Dialekten sowie dem einen oder anderen CSyntax-ähnlichen Script hinter mir und habe mich dazu entschlossen, nun mit C# eine "relevantere" Sprache zu erlernen. C# scheint eine sehr "angenehme" Sprache zu sein; allerdings tue ich mich mangels Step-By-Step-Tutorials schwer mit den Grundlegenden Modulen.
"Guide to C#" und ähnlich strukturierte E-Books kommen bei mir eifnach nicht durch, weil sich sich in ewiger Abstraktion verlieren ohne alles an einem konkreten und vor allem greif- und ausführbaren Projekt zu erklären. Sie sind meiner Meinung nach mehr als Nachschlagewerke geeignet als für den Eisntieg. Wie dem auch sei:
Ich hätte da eine Menge Fragen, die ich alle einfach mal hier auflisten und nummerieren werde - damit dieser Thread lesbar bleibt, bitte ich darum bei der Beantwortung einer Frage als Einleitung der Antwort den vollständigen Fragesatz inklusive Nummer zu quoten - das wäre nett
Dann mal los - unbeantwortete Fragen haben ein
, beantwortete / geklärte ein
. Außerdem werde ich beantwortete Fragen mit dem Bold-Tag versehen. Es wäre möglich, dass später noch Fragen hinzukommen; diese werde ich in hier hineineditieren und mich ggf. mit einem neuen Post am Ende des Threads melden. Anmerkung: Da ich nach Kategorien ordne, ist die Zahlenreihenfolge nur bedingt geordnet.
.Net Plattformunabhängigkeit in C# und "Compiler-Grundlagen"
({1}) Wie genau funktioniert .Net Plattformunabhängigkeit in C#?
({2}) Kann ich bei der Verwendung plattformunabhängiger Module denselben Code unter anderen Betriebssystemen kompilieren und ausführen?
({3}) Welche Vorraussetzungen benötigt ein System (unabhängig von der Plattform), um C#-Programme ausführen zu können?
({4}) Habe ich eine Projektmappe erstellt (-> Visual C# Express 2005), reicht es aus, einfach den Inhalt des Release-Unterordners zu kopieren, um das lauffähige Programm weiterzugeben, sofern die Vorraussetzungen aus (3) erfüllt sind?
({5}) Gibt es Benchmarks, die die allgemeine Geschwindigkeit der C#-Executables mit der von C++-Executables vergleichen? Wo?
C# Grundlagen
({6}) Gibt es im Internet Step-By-Step-Tutorials, die C# für Umsteiger oder EInsteiger anhand eines netten, greifbaren Projekts erklären? Im Idealfall ein einfaches Spiel wie eine Pong-Variante oder dergleichen.
C# und seine Standardbibliothek
({7}) Ich suche einen Befehl oder eine Variable, die nichts anderes tut als die Zeit hochzählen. Sie sollte jede Millisekunde um 1 erhöht werden (oder ein ähnliches Verhalten aufweisen). Ich benötige dieses Verhalten, um festzustellen, wie viel zeit seit dem letzten Berechnungsschritt vergangen ist. Die Timer scheinen ein solches Verhalten aufzuweisen, aber der "Zähler" ist nicht zugänglich.
({8}) Welche Standardbibliotheken sollte ich auf jeden Fall kennen?
C# und sandere Bibliotheken
({9}) Welche Bibliothek-Kombination bietet sich an, wenn mein Ziel ein plattformunabhängiges (Windows, Linux, im Idealfall sogar MacOS) Spiel mit Hardware-Unterstützung für Grafik und Sound ist? Ich habe derzeit eine Kombination aus Tao.OpenGL (bzw. Tao.Glfw) und Tao.OpenAL im Blick, ist diese geeignet?
({10}) Kann ich das SdlDotNet-Modul verwenden, obwohl sich dessen Funktionalität in einigen Bereichen mit der der Tao-Sammlung überschneidet (welche ich ja vielleicht teilweise verwenden werde)?