JavaScript is a Language You Need to Learn

It’s been a while since my last post, the reason being is that I have been rather busy.  Between conferences, work, and family my “free time” has been rather limited.  When I have found some free time I spend it immersing my self in JavaScript.  Yes, JavaScript!  I have spent the past few years working with Flex and more specifically ActionScript, and only working with JavaScript when I needed too.

Many years ago I spent a great deal of time learning and developing with JavaScript.  I always found it to be frustrating, not because of the language itself but rather the browser environment.  Over the past couple of years some great libraries have been created to work past the issues found in various browsers, and browsers have improved their JavaScript engines quite a bit.

So why am I going back to JavaScript after all these years?  There are a few reasons.

1 – Reality.  The reality is that JavaScript is the language of the web, it is the lone language used in the browser environment that does not require a plugin.  If you are not skilled in JavaScript then you are going to have a lot of challenges on the web.

2 – Devices. Thanks to the explosion of smart phones and tablets people are viewing the web from more than just their desktop or laptop.  This paradigm shift has been a boon for JavaScript as many of the devices (e.g. Android, iOS, BlackBerry, Palm, etc) are leveraging modern browsers technologies.  WebKit is the dominating rendering engine for these devices and with that has been the improvement of the JavaScript engines.  Google’s V8 JavaScript engine is very efficient, fast, and opens the door to really leveraging the power of the JavaScript language.  The need for devices to have fast and efficient engines is driven by the need to be frugal with how much energy an application can use.  This approach has also helped improve the desktop and laptop environments as well.

3 – Server. Now JavaScript is starting to return to the server side thanks to projects like Node.  In the early days Netscape was using LiveScript on the server, but because of various reasons server side JavaScript did not take off.  Now things have changed.  People are realizing the benefit of using an Event based model across the stack.  The thoughts that JavaScript can only run on the browser are being shattered.  Node has taken JavaScript to a whole new level.  For instance, Coffee Script. Coffee Script is a language that is “Ruby like” in its look, but allows the developer to create “elegant” code that uses Node to compile to JavaScript and then be run in a web application.

4 – Slipping.  Yes, I was slipping.  My JavaScript skills were eroding and my confidence was declining.  As a professional I needed to fix this problem.  I am a front end engineer, most of the time, so I better be able to be at the expert level in JavaScript and not just Flex or ActionScript

So with that being said, why should you learn JavaScript?  There are a few reasons, some of them shallow and others are practical.

1 – JavaScript is the language of the web.  Period.  Learn how to properly use JavaScript and you will have a very powerful tool to create applications.

2 – There are not enough “knowledgable” JavaScript developers.  You want to learn a language that can be applied immediately in any company that builds web based applications.  There is a difference from hacking around with JavaScript to complete a task versus writing a JavaScript program that can solve a problem.  There are plenty of frameworks that people use without understanding the fundamentals of the language, which in turn allows them to code themselves into a corner.  Learn JavaScript and you will be miles ahead.

3 – Employment. I recently did a search on www.indeed.com, a tech job site, and found that there were over 36,000 job openings for the term “JavaScript Developer.”  I tried the following languages and received these results (numbers are approx):

  • Scala Developer - 375
  • Clojure Developer - 102
  • Rails Developer - 3,900
  • Ruby Developer - 6,759
  • Java Developer - 56,490
  • .net Developer -  41,894
  • Android Developer – 5,400
  • Flash Developer – 7,700
  • Flex Developer – 5,500
  • iOS Developer – 1,500
  • JavaScript Developer – 36,000

While this was not the most empirical of research it was quick enough for me to highlight the demand for people who can develop applications with JavaScript.  Furthermore the language ranks 11th on the TIOBE Software index .  Again, this is a quick scan of one site and a language index.  Hardly proof positive, but it does give you an idea of the popularity or need for the language.

4 – Security. If you don’t really know the language then you are very susceptible to writing “dangerous” code.  Dangerous code is code that can be exploited, or inefficient, or even consistently buggy.  Think of it this way.  You might be able to start up a welder and stick to pieces of metal together, but you sure don’t want to be building something of substance without the proper skills.

So take the time to actually learn JavaScript.  Don’t just leave it as a bullet item on your resume because you have “used” it when needed.  Have it as a highlight on your resume because you know the language and can apply it to solve complex problems.  Also, if you are hiring developers to work on your web applications then make sure they know the language and are not just a “framework” developer, the more they know the better off you will be.

So, as Douglas Crockford once said “man up and learn JavaScript!”

Resources to help you on your path:

One tip… If you ever use eval() you better stop and think.  If you don’t know why, then you need to spend the time to learn JavaScript.  I hope this helps you out.  Comments are always welcome.

 

 

Comments are closed.