Use arrow keys to navigate

You know that feeling. You’ve been meaning to take action for a while. You’ve a great idea and an inkling to to make the next Snapchat. But how? It’s super hard to code right?  Not completely true. What better a time to start learning than 2015!

Coding is a serious business and it’s not easy. There’s no doubt about that, I assure you. Programmers oftentimes encounter vicious bugs and errors which take hours, if not days to overcome. The first step in your journey is to learn patience. If you already have that, excellent!

Jobs in the computer industry are constantly growing. In fact, there’s a high demand for software developers. Projections estimate that the demand will be 30% higher by 2020.

Coding comes natural to some and not so natural to others. If you fall in the latter category, where most do, then understand that you’ll just have to work harder.

Now, it’s time to crack open the books. “Where do I start,” is a common question among beginners. The world of code oftentimes seems rather daunting to beginners. Many people see the complex syntax of advanced programming languages and lose their determination.  It’s actually easier than most people make it out to be.

Coding

There are various subdivisions of computer languages. There are markup languages, scripting languages, and programming languages. Markup languages typically considered the easiest languages (they include HTML, CSS, XML, and others). Scripting languages such as JavaScript and Perl are more advanced than Markup languages, often requiring “computer logic.” A programming language is typically the most complex computer language. Examples include the C language, C++, Objective-C, and Java.

With that knowledge, you can likely assume where to begin. Markup languages are the easiest to learn by far and are strongly recommended for beginners. So if you’re brand new, it is highly recommended that you being with HTML and CSS. Not only will you find this easier than a programming language, but you will be able to apply your skills much quicker than when learning a programming language.

Once you have HTML and CSS down, it is highly recommended that you put your skills to work (i.e. build a website from scratch). Learning without trying is no fun at all! Not only will this be a challenge but it will force you to search the web for answers to your problem and give you real-world experience.

Next, I recommend learning a scripting language. Javascript is an easier scripting language in comparison with others out there. If you learn Javascript, you can not only add functionality to your website, but run and maintain servers (with Node.JS), and even write mobile apps (with PhoneGap).

“But I want write apps!” That’s a common statement among beginners. “How long will it take?” Well, writing your first app is an incredible experience and teaches countless techniques. But how do you get there?

As discussed earlier, you could write a mobile app in JavaScript, but it is always best to build apps in their native language so as to gain access to the latest features, hardware functionality, etc. This is where programming languages come in. To write iOS apps (apps for Apple devices), you’ll need to learn a language called Objective-C.  To write Android apps, Java is the language to learn.

If you want to become an iOS developer, then it’s best to start with the Objective-C. The C language was designed by Dennis Ritchie in 1972. It previously was the go to language for all programmers, and according to the TIOBE index of the most popular programming languages, it ranked number one in December of 2013.

Objective-C is a superset of C, meaning that all C’s functionalities will work in Objective-C. Not only does learning C give you a better understanding of Objective-C, but it will make learning other computer languages easier as many are derived from C. Learning C will be a bit confusing at first, but if you stick to it, you’ll understand it and eventually get better.

Android developers write Java for their apps. Java is either a language you love or hate — you’ll have to decide for yourself. Learning Java isn’t easy (as with C and Objective-C), but it can be rewarding. Java is used in Applets (small applications on the web), Enterprises, and, of course, various applications.

Now that you’re armed with a plan you’re likely asking, “What do I use to learn?” Learning a computer language, even markup languages (HTML and CSS), can be rough without the right materials.  It’s best to start off with a book or two on HTML and CSS. I’ve found three book publishers over the years to be best for computer languages: Wiley, O’Reilly, and Pearson.

I’m a big fan of Jon Duckett’s HTML and CSS book as it makes learning code a visual experience. O’Reilly, an industry standard book publisher, is known for their wide variety of topics. If there’s a language you want to learn, chances are that O’Reilly has you covered. Pearson, too, is an excellent publisher. I especially liked their Programming in Objective-C 2.0 book as it gradually exposes readers to advanced topics.

treehouse[1]

But don’t limit yourself to just books. In my experience, I’ve found Tuts+ and TeamTreehouse to be of immense value, however they do cost a monthly fee to join. Codecademy is also a great resource worth checking out. I feel that by watching tutorial videos, reading books and online articles can help you gain an immense amount of knowledge.

Coding is a challenge and it always has been. There will be times when you want to bang your head against the wall and quit – it just happens. Nevertheless, staying dedicated to your goal is vital. If you’re a complete beginner who has never written a line of code before, don’t expect to create the next Angry Birds this year. However with time, practice, and experience, you could make the next Snapchat – it’s the idea that counts.

Good luck!

Use arrow keys to navigate

Posted by Gregg Mojica

I'm an iOS developer and author of two books. I'm the founder of Infinity Apps, a development company and we're currently working on some exciting new products. My website is InfinityApps.org.

Leave a reply

Your email address will not be published. Required fields are marked *