Тёмный

Locknote: How JavaScript Happened: A Short History of Programming Languages - Mark Rendle 

Подписаться
Просмотров 24 тыс.
% 546

NDC Oslo 2023 Locknote
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.

Наука

Опубликовано:

 

27 май 2023

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 48   
@mattskov2917
@mattskov2917 Год назад
The actual talk starts at 25:15
@tttc
@tttc 9 месяцев назад
thanks bro literally saved my life
@VincentVoyer
@VincentVoyer 8 месяцев назад
@@tttcsame 😂
@FunctionGermany
@FunctionGermany Год назад
Video ends at 1:25:20
@BbB-vr9uh
@BbB-vr9uh Год назад
Audio starts at 18:26
@Tyler-Kearney
@Tyler-Kearney 11 месяцев назад
Thanks, I thought my earbuds were broken, lol
@Daysra
@Daysra Год назад
A sentence that starts with "so we're gonna..." is at 39:37
@georget10i
@georget10i Год назад
35:55 - If they invented a "Formula Translator" now, they would call it "AI"
@andrewcrampton3433
@andrewcrampton3433 Год назад
Ads end at 24:30
@nyrtzi
@nyrtzi Год назад
Oh, there's Perlis also on the list of Algol's parents. Perlis the dude who said: "There are two ways to write error-free programs; only the third one works."
@OldieBugger
@OldieBugger 11 месяцев назад
One of my first programs was in MC, Zilog 80 MC. I had the list of Machine Codes at the back of Sinclair Spectrum manual. It didn't have any instructions, apart from the assembly opcodes. But that was enough. Yay!
@georget10i
@georget10i Год назад
Very interesting. And excellently presented!
@fredgenius
@fredgenius 10 месяцев назад
Love it. Please do more like this.
@gbeziuk
@gbeziuk 9 месяцев назад
Not to undervalue Smalltalk's role in the history of programming languages, the concept of anonymous functions was probably already there when LISP came out. Maybe not quite spelled out loud back then, though.
@eclecticaaronbentley
@eclecticaaronbentley Год назад
You imply that the reason curly braces weren't available at first for some BCPL users was because ASCII was 7-bit. But in fact, curly braces were added to ASCII the same year BCPL came out, and ASCII remains 7-bit to this day.
@peterlinddk
@peterlinddk Год назад
True that ASCII has always been 7-bits, but in the first version (released June 1963 as ASA X3.4-1963) only the first 96 values were defined (and DEL as 127) and curly braces weren't among the defined values. There were some discussion about reserving some values for "National Use", like é, ü, æ and so on - particularly the last few values: 123, 124, and 125 - which are now { | and }, but still print as national characters on some older printers. It took until 1967 to finish the ASCII-standard as it has been ever since - still 7 bits, but now with all possible values defined. (Man I feel nerdy now - guess Mark got the requested youtube-correction :) )
@eclecticaaronbentley
@eclecticaaronbentley Год назад
@@peterlinddk Exactly. 1967 was the same year BCPL came out. So the issue was not that ASCII was 7 bits, it was that many potential users weren't up-to-date with the latest ASCII revision. Since the characters were new-to-ASCII, their meanings weren't as established. I wonder whether that was a factor in choosing them?
@MarkRendle
@MarkRendle 8 месяцев назад
⁠thank you, I'll fix that next time
@eclecticaaronbentley
@eclecticaaronbentley 8 месяцев назад
@@MarkRendle I've dug a bit deeper, and I think your explanation of the relationship of $( $) to {} is actually incorrect in a different way, because $( was the original form and { was an extension. The 1967 manual does not include curly braces: www.bell-labs.com/usr/dmr/www/bcpl.pdf only $( (see PDF page 7) and the use of {} was an extension that may have originated with TENEX BCPL www.bitsavers.org/pdf/bbn/tenex/TenexBCPL_1974.pdf. A recent manual by Martin says "Historically BCPL used the symbols $( and $) to bracket commands and declarations...BCPL has been extended to allow all untagged section brackets to be replaced by { and } as appropriate." www.cl.cam.ac.uk/~mr10/bcplman.pdf It also seems likely that CPL was short for "Combined Programming Language" based on the 1967 manual, and Wikipedia claims the B is short for "Basic" but does not cite a source.
@grauekatze
@grauekatze 11 месяцев назад
I'm very far from this industry but I watch Mark's and Dylan's talks anyway.
@OldieBugger
@OldieBugger 11 месяцев назад
When I was a kid, my mother worked to enter data to the University computer, on punch cards. She brought us kids a ton of those cards with a typo (or some other error) in them. I always will remember "FORTRAN STATEMENT" from those.
@jalvrus
@jalvrus Год назад
I have to wonder what we'd all be complaining about if the browser language had remained Scheme. Actually, I have to wonder if it would have been as widely accepted if it had remained Scheme. C and C++ ruled at that point; Lisp, not so much. Having a C-style syntax made it that that much easier for people to adopt.
@davil1980
@davil1980 11 месяцев назад
Wild guess: Microsoft might have forced VBA into internet explorer and what a ride that would have been! 😂
@RoamingAdhocrat
@RoamingAdhocrat Год назад
Talk ends at 1:24:00
@agnarrenolen1336
@agnarrenolen1336 Год назад
I believe the THINK Class Library had Exception handling in C before C++ had it natively. I would still preffer the simplicity of TCL-exceptions, which simply was implemented using Macroes.
@GeorgeTsiros
@GeorgeTsiros 11 месяцев назад
43:30 that doesn't answer why _fortran_ chose to use _I_ , _J_ , _K_ for integers. In mathematics, it was already common to use _i_ when an _index_ was needed, such as summation. You write a Σ and under it you put _i=1_ and over it you put _n_ or _k_ . Just google "summation" and look at the images, or just go to wikipedia and look there.
@OldieBugger
@OldieBugger 11 месяцев назад
I have used goto pretty often, even when studying CompSci, even when I was told never to use it. But I had very justified reasons to use goto. Like from inside deeply nested for's / if's to the end of a function, like if(0==this_should_never_be_zero) goto end; Or something similar. Why not just return? Often there was some memory management to do at the end of a function, etc. Besides, it's a cleaner way to write: goto end; than just return in the middle of a function.
@GeorgeTsiros
@GeorgeTsiros 11 месяцев назад
What language?
@OldieBugger
@OldieBugger 11 месяцев назад
@@GeorgeTsiros C, Pascal, actually any language that allows nested loops and conditionals.
@RobBCactive
@RobBCactive 8 месяцев назад
Deep nesting and tricky cleanup, plus logic saying if shouldn't happen happens goto cleanup: is a classic symptom of using large omnibus functions.
@seven9766
@seven9766 6 месяцев назад
​@@RobBCactiveeverything looks clean and simple in tutorials. Somtimes real life ain't that simple
@RobBCactive
@RobBCactive 6 месяцев назад
@@seven9766 I have written plenty of software and seen plenty of excuses, you cannot BS me!! My most esteemed colleagues heartily approved of me shrinking code modules. Furthermore I can tell you every page fault cost a lot more than failing to use subroutines
@encrypted983
@encrypted983 Год назад
The world ends at 1:25:20
@Knirin
@Knirin 7 месяцев назад
What font is he using for the quotations?
@patricknelson
@patricknelson 7 месяцев назад
I don’t know what everyone’s saying… the talk _both_ begins _and_ ends. I know, because I just watched it.
@jayamustika7234
@jayamustika7234 9 месяцев назад
What does it meant at the time machine bit, that he talk to Brandon Eich to please put the integer into Javascript?
@RobBCactive
@RobBCactive 8 месяцев назад
JavaScript has strings, boolean and numbers. From Mozilla... (if you study Comp. Sci. you'll realise floating point is fundamentally broken) The Number type is a double-precision 64-bit binary format IEEE 754 value. It is capable of storing positive floating-point numbers between 2-1074 (Number.MIN_VALUE) and 21024 (Number.MAX_VALUE) as well as negative floating-point numbers between -2-1074 and -21024, but it can only safely store integers in the range -(253 − 1) (Number.MIN_SAFE_INTEGER) to 253 − 1 (Number.MAX_SAFE_INTEGER). Outside this range, JavaScript can no longer safely represent integers; they will instead be represented by a double-precision floating point approximation. You can check if a number is within the range of safe integers using Number.isSafeInteger().
@wchen2340
@wchen2340 4 месяца назад
"Number" beeing THE type for all sorts of numeric operations is counterintuitive, leads to all sorts of errors, quirks and ugly workarounds. Im with him there and i also like the pun. :-)
@lesfreresdelaquote1176
@lesfreresdelaquote1176 9 месяцев назад
Talking about Lisp and Backus and not mentioning Alonzo Church even once is quite the crime. First Backus was a student of Church and second Lambda Calculus was as much as important in the history of programming as Turing's machine was. Actually, Turing even wrote an article to show how the two approaches were equivalent. One of the most important result of the 30s in the sense that if your functional program can be equivalent to a Turing's machine, then _you can run it on a regular computer_
@ukyoize
@ukyoize 7 месяцев назад
I wish html documents were not interactive
@felipevaldes9168
@felipevaldes9168 Год назад
26:00
@GeorgeTsiros
@GeorgeTsiros 11 месяцев назад
lord byron of syphilis and hanging out with shelly... not lord byron who gave up all that he had and went to help the greeks, no. Not lord byron the poet, no. that was a dick move, rendle.
@OldieBugger
@OldieBugger 11 месяцев назад
I never used FORTRAN, why? Because the first example FORTRAN program from the textbook crashed. After that I threw the book to trash bin and I swore never ever to use FORTRAN ever. And I never had to.
@OldieBugger
@OldieBugger 10 месяцев назад
@@spot997 My favourite is C.
@felipevaldes9168
@felipevaldes9168 Год назад
?t=1540
@Yogurt4655
@Yogurt4655 7 месяцев назад
I’ve watched pieces of a couple talks by this guy now, and he is really not a good speaker. He glosses over so many basic aspects of the things he’s talking about, openly admits non-understanding of large pieces of the source material, can’t even be bothered to learn how to pronounce the names of the people he’s talking about.
@mitchmarq428
@mitchmarq428 2 месяца назад
he's no Dylan Beattie, but i do like to watch him rant