TRANSCRIÇÃOEnglish

The End of JS

9m 40s1,806 palavras256 segmentsEnglish

TRANSCRIÇÃO COMPLETA

0:00

One of my favorite conference talks of

0:02

all time is the birth and death of

0:04

JavaScript. Now, you're probably

0:05

thinking, "Okay, the death of

0:07

JavaScript, you you have my attention.

0:09

What are we talking about here?" Well,

0:10

before you get too excited, it's

0:12

actually a talk from 2014 by Gary

0:14

Burnernhard while he was at Destroy All

0:17

Software. By the way, great name. In

0:19

today's day and age, I mean, I guess in

0:21

some sense, we've really lived up to

0:23

that name of destroying all software by

0:27

producing unceasing amounts of it. What

0:29

makes this talk so good is that he

0:31

attempts to predict the future 20 years

0:34

in advance. A lot of it was a lot of

0:35

good jokes. It's one of the best

0:37

conference talks ever created, but it

0:39

also has some pretty interesting ideas

0:41

in it. And one of the best parts is our

0:44

year right now 2026 is actually one of

0:47

the pivotal moments inside the

0:49

prediction. The beginning of the

0:50

conference talks does go through some of

0:52

the old lore of JavaScript, the 10day

0:54

creation that Brendan Ike was able to

0:57

somehow birth this language into the

0:59

world, the pain of actually using it,

1:01

you know, some of the classic fun ones.

1:02

So his entire prediction actually relies

1:04

on a technology called Azam.js. Now this

1:08

may be a technology before your time,

1:10

maybe you were before its time, but

1:12

effectively it is supposed to be the

1:14

assembly for the web. Now this should

1:17

sound familiar because this is actually

1:18

what Wom is based off of. Effectively

1:21

Azom is just JavaScript except for every

1:23

single kind of operation you need to

1:26

enforce its type. So right here you can

1:28

see that square this function square

1:30

takes in X. X equals the plus sign then

1:34

X. That is a prefix operator that

1:36

converts whatever X is into a number.

1:39

And then you return X * X and then you

1:41

reconvert that into a number. diagonal.

1:43

Same thing. X equals number of X. Y

1:46

equals number of Y. We're going to

1:48

square X, square Y, which again renumbs

1:50

X and renumbers Y. And then we're going

1:52

to squirt it out with a number at the

1:55

end. That's right. Squirt it out, baby.

1:57

You're probably thinking, okay, why

1:58

would we do this? This looks horribly

1:59

inefficient. Well, the idea is that the

2:02

JIT should be able to read all this

2:04

stuff in and go, okay, we are doing a

2:06

number operation. So square can simply

2:08

become a mole operation, right? That

2:10

means it can just just be a single

2:12

instruction like mole register whatever

2:15

it and itself and boom you got a number

2:17

back out or at least that's the idea.

2:19

Now I do actually remember this time I

2:21

was in the valley during this kind of

2:23

big era of AOM and I actually

2:25

specifically remember Epic Games and

2:29

Unreal Tournament. This is the Unreal

2:31

Engine 3 game engine which was used for

2:33

high-end games in the early to mid

2:35

teens. And this is a a short screencast

2:38

of it running inside of Firefox. Uh the

2:41

last demo, the Python demo is running

2:43

inside of Chrome, which does not support

2:44

AOM natively. That was actually running

2:46

as pure Java uh JavaScript. And uh here

2:49

you see a a video game engine running at

2:53

a perfectly playable frame rate. Not 60

2:55

frames per second, but playable. First

2:56

off, a couple things. Perfectly

2:58

playable, not 60. I mean, even 60 frames

3:00

per second. Like, are we even are we

3:02

even doing that these days?

3:04

Ridiculous. Can you believe what people

3:06

put up with in like 2013? This is what

3:10

big tech did to tech. Okay, this is what

3:12

they did. They took something that could

3:15

run better and then made it objectively

3:18

worse and been like, dude, this this is

3:20

the future. This is what you get to look

3:22

forward to. But it was exciting.

3:24

Honestly, it was exciting because this

3:26

meant there is a possibility of us not

3:29

having to write JavaScript. You could

3:32

write any language you want and you

3:34

could compile it down and actually

3:36

target it and run it in the browser. Now

3:38

granted, what came out of these things

3:41

were literally three megabyte bundles.

3:43

And you know, 15 years ago, the internet

3:46

was certainly not that great to be able

3:48

to have every single website delivering

3:50

you many, many megabytes of just

3:52

JavaScript. Let alone were the computers

3:54

able to run that. The, you know, the VMs

3:56

inside of V8 were not that good as they

3:58

are today. There were a lot of problems

4:00

but nonetheless it worked. It made

4:02

people very very excited. So this is

4:04

kind of like the crux of Gary's talk

4:07

which is okay there's this technology

4:09

which you don't have to write JavaScript

4:11

anymore but it's powered by JavaScript.

4:13

JavaScript will kill JavaScript via AOM.

4:17

Obvious side note there was no such

4:19

