C# is a object-oriented programming language developed by Microsoft in 2001, with the intention of being a modern, simple and easy to use programming language.
Ever since its creation many programmers have began using it for its ease of use, its similarity to C/C++ and because it dramatically speeds up development time for many programming projects.
Even still, many C and C++ programmers have refused to use it, with complaints of it being too slow, not allowing direct access to the computer’s hardware and being tied to Microsoft’s .NET framework.
In this article I’ll explain the pros and cons of using C# versus other programming languages and try to determine the fate of C# in the future.
Why Use C#?
C#’s main selling point (that is, if you actually had to buy it) is its ease of use and ability to speed up development time considerably. For example, if you were to code a calculator program for Windows with a fully working GUI it could take several hours to over a day with C++, however if you used C# to code the same program it would only take about 30 minutes. That is the power of C#.
C# accomplishes this by pre-writing all the boiler-plate code (the code that needs to be written before you start actually coding the program) for you so you can skip all the boring stuff and get straight into the fun of coding the actual program and seeing the results.
Another reason for C#’s speedy development time is because most every C# IDE comes with a GUI editor built-in. This lets you easily edit the GUI for your program with little programming involved.
Why Not Use C#?
I’ve already mentioned the 3 biggest reasons to not use C# earlier in this article but it’s worth further explanation as for why these reasons exist.
Since C# has to load it’s CLR(Common Language Infrastructure) and the .NET framework every time you run a C# program the program itself will load considerably slower than an equivalent C++ program for example. So, if the speed of the program out ways any other benefit C# brings then you’ll be much better off programming with C or C++.
Another big problem that C# has is the fact that you’re required to use Microsoft’s .NET framework. This means it’s a lot harder to port your program from Windows to another operating system. However, the advent of the Mono Project has made this considerably easier than it once was, now you can port almost any C# program you wish to both Linux and Mac OS.
As for C# not allowing direct access to the computer’s hardware, this could be considered both good and bad. Good because it means there’s less to worry about, you don’t have to worry about memory management as much and you don’t have to worry about messing anything up really bad on accident. It’s bad because you have a lot less flexibility with your programs and can’t optimize them for the hardware.
What is C#’s Future?
Considering it’s being developed and fully backed by Microsoft, I’d say it’ll be in wide use as long as Microsoft is around(A long time!).
There’s really no way to tell if it’ll ever become as popular as C/C++, but it is my firm belief that as computers become faster a lot of the downsides of C# wont be as problematic and we’ll undoubtedly see C# becomin