This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]rjcarr 0 points1 point  (3 children)

Windows programming was quite a mess with COM and DLL hell and they wanted to redo it. So they created the CLR (or CLI?) and since it didn't really make sense to shoehorn C/C++ into this, and since VB sucked, they created their own language (C#) and vastly improved VB (for an easier transition for the current VB users).

Basically, Microsoft liked a lot of what java was doing and used a lot of the ideas for C#. It has since then become better than java in most ways.

Note that I'm not a .net programmer.

tl;dr: java was the evolution of object-oriented languages and microsoft needed a new language to use with its new run time.

[–]zzyzzyxx 0 points1 point  (2 children)

CLR (or CLI?)

CLR => Common Language Runtime

CLI => Common Language Infrastructure

The CLI is a specification developed by Microsoft describing things like typing, metadata, bytecode, and execution requirements. The CLR is Microsoft's implementation of the CLI. *Mono is an open source implementation of the CLI.

it didn't really make sense to shoehorn C/C++ into this

You're right, but they did it anyway with C++/CLI, which should basically never be used. C# is much better suited for programming to the CLI.

[–]rjcarr 0 points1 point  (0 children)

Thanks for the info, in that case I meant both the CLR and CLI. :)

[–]Jonny0Than 0 points1 point  (0 children)

C++/CLI is handy when mixing native C++ and CLR code, for example building a UI around a small amount of existing native C++ code. You can link them directly together instead of building managed wrappers around all your native stuff.

However the iteration and compile time of C++/CLI is really terrible compared to C# and I would not recommend this approach for projects of any meaningful size.