This is a list of interesting links I collected with the goal of learning javascript.
Why
- JavaScript: The World’s Most Misunderstood Programming Language by Douglas Crockford
Despite its popularity, few know that JavaScript is a very nice dynamic object-oriented general-purpose programming language. How can this be a secret? Why is this language so misunderstood? - Why JavaScript Is The Next (or first) Programming Language You Should Learn (Aug 04, 2014)
I’ve been asked a few times recently what programming language I’d learn if I was just starting out. Right now, the answer is definitely JavaScript, and here’s why. - It is time to learn Javascript (June 22, 2014)
JavaScript is having a great year. With the continuation of web development, Node.js, and even Apple adding JavaScript as a replacement for their AppleScript.
You may be waiting until you have to learn JavaScript, but maybe you should learn JavaScript to make you a better developer. - Software Engineers should all learn JavaScript.
As Software engineers, we often use JavaScript. But let’s face it, JavaScript is like that thing you have had to use to show someone how to consume your API, use your RESTful Service, or to put a front end on your beautiful algorithm. Being primarily a client side tool, with a browser and UI focus, we can’t be fully faulted for not really knowing it that well, after all we are busy writing algorithms, services and such. Also, JavaScript hasn’t exactly seemed very stable with a new framework popping up every week; who can keep up? A while back I decided to challenge that thinking and made serious effort to not just use JavaScript in passing, but to learn it properly, while using JavaScript all the time. If you’re reading this, it’s probably because you’re trying to make a change and learn JavaScript yourself.
How
- A JavaScript survival guide (July 14, 2014) by Axel Rauschmayer
Are you a programmer who is considering learning JavaScript, but unsure whether it is worth the pain? Then this blog post is for you: I argue that it is worth it and give tips for surviving the language. - Basic JavaScript for the impatient programmer (Jun 22, 2013) by Axel Rauschmayer
This blog post enables you to get started with JavaScript as quickly as possible – if you already know how to program. It describes the smallest subset of the language that allows you to be productive. I call that subset “Basic JavaScript” and recommend to program in it for a while, before moving on to more details and advanced topics. Learning everything at once is too confusing. The post concludes with tips for what to learn next.
This blog post has become a chapter in the book “Speaking JavaScript”. You can read it here: “Basic JavaScript”. - Understanding module.exports and exports in Node.js - As developers, we often face situations where we need to use unfamiliar code. A question will arise during these moments. How much time should I invest in understanding the code that I’m about to use? A typical answer is learn enough to start coding; then explore that topic further when time permits. Well, the time has come to gain a better understanding of module.exports and exports in Node.js. Here’s what I have learned.
- 10 Most Common JavaScript Mistakes (July 7, 2014)
At first blush, JavaScript may seem quite simple. And indeed, to build basic JavaScript functionality into a web page is a fairly straightforward task for any experienced software developer, even if they’re new to JavaScript. Yet the language is significantly more nuanced, powerful, and complex than one would initially be lead to believe. Indeed, many of JavaScript’s subtleties lead to a number of common mistakes – 10 of which we discuss here – that are important to be aware of and avoid in one’s quest to become a master JavaScript developer. - Chapter 26. A Meta Code Style Guide - JavaScript has many great style guides. Thus, there is no need to write yet another one. Instead, this chapter describes meta style rules and surveys existing style guides and established best practices. It also mentions practices I like that are more controversial. The idea is to complement existing style guides rather than to replace them.
- Object-oriented JavaScript for C# Developers (Aug 20, 2014) byJaime González
Through the last couple of years I have been working on improving my JavaScript-Fu. From looking down at JavaScript with contempt, I have come to love the language and its little idiosyncrasies. In this article, I will attempt to write the article I would have loved to read, the first time I set my mind to re-learn JavaScript the proper way. - Top 10 JavaScript traps for a C# developer (May 27, 2014)
If you are an experienced C# developer, coming into JavaScript world for application development, you will end up making few common mistakes. However some of the mistakes you would make are due to the basic differences between any strongly typed language [C#, Java etc.] and a dynamically typed language [JavaScript, Python etc]. - Avoiding anonymous JavaScript functions (Jan 19, 2014 ) - Anonymous functions, the art of the callback. I’m going to propose that you never write a callback again using an anonymous function, and I’ll sell you the idea now.
Theory
- Prototype-based programming - Prototype-based programming is a style of object-oriented programming in which behaviour reuse (known as inheritance) is performed via a process of cloning existing objects that serve as prototypes. This model can also be known as prototypal, prototype-oriented, classless, or instance-based programming. Delegation is the language feature that supports prototype-based programming.
- Prototypal inheritance - In most languages, there are classes and objects. Classes inherit from other classes. In JavaScript, the inheritance is prototype-based. That means that there are no classes. Instead, an object inherits from another object.
- Don’t Be Scared Of Functional Programming (July 2, 2014)
Functional programming is the mustachioed hipster of programming paradigms. Originally relegated to the annals of computer science academia, functional programming has had a recent renaissance that is due largely to its utility in distributed systems (and probably also because “pure” functional languages like Haskell are difficult to grasp, which gives them a certain cachet). - Understand JavaScript Closures With Ease (Feb 2, 2013)
Closures are lovely and reliably serviceable: They allow programmers to program creatively, expressively, and concisely. They are used frequently in JavaScript and, no matter your JavaScript skill level, you will no doubt encounter them. Sure, closures might appear complex and beyond your scope, but after reading this article, closures will be much more easily understood and more appealing for usage in your everyday JavaScript programming. - Understand JavaScript Callback Functions and Use Them (March 4, 2013)
In JavaScript, functions are first-class objects, which means functions can be used in a first-class manner like objects, since they are in fact objects themselves: They can be “stored in variables, passed as arguments to functions, created within functions, and returned from functions” First Class definition.
Because functions are first-class objects, we can use callback functions in JavaScript. In the rest of this article we will learn everything about callback functions. Callback functions are probably the most widely used functional programming technique in JavaScript, and they are literally in just about every piece of JavaScript and jQuery code, yet they are a mystery to many JavaScript developers. You will know how to use them after reading this article. - Understanding JavaScript Callbacks (2013)
When I got started working with Node.js and Express, one of the first things I had to really wrap my head around was JavaScript callbacks. This is a powerful functionality built into the language that allows you to defer action until a desired event occurs, while proceeding on with other activities. - Learning JavaScript Design Patterns
Design patterns also provide us a common vocabulary to describe solutions. This can be significantly simpler than describing syntax and semantics when we’re attempting to convey a way of structuring a solution in code form to others.
In this book we will explore applying both classical and modern design patterns to the JavaScript programming language.