That’s what obfuscators like Dotfuscator are for. Try decompiling an assembly that has gone through that, I’d say. Given the direction of this discussion I guess I’ll just put in a shameless .NET plug here. 
Windows Vista, Oh no!. O Yes! C/C++ Dilema
Thank you for your nice explanations.
Yeah, 100% agree, accurate response.
why did I say that you all should talk with explanation and reasons, was because many people think they should forget some languages like C++ completely after seeing your answers and they think it is useless and superseded after vista and 64-bit (Like 20 of my friends).
So please dont worry, some of us are here to improve our knowledge or to teach something to others that dont know. These are very helpful discussions, I appreciate that you have participated.
Come on, Indeed if we use linux on PS3 it is not a gaming console, it is a desktop PC. You know it is different from Ps3 titles.
I appreciate it, Very clear and reasonable answers except of one thing that you mentioned below, I cant understand, could you explain it for me, please:
-
Is it 100% safe and trusted like what we have in windows?
-
Are all things supported?
-
If so, why dont many new or famous companies use that for their Linux Apps? Will they? Probably there are lots of problems that many companies dont use it. Whats the problem?
-
They told that Microsoft isnt helping Novell with this project, so how are they doing that?
At the end, I wish to see .NET can be installed by Microsoft on all platforms in future (include PS, Linux, Mac), then we will have a nice world for programming. (I wish
)
Indeed. C++ isn’t going away anytime soon, infact i doubt it’ll disappear for a very long time indeed. Whether .NET is taken seriously for console development remains to be seen. I somehow doubt that Sony would get behind a C# toolset for the PS4…
Everything is suported in mono, since it adheres to the C# iso spec. Where things get patchy is when you start looking at the classes in the Microsoft (ie, DirectX) and System.Windows namespaces (ie, the windows registry). Since these classes are very much windows specific, they are not covered in the ISO spec. Some things are supported and work well, basic widgets and windows forms for example, however caution is advisable when using those classes. The tao project does however include very reliable and easy to use cross platform dll’s for OpenAL, OpenGL, SDL, Ode, DevIL, glfw, cg and glut - which can be used instead of DirectX. Gtk# also exists if you want to use cross platform GUI without using System.Windows.Forms.
The only area that can be a bit wierd, is the managed C++ side of things. Managed C++ isn’t really supported as a language by mono. Mono has the restriction that if you use any C runtime classes in your managed C++ dll’s, then it will not run on linux or mac. In all honesty though, that’s the same as all C++ code as we well know. The process of binding unmanaged C++ into mono is different to Managed C++. There is however a nice easy solution, just ignore the MS implimentation and use mono for the windows build …
Havok are using it to write their dev tools at the moment - however i wouldn’t expect to see app’s like Maya being converted into C# anytime soon, to do so would simply be far too much effort for no net gain (it already is cross platform in C++ - if it ain’t broke, dont fix it…).
That’s a bit like saying Microsoft isn’t helping to write gcc, so how can it compile C++ code? If a language has an Iso spec, you have pretty much know everything you need to write a compiler for it.
Mono already works on Linux & Mac! There is a nice world for programming out there already… 
C++ definately isn’t going anywhere, and for any serious development you will still be using C++ for portions of the code. Adding C# into the mix just makes you more productive.
Nice article.
And that’s exactly it. The area of software development has gradually, and is still increasingly, moving towards getting things quicker to the market (or an internal user base) and with every development hour having a certain cost associated with it, it is only logical to move to a development platform that supports the business aspects while not sacrificing the technical aspects.
Development of software is more demanding than in the past because of increased demands from users, increased demands for having software interface with or be compatible with certain things users expect. Wether that’s a style of UI or a form of network access, it puts more demand on the entire feature set of a piece of software. The more of these little things as well as larger things a developer has to take care of, the more time is spent, the more it will cost. Minimizing that time and cost is where most of software development is headed and development platforms like .NET and C# facilitate that a lot more than if one would have to do it all in a more traditional way.
I’m currently looking into a company that has asked me to evaluate the cost factors involved in a decision between overseas outsourcing of Win32/C++ based development vs. keeping all development local to the company and moving towards .NET/C#. While each individual case would be different, this one is showing signs that both options will end up within the same budgetary frame. In that case the additive value of using existing staff on location should be a determining factor in the decision making process. While it’s nice in a purist kind-of way that people would rather stick to C++ (or assembler) all the way, it’s also nice to see how jobs can be saved by moving along with the times. Of course in this case I’m looking at there is no provision for outsourcing C# development… that would most definitely skew the picture. 
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.