Shadowing Practice: The forgotten developer who saved JavaScript... - Learn English Speaking with YouTube

B2
It's 2009.
⏸ Paused
120 sentences
If sentences are too short or too long, click Edit to adjust them.
1
It's 2009.
2
You're at a Hannah Montana movie,
3
and your phone won't stop buzzing with notifications from a new dating app you just downloaded.
4
Your favorite artist is supposed to be releasing a new album next year.
5
Your favorite TV show is currently being made into a movie.
6
And you're still riding high from arguing how many days are in a week on the bodybuilding.com forums.
7
Life is good, at least on the weekends.
8
Because during the week, you have to spend all day using the worst programming language ever invented.
9
A language that was famously designed in 10 days,
10
but after using it, it had you wondering what Brendan did after day two.
11
A language that every browser interpreted differently,
12
had no standard library, modules,
13
or classes, and if your primary job was to write it,
14
I'm told you were a massive loser who didn't deserve to feel love.
15
At least that's how things were in 2009.
16
But over the next decade, that sentiment changed.
17
JavaScript went from being a language that you'd never touch directly without putting on a jQuery hazmat suit first,
18
to arguably the most popular programming language in the world,
19
while JavaScript developers, despite all the stupid stickers on their MacBooks,
20
went from being considered script kitties to real programmers with actual feelings and emotions.
21
So how exactly did this mass psychosis happen?
22
There's a bunch of different reasons,
23
but in my opinion,
24
I think the most underrated was all led by a single person who has since been forgotten to time, Jeremy Ashkenis.
25
In 2009, Jeremy was a developer at Document Cloud,
26
where he had the unfortunate task of working on a heavy client-side JavaScript application,
27
which was rare at that time.
28
Having a background in Ruby,
29
but being forced to write JavaScript,
30
I assume every morning he'd wake up and think to himself,
31
wow, today might be a good day to b***ing b*** myself off the b***ing Golden Gate Bridge.
32
But unlike everyone else who had JavaScript Stockholm Syndrome,
33
Jeremy had the audacity to think he could fix it,
34
and so he did.
35
His first act was dealing with the fact that JavaScript had no standard library.
36
Again, this was 2009.
37
Although Firefox had shipped support for some array helper methods like map,
38
reduce, and foreach, Internet Explorer hadn't yet,
39
which meant you couldn't use them unless you polyfilled them.
40
So to fix this, Jeremy released Underscore.js,
41
a utility belt library that contained about 60 helper functions that made it easier to work with the Rays and Objects.
42
Now, I know that doesn't sound exciting today,
43
but building for the web was so bad back then
44
that Underscore likely did save a few people from throwing themselves off the f***ing Golden Gate Bridge.
45
Underscore got so popular that many of its features were adopted into the JavaScript language itself,
46
which eventually made it obsolete.
47
But Underscore was only Jeremy's first act.
48
Next, he decided instead of augmenting fish head JavaScript with a new library,
49
he'd have more freedom if he just created an entirely new language with large cannons.
50
Again, I can't stress this enough,
51
the JavaScript in 2009 was very different than it is today.
52
There were no classes,
53
so inheritance was done through a pattern where you'd manually attach properties to a hidden object called prototype
54
that every function had access to.
55
The only way to declare a variable had bizarre scoping rules that hoisted declarations to the top of a function,
56
whether you were aware of it or not.
57
No one really understood or cared about the difference between the equality operator and the identity operator,
58
so you'd have a bunch of type coercion happening without even realizing it.
59
And to define even a simple function,
60
you had to literally type out the word function every single time,
61
which led to some pretty ugly code.
62
By building a new language that compiled a JavaScript,
63
Jeremy could fix it without having to wait for the standards committee or browser vendors to do it themselves.
64
And even better, he could leave JavaScript the bad parts in that musty room Brendan spent 10 days in.
65
And for a while, CoffeeScript was huge.
66
Father DHH adopted it almost overnight,
67
and in 2011, it shipped as the default JavaScript preprocessor in Rails 3.1,
68
meaning the front end for every new Rails app in the world was suddenly written in CoffeeScript.
69
GitHub, Dropbox, and a long list of early 2010 startups adopted it,
70
and for a few years,
71
it was the default choice for anyone who took JavaScript seriously.
72
Today, CoffeeScript is basically dead after its best features were absorbed into JavaScript itself,
73
but every time your agent writes a class,
74
arrow function, default parameters, a spread operator,
75
does string interpolation, or destructures a value, you can thank CoffeeScript.
76
But Jeremy still wasn't done yet.
77
By 2010, he had given JavaScript a standard library with underscore,
78
and a better syntax with CoffeeScript.
79
But there was still one massive problem left.
80
There was no good way to actually structure a JavaScript application.
81
If you wanted to build a large,
82
client-side-heavy app, you would still end up with thousands of lines of spaghetti where your data,
83
DOM manipulation, and event handlers were all tangled together.
84
So in 2010, Jeremy released Backbone.js,
85
a tiny library of less than 2,000 lines of code
86
that gave JavaScript developers their first real taste of MVC on the front end.
87
It introduced models for your data,
88
collections for groups of models,
89
views for rendering, and an event system that let everything stay in sync without the need to wire it up by hand.
90
But for the first time,
91
you could build a serious client-side app without it collapsing under its own weight.
92
And with Jeremy's track record,
93
it quickly caught on, powering the early versions of Trello,
94
Airbnb, Hulu, Pinterest, and basically every other startup that needed a real front end between 2011 and 2014.
95
If you were a JavaScript developer during that window,
96
you almost certainly wrote Backbone,
97
and you probably thought it was the future.
98
But as it turns out, it wasn't.
99
Angular, Ember, and eventually React would make Backbone obsolete by taking its core ideas and pushing them further.
100
But Backbone was the library that proved you could actually build client-side heavy applications.
101
It's easy to forget how bad JavaScript used to be,
102
and even easier to forget the people who fixed it.
103
But the modern web was built on top of ideas that Jeremy Ashkenis pioneered,
104
even if no one remembers him.
105
But speaking of things you no longer have to build yourself,
106
Auth is another one, thanks to Clerc,
107
the sponsor of today's video.
108
They just launched the Clerc CLI,
109
which comes with commands that are even more powerful than the ones I saw at that human dog show.
110
Just run clerk init in any directory,
111
and it'll set up end-to-end authentication for your entire project with custom middleware,
112
auth pages, and environment variables.
113
It even detects if you're migrating from next auth or auth zero and walks you through the entire process.
114
And since they know you're using agents to do all your dirty work,
115
they also created clerk skills,
116
which ships framework-specific patterns pinned to the CLI version so your coding agent knows exactly how to use it.
117
And the clerk API command lets your agent hit the entire clerk backend API from the terminal without copy and pasting credentials.
118
Try it out for free today at the link below,
119
or just run clerk init to get started.
120
Thanks for watching, and I will see you in the next one.

