Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Du kannst ja schließlich auch C++ programmieren ohne die STL zu benutzen.
C# ist eine Sprache. Genau wie VB.Net. Wie ich vorher schon schrieb und wie Sylence ebenfalls schon anmerkte: .Net und C# oder .Net und VB sind nicht verwandt. .Net ist ein Framework und eine Laufzeitumgebung. C# ist eine Sprache mit einem definierten Standard. Wenn dafür ein nativer Compiler entwickelt wurde (und das wurde er), dann ist C# genauso valide wie VB oder C oder C++. Das Framework ist von der Sprache erstmal generell unabhängig. Genau wie sämtliche Standardbibliotheken in vielen anderen Sprachen ebenfalls.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »dot« (27.08.2012, 10:45)
Je nachdem was du unter STL verstehst, stimmt das so nicht unbedingt ganz. In C++ ist die Standardbibliothek sehr eng mit der Sprache verknüpft. Sprachelemente wie typeid oder nun initializer lists, ja sogar sizeof oder spezielle Formen von new sind direkt von der Standardbibliothek abhängig.
Wenn man es genau nimmt, kommt ein Betriebssystem wirklich nicht ohne Assembler aus. Spätestens wenn man gezielt auf ein (Status-)Register zugreifen will, fehlt eigentlich jeder höhere Programmiersprache ein Sprachmechanismus dafür.
Je nachdem was du unter STL verstehst, stimmt das so nicht unbedingt ganz. In C++ ist die Standardbibliothek sehr eng mit der Sprache verknüpft. Sprachelemente wie typeid oder nun initializer lists, ja sogar sizeof oder spezielle Formen von new sind direkt von der Standardbibliothek abhängig.
Initializer lists und sizeof werden vom Compiler eigentlich schon soweit aufgelöst, dass sie ohne irgendwelche Laufzeitunterstützung verwendet werden können. Aber RTTI, Exceptions und jede Form von new sind definitiv Sprachfeatures die nicht ohne Laufzeitunterstützung laufen.
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Prinzipiell hast du da recht, allerdings ist es aber wohl trotzdem nicht wirklich möglich/sinnvoll, ein OS wirklich zu 100% in C# zu schreiben. Microsoft hat das mit Singularity ja sogar schon versucht. Und Singularity ist zwar großteils in einem entsprechend dafür entwickelten C# Dialekt geschrieben, verwendet ganz unten allerdings C++ und ein bisschen Assembler.
Im IRC Channel von SpPro hat jemand eins gemacht. Mir fällt nur sein Name nicht mehr ein. Die Jungs haben einen eigenen nativen Compiler für C# geschrieben.
Praktikabel und State-of-the-Art ist es ganz sicher nicht. Es geht aber, eben weil C# ja erst mal nur eine Sprache ist.
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Zitat von »dot«
Wie gesagt, prinzipiell ist es wohl theoretisch möglich, sinnvoll ist es aber wahrscheinlich nicht...
Werbeanzeige