“If you can’t be with the one you love, love the one you’re with.”
JavaScript is the cockroach language of The Internet Age.
JavaScript’s a survivor… but NOT because it has always been good.
JavaScript survives because it was the first way anyone could create dynamic websites – thanks, Netscape Navigator!!! – and its privileged position within web browsers quickly became entrenched. No matter how good or bad Mocha, LiveScript, ECMAScript, er, JavaScript was, that’s what you had.
JavaScript tormented developers for many of its 30 years.
If you’re a younger developer, you may find my words harsh. You may even love JavaScript.
If so, you’ve likely never gone spelunking into the depths of JavaScript’s long evolutionary history.
Every year or two, the language changed… NOT by improving the existing language but by tossing a new, more developer-friendly layer atop the historical pile of mostly cruft.
Stratum after stratum of changes have piled up over three decades. When I look at my older JavaScript books, I feel like I’m on an archeological dig, sifting through layer after accumulated layer for something of value.
You can get by reasonably well in modern JavaScript being largely ignorant of the mountain of cruft underlying modern JavaScript.
I’ve interviewed quite a few frontend engineering candidates who were very comfortable using React but knew nothing, for example, about JavaScript’s prototypal inherance. Classes were added to JavaScript in 2015 as syntactic sugar, allowing devs to code JavaScript without really understanding how things worked under the covers.
This is just one example. JavaScript’s history is an evolution of hacky patterns developers innovated to work around JavaScript’s limitations and weird quirks.
Way back in 2008, Douglas Crockford published the 172-page JavaScript: The Good Parts. Juxtaposing “JavaScript: The Good Parts” and the 1,000-page JavaScript: The Definitive Guide quickly became a meme:

“The Definitive Guide” remains Amazon’s “#1 Best Seller in JavaScript Programming”. Published in 2020, it’s the 7th edition of the book, trimmed down to “just” 706 pages after tossing some of the esoteric old patterns/hacks no longer needed today.
Re-loading JavaScript into my brain in 2025
As a mostly backend engineer, I’ve spent 25 years learning, forgetting, and then “re”-learning JavaScript.
I say “re”-learning because every time I’ve needed to use JavaScript, the language would have added another layer or two, so I would have to unlearn old patterns/hacks and learn new ones. It was exhausting and frustrating… much like my anger toward Microsoft because each version of Windows changed the UIs, forcing me to relearn everything. (I pretty much abandoned Windows for Linux circa 2000.)
I recently dusted off a project I’ve worked on sporadically for years, one piece of which involves a browser extension. I wrote a lot of JavaScript code for that and am rebuilding it to use Svelte and Typescript. I also want to feel comfortable using rich Javascript libraries with my LiveView frontends.
So, over the past ten-ish days, I’ve focused on reloading JavaScript into my brain, along with Svelte 5 (the only JS framework that has ever resonated with me) and learning the fundamentals of TypeScript.
Learning JavaScript in 2025 is SO much easier than it was back in the early 2000s, for several reasons:
- JavaScript in 2025 is MUCH more developer-friendly than it used to be
- Tons of excellent free tutorials on sites like Youtube
- Great paid videos on sites like FrontendMasters.com
- Many wonderful free JavaScript PDF books (See this list of 23, for example)
- Free hands-on online tutorials, like Svelte’s Tutorial
- AI is very proficient at answering questions about popular languages, and few languages are more popular than JS
I’ve been loving the long tutorials on Youtube. There are too many excellent short ones to list here, but here are several longer ones worth mentioning:
I’m also a fan of sitting outside with a dead-tree book. These are some I’ve dug deep into:
- Web API Cookbook: Level Up Your JavaScript Applications (Joe Attardi)
- JavaScript Cookbook (Adam D. Scott, Matthew MacDonald, & Shelley Powers)
- JavaScript: The Definitive Guide (David Flanagan)
- The Joy of JavaScript (Luis Atencio)
- Programming With Types (Vlad Riscutia)
I also just ordered (from Alibris.com, NOT Amazon!):
- Effective TypeScript, 2nd ed (Dam Vanderkam)
- Data Structures and Algorithms in JavaScript (Federico Kereki)
If you’re a younger developer, count your blessings that you’re working with 2025 Javascript. The language, tooling, and learning materials have all improved greatly!
With thanks to Doug R. W. Dunigan for his photo on Unsplash