I wrote a small library in Python for handling the xbox 360\'s STFS files to be
ID: 643250 • Letter: I
Question
I wrote a small library in Python for handling the xbox 360's STFS files to be used on my web applications. I would like to rewrite it for use in the many desktop programs people are writing for 360 game modding, but I'm not quite if I should continue using C# or delve into C++ or even C.
STFS is an in-file file system used by the xbox 360 and the job of the library would be extracting/injecting files, which could take noticeable amounts of time to do. What I know in C# comes from internet tutorials and resources, as would anything I learn about C++, so what I'm asking is if it's better to bring myself to a slightly lower-level language without knowing beforehand the features of the language that increase performance, or continue assuming that compiler optimizations and that my lack of experience will mean that the language I choose won't matter.
Explanation / Answer
The advantage of C# over C++ is the speed and momentum in development (unless you're one of the very few C++ gurus, who can claim to do competitive RAD in C++ and not hurt themselves in the process; but then again good luck finding teammates who can reasonably claim the same thing). Compiler optimizations won't help you code faster, and with fewer errors, especially coming from a Python background.
You can tweak your performance if it is really an issue, by writing critical portions of code in C++/CLI, or even C with PInvoke, but - if you're in the Microsoft world - there will usually be a place for C# code high up on your stack, while C/C++ may be completely absent in some solutions. Therefore, perhaps you should start with C#, and complement with C++, not viceversa.