I’ve spent the last 6 years as a software developer and have spent time working with many different programming languages for different products and programs I’ve developed. These projects have ranged from data processing to web development to 3D rendering. I’ve learned that there are many different ways to do little different jobs using any number of languages.
As I’ve spent time with MBA students and Marketing folks over the last two years I’ve seen way too many people spending hours doing things in excel that would take only a few minutes using a modern programming language. I’d doing my best to advocate picking up a few more programming skills to help these poor guys out. Consider the following:
Criterion to consider when selecting a programming language.
- How well you know the language
- Access to an expert or mentor
- Availability of training material
- Availability of useful libraries
- Ubiquitousness of the language
- Quality of Integrated Development Environment (IDE)
- Ease of debugging
- Ease of building a user interface
Now, Why C#?
Considering the above options, and based on my experience, I’m a huge fan of C#. I know there are a lot of Microsoft haters out there who would disagree, but give me a moment here. There is so much good stuff about it:
- Easy to pick up - The syntax for C# semantically makes sense. It is very modern and you don’t have to mess with some of the trickier syntax you find in C++ or other (shudder…) older languages. It has automatic memory management which just leaves a lot less to worry about as you are coding stuff up! If you are looking to do some basic computing, you can pick this up pretty quick.
- Visual Studio Rocks! – C# sits in one of the best IDE’s I’ve found, Visual Studio (You can download Visual Studio 2013 Express for free). It’s debugger is unmatched. If you are writing tricky algorithms or processing data this is a huge advantage over languages like PHP or other web languages and will really streamline your coding. Its super easy to build a UI in a Windows Form builder as well.
- Good training material – StackOverflow (and the internet in general) is replete with tips and tutorials for fixing this and that. It pretty much usually never lets me down.
- Library Availability - Lots and lots of good stuff. Just take a look around.
So… consider it. Download Visual Studio 2013. Start a new C# console (or windows form) project. Put some code inside of main(), do something with it.
Learning how to program increases your potential and utility as it essentially allows you as a human to harness the power of one of man’s greatest tools, the computer.