0:00
1:01:41
1:01:41

How JavaScript Happened: A Short History of Programming Languages - Mark Rendle - NDC London 2024

Education

This talk was recorded at NDC London in London, England. #ndclondon #ndcconferences #developer #softwaredeveloper Attend the next NDC conference near you: https://ndcconferences.com https://ndclondon.com/ Subscribe to our YouTube channel and learn every day: / @NDC Follow our Social Media! https://www.facebook.com/ndcconferences https://twitter.com/NDC_Conferences https://www.instagram.com/ndc_conferences/ #javascript #programminglanguage #programming JavaScript was famously created in 10 days as a proof-of-concept for Netscape Navigator 2.0. Today it is one of the most-used languages in the world. Some people even like it. In this talk we will chart the path from the dark days before programming languages, through the ups and downs of the early pioneers, all the way to 1995 and the creation of JavaScript. We will meet the giants on whose shoulders Brendan Eich stood, and speculate about what they might think of modern JavaScript. You will learn interesting things about language design (good and bad), computer internals (weird), and committees (just bad). You’ll see FizzBuzz implemented at least a dozen times. It’ll be fun.

ADVERTISEMENT

Comments 39

Sign in to join the conversation

Sign in
joseph_guerrero
joseph_guerrero 4 months, 3 weeks ago

When computer programmers think they are stand-up comedians.

C
christopher_moon 7 months, 3 weeks ago

6:00 I love that when someone is British he has a name "Alan Turing" but if you are Polish like Marian Rejewski, Jerzy Różycki or Henryk Zygalski you are "some Polish engineers".

micheal.turner
micheal.turner 9 months ago

Such a lovely talk. I laughed. I cried. It became a part of me.

S
stéphane.perrin 9 months, 1 week ago

"Hi Mark, I enjoyed your talk. You mentioned that CONTINUE is used to 'skip the rest' of a DO loop. I studied Fortran back in the 60s, and we were taught that the CONTINUE statement is actually a placeholder—a non-executable statement that provides a label for the end of the DO loop. It doesn't perform any action itself, but rather gives the loop a designated end point. Just a small clarification from an old-timer! Thanks again for the great content." -- Respectful Polite Reply composed by Gemini.

C
courtneyatlas82 9 months, 1 week ago

JavaScript: the most wonderful terrible language ever invented. It's amazing how quickly one can create giant wads of undecipherable code & data structures.

A
abeerbath407 9 months, 1 week ago

Really great speaker!

J
joshuaplume84 9 months, 2 weeks ago

Could listen to Rendle talk for hours, such a pleasant speaker. And the fact that you learn things while doing so, well that's just a bonus.

L
lorraine_powell 9 months, 2 weeks ago

Very, very interesting!!!

ekani_goswami
ekani_goswami 9 months, 2 weeks ago

Ada had exceptions before C++ had them.

valentim_darocha
valentim_darocha 9 months, 3 weeks ago

14:45 that meeting is around the corner now

M
melissa_haynes 10 months ago

59:50 he has this backwards: the Orleans developers adding async/await to the C# compiler were familiar with Mark Miller's thesis and the E programming language which introduced our modern concept of promises (and yes, his promises were A+ compliant).

R
rael.novaes 10 months, 4 weeks ago

The IBM 704 FORTRAN compiler can't compile your sample code. What you show Is FORTRAN IV. Original FORTRAN's IF statement was: IF (expression) a,b,c The expression was evaluated and if less then zero would branch to a, equal to zero branch to b, greater than zero branch to c. To compare two values you subtracted one from the other and then jumped as was appropriate. I spent a summer programming in FORTRAN II, so this is ingrained in my memory. Later versions referred to this as an arithmetic IF. The .GT., .EQ., etc notation was added TO FORTRAN IV. The PRINT *, notation is also a later addition, in original FORTRAN the * had to be the line number of a FORMAT statement, and text couldn't be in the PRINT (or WRITE) statement. The xH notation specifies the number of characters. The code is correct but you ovgeneralized in the explination. And CONTINUE is just a NOP, and has no meaning other than to have an associated line number. FORTRAN does have some additional intersting features, such as the assigned goto, computed goto, and the EQUIVALANCE statement which allows you to overlay storage. EQUIVALENCE (I,J) I=2 J=3 K=I+J will result in K having a value of 6. Put that in your worst programming language😊

S
shawn.henderson 11 months ago

Was John McCarthy really George Lucas?

M
marthahaven4 11 months ago

There's a bug in that FORTRAN fizzbuzz. "CONTINUE" doesn't do anything. It's often used as the placeholder on a loop-termination line. It's not the same as Javascript's "continue".

thibaultpixel54
thibaultpixel54 11 months, 1 week ago

Re room's law: you can write a Fortran program in any language.

B
bryanmyst97 11 months, 1 week ago

Fizzbuzz in java 25 will be much better. compact classfile, automatic imports of the standard library, instance main method

N
nadiaaether4 1 year ago

It started as fun, and now seven years later fun is going to the school...

H
hakanhenk747 1 year ago

So lisp is to blame for this scheme like languages!?!?

V
vasudhamalhotra949 1 year, 6 months ago

If anyone is interested in the corporate drama going on behind the scenes at Netscape when JavaScript was created, Brandon Eich did a 3h interview with Lex Friedman

taylorsmith924
taylorsmith924 1 year, 7 months ago

We really need a snappier term for "the amount of atoms in the observable universe". It's long overdue.