Just Javascript
Besides being an amazing program, Dan's take on JavaScript is also a masterpiece from an educational standpoint. It ultimately represents what education should be all about: generating new ideas, challenging the mind, and helping you acquire novel points of view.
For the last month or so I’ve been following along with the Just JavaScript course — Dan Abramov’s email series about JavaScript.
Dan’s involvement and relevance within the community grant him plenty of trust and credibility. Besides, I ultimately decided to enroll because I expected a unique take on JavaScript. Something I wouldn’t get from fundamental books — a “meta” view of the language.
Just JavaScript is my distilled mental model of how JavaScript works
After having devoured three emails, I must say, the course has exceeded my, already high, expectations and surprised me in ways I didn’t anticipate.
I’m not a JavaScript expert. On the contrary, I’m fairly new to the language. I recently transitioned to a web developer role coming from product management, and always since felt I missed the foundation — which has awarded me with a large dose of impostor syndrome. I have a little bit of experience working with frameworks, such as React, true that, but never faced the plain, vanilla side of JavaScript. In short, I lack the basics.
Coming back to Dan’s email series, I’d not dare to comment nor criticize the content from a technical standpoint. I haven’t earned, not even close, the experience or knowledge to formulate such claims. Even less to Dan’s work, which I deeply appreciate and respect.
However, from an educational outlook, the content is extremely rich and instructive in a very novel way. It offers a unique viewpoint that I had never encountered in other educational programs or books.
It challenges the mind and bestows a singular insight, a meta-view, of the language. It reveals JavaScript from a perspective I had never thought about, but most importantly, it helps understand how the language “works” from the inside-out. It is like arguing programming from first principles.
Yet it goes further than that. Its most surprising “feature” is the direct applicability to one’s daily work. I didn’t see that coming.
More often than not, I catch myself stringing lines of code without thinking, or “truly” acknowledging, what they mean, or do. But when it comes to coding, I’ve come to realize is that “each line counts” more than we think. With each line comes a lot of responsibility, because it will end up determining how something works.
I wasn’t paying attention. In general, not just with coding, we navigate the world riding on top of a huge abstraction we’ve made for ourselves. An abstraction we’ve built from experience during our entire lifetime. Relentlessly crafted by each interaction with our biased view of the world.
That’s how we assume the world behaves, but that’s not how the world truly works. In the same way, Newton’s laws give us a simple framework to think of mechanics and understand the world. One that works most of the time, but fails miserably when we push it against the edge cases of reality.
I never thought about coding like this before. I had assumed so much about how some piece of code behaved but failed to understand how it ultimately worked. As much as I like to reason by first principles in other areas of life, this one felt through the cracks.
This is what Just JavaScript, I found, is all about — unveiling the true nature of the language. In Anaïs Nin’s parlance, teaching us to see.
We don’t see things as they are, we see them as we are.
This is the ultimate value and what education should be about. Generating new ideas, challenging the mind, and helping acquire novel points of view. Not just absorbing knowledge for the sake of learning.
And finally, this is what Just JavaScript brilliantly achieves with its unadorned approach to the language’s first principles — a simple reason that, in itself, makes the course worth each minute you spend with it.