After some years (one year seriously) since I started to learn programming I decided to try to give you some tips and explain you where to start to become a programmer. I must say that I'm not an advanced programmer yet and there may be some points that can be improved, after all, I only want to share with you the way I followed so far.
There will be many questions that you may ask during all the way until you become a programmer such as: "What's the point?", "LOL, why am I using this?", "Wouldn't be easier using this...?" or "Where do I start?". And is this last question the one that you may be asking right now and it's the one I'm solving in this post.
When I asked this question for the first time I was intended to make a videogame. The first thing I did was to download Microsoft XNA and... well, head for adventure! I started to learn C# reading its documentation and I did a very simple space invaders. I left the project because it became heavy and I started with Game Maker. I think it was a great decision. With Game Maker I didn't learn any language but I learnt their logic, and, to start, it's the best you can learn. I spent 2 years more or less developing some casual games in GM, but nothing serious.
Then, in 2013, when I understood and I was familiar with the programming logic, I decided it was the moment to learn a programming language. That was the moment I asked the question "where do I start?". So, I thought: "If I want to learn something first I need to know how many options there are and which is the best one.". Then I searched with what programming language should I start and I found "Python" due to its possibilities and powerful. At that moment I asked again the same question but this time I didn't know the answer. I had the luck that one friend sent me an online course where later, I learned HTML, CSS, and a little of JAVASCRIPT.
Okay, maybe my story is not useful at all but I think it's interesting to know the way that has followed other people like me. I'll focus in this last part because the answer to the question is in it. Anyway, I want to emphasize the 2 years spent on Game Maker.
If you are beginners and you don't know nothing about programming nor logic I strongly recommend you to start by developing some games or apps with environment developing applications like Game Maker, if you want to develop games, or App inventor, if you prefer to develop on android. Here you have the download links:
- Game Maker: http://www.yoyogames.com/studio
- App Inventor: http://www.appinventor.org/
Those applications let you program without using a programming language. Is like making puzzles and... It's funny!
Remember that it's provisional until you familiarize with programming logics.
After being familiar with programming logics, the next thing you can do is to learn doing an online course but first you have to choose a language. Which one you should choose depends on what you want to do, so here you have some options.
- "I want to develop videogames": Okay, you would like to learn C#, it's a language used in many game engines similar to JAVA.
- "I want to develop mobile apps": Then, you would like to learn JAVA, and as I said, it's similar to C#.
- "I want to develop websites": Sure, it's easier than you think. You have to learn HTML and CSS, each are very easy languages.
- "I don't care (or I don't know yet), i want to program": Well, then I recommend you python, as I told on my story, it's a powerful language and it's useful for many things.
The next step is to look for a course of the language you choose. Here I leave you some recommendations of which courses you can do.
- For C# you can start watching this course: https://www.youtube.com/playlist?list=PL7rVTwUzzPyJs6bfjFYRSVzOs_nnWuUqy
- For JAVA I highly recommend you to follow this (it's a course about android development but they teach XML and JAVA): https://www.udacity.com/course/android-development-for-beginners--ud837
- For python I recommend you codecademy.com
Completing some of this courses will make you able to start your adventure and start any project you have in mind. But you have to keep in mind this: those courses only teach you the basics, to learn more the best way is by doing your own projects and searching for what you don't know/you need.
Another thing you should know is that when you know a language you can easily learn a new one. So, don't care if your election was wrong, you will be able to learn a new language faster ;).
And nothing more, I think that I cleared your doubts. If not, you can contact us on twitter (@inphyxstudios or via email contact@inphyx.com). Feel free to leave your opinion!
- Sergi [Atenrev: @AtenrevCode]