thing as WOM at this point. So he he

4:21

based it purely off of AOM. And just

4:23

kind of prove the point Gary does flex

4:25

on us a little bit. So here's uh the

4:27

running inside Chrome with Chrome

4:28

inside Firefox.

4:33

It's just compilers. Once you have a

4:35

compiler, all you need is the the the

4:38

libraries being used. Uh so here what we

4:40

have is the running against Wine

4:42

running against an X Windows shim all

4:44

compiled from C into AOM. That AOM is

4:47

running on Chrome. And now we have

4:50

another wine-like problem, which is that

4:52

was the Mac version of Chrome running

4:54

inside the Mac version of Firefox, but

4:56

the Mac windowing stuff is all closed

4:58

source. So we had to do what we did in

4:59

the '90s and reimplement it. And because

5:02

we like confusing names, the open-

5:03

source reimplementation of Coco is

5:06

called Cacao.

5:09

And then uh Cacao and Chrome are both

5:12

compiled from C into Azim. And all of

5:14

that is running inside of Firefox. now.

5:18

And so really he just proved you can run

5:20

anything. If it compiles in C, baby, you

5:23

can run it in the browser. And this is

5:25

kind of his fundamental idea that he has

5:28

for our future, which is that everything

5:31

can just simply be compiled into this

5:33

Azim and it can just run in the browser.

5:36

But he actually ends up making a

5:37

significantly bigger prediction cuz this

5:39

in itself shouldn't really kill

5:41

JavaScript. So this is where it actually

5:42

gets interesting cuz this is where he

5:44

makes his first big prediction that is

5:46

during our time period which is the

5:49

first major adoption of AOM.

5:52

>> So uh that takes us to 2025 when you

5:54

start to see thick extremely large

5:56

applications ported uh into AOM.

5:59

>> Now now is this prediction correct?

6:01

Well, I think one thing that probably

6:03

threw off Gary's old prediction was AI,

6:05

right? Because during 2020 to 2025 in

6:09

his chart, uh, there was just a massive

6:11

war. You know, kind of funny. We had CO

6:13

during that time. He predicted massive

6:14

war. He was just wrong. You know,

6:15

pandemic, not war. But either way, his

6:18

prediction did not include this idea of

6:20

AI and generating code. And so, he

6:22

thought that people would just get so

6:24

frustrated with JavaScript that

6:26

everybody would just want to use AOM.

6:28

And he's not completely wrong because

6:29

the successor to Azom Wom is now in 3.0

6:33

stage which does happen to have garbage

6:36

collection, better exception handling,

6:38

JavaScript string built-ins, custom text

6:40

format annotation, deterministic

6:41

profiling, like a bunch of stuff that is

6:44

actually making it pretty good to use.

6:45

Now, my last time I used WOM, I I could

6:48

easily say I did not like it that much,

6:50

but now, okay, this is looking a bit

6:54

more interesting. Is there a world in

6:56

which you could you could use WOM? Well,

6:58

it actually turns out that Wom is

7:00

actually making inroads into the old web

7:03

development. Cloudflare workers can use

7:05

Wom and that means you could develop

7:07

workers using Rust or C++ or Go or

7:11

Python. Not really sure about that last

7:13

one, but you could you could use any of

7:14

them because they all can compile down

7:17

to Wom. So, it's actually kind of

7:19

happening. There is this small world

7:21

where WOM has seen a small uptick in

7:24

adoption. There's been a couple notable

7:26

apps that have used WOM. Figma being one

7:28

of them. So though this prediction is

DESBLOQUEAR MAIS

Registe-se gratuitamente para aceder a funcionalidades premium

VISUALIZADOR INTERATIVO

Assista ao vídeo com legendas sincronizadas, sobreposição ajustável e controlo total da reprodução.

REGISTE-SE GRATUITAMENTE PARA DESBLOQUEAR

RESUMO DE IA

Obtenha um resumo instantâneo gerado por IA do conteúdo do vídeo, pontos-chave e conclusões.

REGISTE-SE GRATUITAMENTE PARA DESBLOQUEAR

TRADUZIR

Traduza a transcrição para mais de 100 idiomas com um clique. Baixe em qualquer formato.

REGISTE-SE GRATUITAMENTE PARA DESBLOQUEAR

MAPA MENTAL

Visualize a transcrição como um mapa mental interativo. Entenda a estrutura rapidamente.

REGISTE-SE GRATUITAMENTE PARA DESBLOQUEAR

CONVERSAR COM A TRANSCRIÇÃO

Faça perguntas sobre o conteúdo do vídeo. Obtenha respostas com tecnologia de IA diretamente da transcrição.

REGISTE-SE GRATUITAMENTE PARA DESBLOQUEAR

APROVEITE MAIS DE SUAS TRANSCRIÇÕES

Inscreva-se gratuitamente e desbloqueie o visualizador interativo, resumos de IA, traduções, mapas mentais e muito mais. Não é necessário cartão de crédito.

    The End of JS - Transcrição Completa | YouTubeTranscript.dev