When I started this blog years ago, my main goal was to take notes on what I was learning at the time. I wrote some instructions on Windows Networking, and later branched out to Joomla. Before I realized it, people found my casual blog posts to be useful and we started to reach an actual audience.
I have tried catering to this specific audience for a while. To be honest, it never really works out. I do my best work when I write unforced articles about topics that are relevant to me personally. Granted, they usually turn into useful tutorials for other people and that is great!
I am going to be launching a new “series” of articles like that, on a brand new topic: Programming in C#. After a decade of postponing it I am going to start developing code stuff, and I will be sharing my experiences with you along the way.
Why I start programming (in C#)
There are a few reasons why I want to start programming so late in my career. One of the main reasons is a frustration that always returns. The frustration that stems from looking for a specific solution, only to realize that nobody built it. This could be because my problem is too niche or because my solution for the problem is too “me-specific”. Either way, there are some problems I can’t tackle with existing tools.
Another reason is because I want to be more “creative” in my job. Given my circumstances and a complete lack of artistic talent, programming is a way for me to create things. One of my end goals is to be able to program a video game. This is a stretch goal, of course, because the road to get there is littered with Hello Worlds, apps for my mom to make a shopping list and other applications. And that’s great. I just want to keep an end goal in sight. A mountain top in the distance. A carrot I might never reach.
“But why C#, though,” says the seasoned Dev who’s been following this blog or Twitter nad swears by PHP or another programming language they deem to be superior.
Here’s the thing. There are a lot of different platforms I want to develop for. This goes from building small apps to talk to databases (Think Access but not Access), to web-side applications to iOS apps to apps for an Xbox One. I am interested in different platforms.
But I’m not interested in learning a lot of different languages. While I don’t struggle with remembering programming concepts I don’t do well in the “remembering syntax” department. Because of that I want to focus on a single language that I can reuse across a lot of platforms. And C# is that language. It can be used to build applications for pretty much every platform I’m interested in. Hell, it’s even capable of building apps for platforms I’m not interested in but of which I see the value (Android and Linux come to mind).
On top of that, C# has a good reputation when it comes to documentation and resources. And I don’t need to make investments in tools to get started. Just install Visual Studio, and start developing right away. No charges, no nothing.
I’m obviously a novice developer, so don’t expect me to write insightful articles on “best practices” or hope that I’ll help you setup your IDE (that’s nightmare territory and the reason I gave up on Apache Cordova).
But maybe you might be able to learn a thing or two from my journey into developing. Perhaps you’re just entertained by it and learn absolutely nothing (insert: “Like myself” joke here). Or maybe you won’t read any of the articles at all!
And that’s all fine. I’m just sharing my journey because taking notes helps me remember better and makes me feel more accountable. Having people read the posts is a nice little bonus.