Download App

AI scoring for every sentence you speak

TRENDING

Popular

Why practice speaking with this video?

Engaging with the video titled "The forgotten developer who saved JavaScript..." is not only fascinating for tech enthusiasts but also presents an excellent opportunity for IELTS speaking practice. The speaker’s animated storytelling provides a rich context for learners to practice their speaking skills. By mimicking the speaker’s style and intonation, you can enhance your fluency and expressiveness, critical components in achieving a high score in the IELTS speaking section.

This video discusses a pivotal moment in programming history, which allows you to explore the vocabulary related to technology and development. As you practice speaking along, you're not just learning about JavaScript; you’re expanding your language skills in an engaging manner. Incorporating terms related to programming can also help prepare you for any tech-related topics that may come up in an IELTS speaking examination.

Grammar & Expressions in Context

Analyzing the transcript, we can identify several key structures and expressions that can aid in your speaking practice:

  • “Having a background in [X]”: This structure helps you articulate your skills or experiences. For instance, you can say, “Having a background in marketing...” when discussing your qualifications.
  • “The audacity to think...” : A useful phrase that expresses boldness or courage. You can use this in various contexts, such as, “I had the audacity to start my own business.”
  • “It might be a good day to...” : This expression is great for making plans or expressing intentions. For example, “It might be a good day to go hiking.”
  • “I assume...”: A phrase that reflects reasoning or deduction. You could use it in conversation to express thoughts, such as, “I assume you are interested in improving your English.”

Integrating such expressions into your daily practice will not only improve your speaking abilities but also enhance your confidence during actual conversations, including those aimed at IELTS speaking.

Common Pronunciation Traps

In the video, listeners may encounter several tricky words or pronunciation patterns:

  • “audacity”: This word can be mispronounced due to its uncommon syllable structure. It should be pronounced as /ɔːˈdæs.ɪ.ti/.
  • “JavaScript”: Given its technical nature, it’s important to stress the first syllable: /ˈdʒɑː.və.skrɪpt/.
  • “polyfilled”: This term may be confusing due to its technical background. Ensure you stress the middle syllable: /ˈpɒl.i.fɪlt/.

Practicing these challenging words through shadowspeaks can greatly enhance your clarity and comprehension in English. Watching videos and repeating phrases can help eliminate common pronunciation mistakes, enabling you to learn English with YouTube more effectively and confidently.

What is the Shadowing Technique?

Shadowing is a science-backed language learning technique originally developed for professional interpreter training and popularized by polyglot Dr. Alexander Arguelles. The method is simple but powerful: you listen to native English audio and immediately repeat it out loud — like a shadow following the speaker with just a 1–2 second delay. Unlike passive listening or grammar drills, shadowing forces your brain and mouth muscles to simultaneously process and reproduce real speech patterns. Research shows it significantly improves pronunciation accuracy, intonation, rhythm, connected speech, listening comprehension, and speaking fluency — making it one of the most effective methods for IELTS Speaking preparation and real-world English communication.

Buy us a coffee