Quote:
Originally Posted by rhyotte
Seems a bit Windows centric... would prefer a more neutral language, and easy Linux portability.
|
This is a common and understandable misconception. C# is just a programming language, and is not bound to any OS in particular. At work one team runs a C# server on embedded Linux
Unity uses C# running on Mono, which runs on Mac OSX, BSD, Linux and Windows ( and actually way more like iPhone and the PS3)
http://www.mono-project.com/What_is_Mono ).
The original implementation of the C# language runs on Microsoft's .Net, which *is* Windows bound. The Mono implementation does lack some of the libraries, but the parity is way better now than it was a few years ago. I ran their compatability tool versus some of our server code at work and there weren't any real issues at all.
I can write C++, but my day job is writing (pretty busy) servers in C#. It's much quicker to take a product to market with C# than C++, and there is a much bigger pool of C# developers to hire than C++ (at least here in the UK).
On the other hand, there's no point reinventing the wheel, and I would rather contribute to the C++ server than duplicate effort. Additionally, C++, when written correctly, has a much smaller footprint and better utilisation of resources - and a lot of the EQEmu servers are pretty low powered in the scheme of things (at least compared to corporate machines), so reducing a few CPU cycles and using less RAM *is* important.