Learning any language in itself is never an easy thing to do. Why? Well first the question that is always asked is "where do I begin?" I know that was the case with me. Programming languages are no different. No worries though, I'm going to dive into my approach on how I went to learning the language javascript and what ways I used from the beginning to seeing final results through the process.Before getting into the functionality of how I am learning the programming language javascript I always like to breakdown what something is. This enables me to get the basic, or general understanding of a thing. Think of it as the overall picture. Go big then small.
First and foremost javascript is a programming language for the web. What this means is, just like us, as humans need to a way to communicate to each other, computers are no different. Computers are speak in very specific language and the vocabulary for its language is called syntax.If the syntax is wrong the computer will not understand what your trying to do. Also computer languages are very specific, so if you misspelled something the computer will not recognize it. As well as if there is to be a space in between two words, again it will not be recognized.Not only is javascript a programming language for the web but this helps to create interactivity to a web page. So the difference between the three web programming languages are HTML is the foundation, or content, CSS is the design, and Javascript is functionality. That is why javascript is known as a functional programming language, we'll get into that a little more later.What functionality means in this aspect is when someone clicks on a button within a page or presses a specific button, if javascript has been added to that element it will trigger a function to do something specific. Thus adding interactivity.Javascript is used and seen on every site you come encounter with. From Facebook, to Google, to your email, and can even games you play online. Javascript is so versatile it gives the programmer a wide range of options to choose from what they want to do.So know that you know a little bit more about what javascript is and what it can do, let's go over some the things you should know that I found important to begin your journey into Javascript.
There is a law that states the minority of your effort leads to the majority of your results. In other words 20% of your effort results in the 80% of your work. This is known as the Pareto principle.As I began my journey as a front end web developer I decided I wanted to make javascript my primary programming language. My journey began with taking courses online with team treehouse and when I first encountered javascript I must say it wasn't easy to understand at first. Yet with the idea of the Pareto principle I was looking for my 20%.I was struggling trying to get some of the basic concepts and when we got to loops, it literally threw me into a loop, pun intended.Fortunately, I already decided I wanted to learn this language and I wasn't going to let my incomprehension stop or hinder me from learning this program. When I usually don't understand something I will repeat it until it sticks, but this time I took a different approach.I knew I wanted to start investing in some books on the languages I was learning so I bought this book called "javascript for kids". I thought to myself if they are able to break it down into a kid format I will be able to get more understanding.So I know along with my determination and a format that delivers it in a simple and digestible way. I was getting closer to my goals. This was it! This book was able to breakdown the core concepts of how javascript is written and I was able to lay out a plan of what I needed to study to get a grasp of the language.I boiled the fundamentals down into 6 categories:
Once you get a handle on these basic fundamentals, also known as the vital few, One has a much easier time working with javascript . Of course there is so much more levels to javascript like JSON and AJAX, but if you understand how to properly loop through, another pun intended, each of these fundamentals, it will be easier for you to recognize the syntax of more advance functions and object notation.
Here is where the rubber meets the road. This is where I had to learn how to implement what I was learning into tangible projects. In order for you to gain understanding what your learning it boils down to one thing.
The best way to learn these key concepts is you have to play around and practice using them in some way. Best if they were fun side projects. The more you use them the more you will be familiar with how they are used. This is where I messed up.I would watch the videos and read the books but when it came down to actually coding the program I found myself at a stand still. I had to question myself "do I really know this stuff?" In a sense it scared me because I thought did all the time I put in learning was a waste of time. Thankfully it was not. I gained the concepts theoretically and in a sense I had to start over. Meaning I started over implementing the knowledge. I would not only watch the tutorials but code along side them. I would practice each fundamentals not just once, but twice, and sometimes up to ten times to get a better grasp.I would complete simple things such as storing a value within a variable and then accessing that value to use with other variables. Along with repetitive practice I then tried to take on challenges within the books or videos I had.I'll admit, I did not figure out the answers to some of the challenges but after I watched it I would try to figure out why and how they went that way. Then I would go back and try to do it again without the answer. I did this so I can go through the process so I knew why I was doing what I was doing.This process took some time and I know some people are able to grasp things faster, but my process of learning is sometimes a little slower and I have to do things over a number of times in order for it to stick. Especially if its a harder concept, but I was determined.It is the sheer grit that knowing you want to accomplish something along with the deliberate practice of pushing yourself to learn this new thing that helps you get to the next level.So with that being said if you want to learn front end web development and create interactivity to your site then pick up some javascript. It may take some time to grasp but remember the Pareto principle and get your fundamentals down and begin to see that growing and developing will come easier.A little everyday goes a long way.If you want to learn where to get started you can check out these links or the goodies page on my site.Team TreehouseJavascript For Kids by Nick MorganJavascript and jQuery by Jon Duckett