Hey, guys. My name is Gabe. I've decided that I am going to contribute and interact more with the programming community, and blogging is going to be one of the ways that I will be doing that I'll start out trying to remember to post at least once per month, and maybe move forwards from that. I'm also going to try to contribute to open source projects and see how that works out. Ok, now a little bit about me...
The first time that I actually became (even slightly) interested in programming was when I was around the age 0f 13, playing Minecraft with a few of my friends, and I decided that I wanted to host my own server, with custom plugins. After doing some research, I found out that to get our own plugins, we would have to pay a developer to custom make them for us, and none of us could afford that, so we looked into what it would take to make our own. It turned out that someone needed to learn Java, and then the bukkit API, and I was the best with computers, so I looked into that. I, not having any programming background at all looked straight into how to develop plugins. Of course, I understood little to none of this, as everything required at least basic knowledge of Java, so after a few weeks of learning nothing, I gave up, but still retained a decent interest in programming.
The thing that really got me started was actually a school project. At my school, every Grade 8 class had the opportunity to work on a project that interested them. For reasons that I'm not going to get into, my class ended up waiting until Grade 9 for us to actually do this. This, I realized, was the perfect opportunity to learn how to program, and build a computer. I started out by watching some free tutorials on Udemy about Java. I started out fine, watching a few each week, but after a few weeks, I got pretty bored. I wasn't enjoying it at all, which was one of the main objectives of the project. The instructor wasn't engaging at all, and I didn't like his teaching style either. I was needing something else. That's when I found Codecademy. I started working on their Python course, and it was much more enjoyable than the Udemy course that I had previously tried to learn from. I completed that and soon had to find a final project that would show what I've learned. I made a simple program that would interact with the Twitter API, and post, delete, and read recent tweets. I was quite happy with this and was hooked.
After my project's success, I went on to the next course on Codecademy's recommended path: web development (HTML, CSS, JS, jQuery, PHP, and Bootstrap). I blew through this and enjoyed it immensely. I made my own website and wanted to make websites for others. One of my friends actually let me make his website, and I am quite happy with the result (check it out here).
Next, I wanted to learn Ruby, mainly for its Rails web framework. I took and completed the course on Codecademy, and enjoyed the language a lot more than I thought I would, and decided to work in that for a while. That was great fun.
After a bunch of playing around with Ruby, I realized that you really couldn't make a full on app with that. I tried the shoes framework and liked it's simplicity, but I wished for more customizability and power.
I started to get into C and C++ and was moderately interested. I got to know a bunch of useful things about those languages but was looking for something else. I remembered a bunch of people telling me that C# was 'where it's at' with modern app development, so I found a good course on Udemy and progressed from there. It's been about 3 days since I started the course, and I've completed almost 110 lectures in it and made a better than ever version of my snow reporter app. I still plan on constantly improving that, and will continue to update you on how I progress in the world of programming!
If anyone made it to the bottom here, I really appreciate that. I know this was a long post, and hope that by putting it out there, people can see how I got into programming, and why I enjoy it so much. I hope to remember to post here a least once per month, so you should hear from me relatively soon!
Thanks for reading, and have a great rest of your day.
~ Gabe (redxtech).
Single Responsibility Principle (or SRP) is one of the most important concepts in software development. The main idea of this concept is: all pieces of software must have only a single responsibility.