Wednesday, 24 February 2016

Steps to Learn coding

So often we think that we can learn a new language spending half an hour a day over the course of a week. While this approach will eventually work, it's not nearly as effective as blocking out a day or two where you don't have anything else planned other than learning the language. Learning in large, uninterrupted chunks is the best way to really soak in the language.
Small learning sessions over the course of the week aren't that productive for learning a language, as a good portion of the time is spent just getting back up to speed on what you previously studied. The review itself can might take half of the time scheduled each day.
What may seems as "duh!" information on the surface, cheat sheets provide more in-depth value than just a reference. Cheat sheets are some of the most useful bits of information we can have at our disposal while learning a language. Cheat sheets are not only useful references, but they also give you a quick overview of patterns and commands that help define the language. Just by glancing at a cheat sheet, you can quickly pick up on the syntax of the language, which makes understanding the language easier down the road.
There are tons of resources out there for learning languages. Some will sit well with you, others won't. Gathering lots of information is a good way to take a "holistic" approach to learning, and one that will help you quickly identify writing styles and resources that you understand better than others. Finding a decent programming book is also a good idea, but many times if you're just trying to find beginning information about a language, your best bet is to hit Google and start collecting information. You might collect information like:
  • Tutorials
  • Tips posts
  • Best practices
... and any other material related to introductory topics.
As with anything on the Internet, you have to find reputable sources of information. Use highly-respected sites like O'ReillyIBM and, ahem, Nettuts, of course.
An excellent resource, though a little pricier, is a membership to O'Reilly's online "bookshelf", which gives you access to all of O'Reilly's excellent tutorials and books on a myriad of given programming topics.
One thing's for sure: You'll need to be relying on people who are considered 'experts' in the particular language you're learning. That way you can be sure you're learning best practices from the start, and not picking up any bad habits.
Too often people try to skim the information presented in the "getting started" documentation. I'm guilty of it too. I'll try and quickly skim the basics of the programming language, and hop straight to the tutorials and example applications. While tutorials are awesome aides in understanding the language, they don't prepare for expanding on the language like the basics do. You have to crawl before you can walk.
Re-read the information. Make sure the basics of the language are totally grasped before diving into working with an example. Understanding the basics inside and out allows you to learn quicker, as you have to have a solid foundation before you can start to build on these basics.
It makes sense that once you've done the gathering of materials, reading and understanding the basics, to dive right into piecing together a demo application. Yet, in order for proper learning to happen, you have to let the information marinate in your mind over the course of a few hours. Do something recreational, fun, or totally unrelated to let your mind subconsciously grapple with what it's learned.
A great practice is to take a day to learn the basics of the language, and then let the information seep in your head overnight, and start in on the demo applications the next day.
After you've completely gathered your information, spent adequate time learning the building blocks of the language and given plenty of time for the information, then it's time to start your demo application.
Most languages have a demo application that you can use to create something that works, in order to understand the basics of how to piece together an application. If you're trying to find try looking for easy applications that interface with a database, like a blog or todo lists. These types of applications allow you to catch what's different among other languages, and help you clue in on the nuances.
Learning how to fix bugs is an essential part to learning a new language. And you'll definitely run into some when you're new to the language. Some beginners throw in the towel when there are bugs in the code, and don't "struggle" enough with figuring out what's making the code fail.
Learning what you can't do is just as important as learning what you can do with a language.
Failing is an inevitable and helpful aspect of learning. Winston Churchill once said that "success is going from failure to failure without losing enthusiasm". Don't just give up on the language if you can't get it to work right out of the box. Hardly any language is ever that easy to learn. The next steps will give you aide if you're really and truly stuck.

No comments:

Post a Comment