Douglas Crockford's first Yahoo lecture puts JavaScript in historical context. He traces the language's structure and quirks back through the early decades of computer science and programming language history.
Why Hacker News points people here: HN repeatedly recommends the Crockford series as a must-watch history of computing and programming languages, and as a way to learn to think in JavaScript.
“I urge you to watch this. It really is worth it!”HN comment, 2014
“I urge you to watch this. It really is worth it!”
Accurate, digestible history of programming language evolution
Full comment
For a more accurate, informative and very digestible history of the evolution of programming languages, I urge you to watch this. It really is worth it! this video
Strongly recommendsnapsterbrMar 2014
“Crockford series on javascript is just awesome. I highly recommend it.”
Crockford's JavaScript series is highly recommended
Full comment
Hard to say if it's the best, but Crockford series on javascript is just awesome. I highly recommend it. this video (Browse the related videos to see the others)
Strongly recommendskornakiewiczJul 2015
“is definitely must-watch”
Overview of computing and web history ending at JavaScript
Full comment
The Crockford's lecture about history of web-development (starting far before first computing machines and ending on javascript) is definitely must-watch. It's not so detailed because it's not a book, but gives a good overview. this video
Strongly recommendsgravypodJun 2016
“they have reshaped the way I think about software development”
Talks that reshaped how commenter thinks about software
Full comment
I'd strongly recommend putting this link in there: this video David, if you see this, I'd like to thank you for these talks as they have reshaped the way I think about software development. I've got more from these then my classes at college have given me do far.
Recommendsjliechti1Jul 2013
“gives a really nice history of the many programming languages leading up to JavaScript”
History of languages leading up to JavaScript
Full comment
Part 1 of Douglas Crockford's On JavaScript gives a really nice history of the many programming languages leading up to JavaScript. Chapter 1: The Early Years : this video Chapter 2: And Then There Was JavaScript: link
RecommendsrtpgJan 2014
“Section 3 is where you really start talking about JS.”
Intro to thinking in JavaScript rather than Java
Full comment
This sort of realization is the first step to realizing that you really shouldn't be writing javascript like java/C++. It makes things feel a lot nicer when you start really thinking in JS. I'd recommend checking out Crockford's "Crockford on Javascript" series for some good intro on thinking about Javascript ( this video ). Section 3 is where you really start talking about JS. For a good counter-example, check out a lot of google's JS libs (in all their giant module goodness).
RecommendsjohnhenryDec 2014
“has a number of videos that are very useful.”
Crockford video series for experienced programmers learning JavaScript
Full comment
Here's a really good introduction to inheritance: link -- a lot of people struggle unless they have a good understanding of how this works. Also, Douglass Crockford (the person who wrote "JavaScript: The Good Parts") has a number of videos that are very useful. Here's the first in a series of eight: this video -- and if you find that useful, you can check out the rest in the list of related videos.
RecommendsggurgoneOct 2015
“There are some lectures by Crockford on youtube too”
Crockford lectures as JavaScript learning resource
Full comment
Forget about Bootstrap and jQuery, learn vanilla js. Reading Eloquent JavaScript is a good starting point. Once you are done with that, build something and join #javascript @ FreenodeIRC and ask for help when you get stuck on something. The good parts is nice but keep in mind that it is very opinionated, still it is worth reading. There are some lectures by Crockford on youtube too (tl;dr) this video Also this on OOP link Finally you may want to familiarize with the most common JavaScript design patterns (some are not unique to js) link
RecommendsarsalanbApr 2018
“(videos, watch all of them)”
Video series helpful for catching up on modern JavaScript
Full comment
I'm in the same position as you. I realised I was still writing spaghetti code that relied heavily on DOM manipulation with Jquery. I am currently learning how the language has evolved and the following has been helpful — 1. link 2. this video (videos, watch all of them) 3. link 4. link Hope this helps :)
RecommendskornakiewiczApr 2018
“the first two are pretty solid and still fun”
Brief history of computing, solid and fun
Full comment
I didn't watch the whole serie yet, but the first two are pretty solid and still fun. The first part doest not cover JS at all, but is rather a brief history of computing. Crockford on JavaScript - Volume 1: The Early Years this video
RecommendsvalwJul 2018
“This video is a great retrospective on the evolution and adoption of programming languages / paradigms”
Retrospective on evolution and adoption of programming languages
Full comment
The innovation dynamics in the software industry are (have been) really different than in these fields IMHO. But there are some similar historical precedents. Fourier's work was rejected in his time because Lagrange wouldn't adopt his approach to mathematics. This video is a great retrospective on the evolution and adoption of programming languages / paradigms: this video
RecommendsgravypodApr 2022
“A great summary, from someone who was influential in web technologies”
Summary of web technology history from an influential figure
Full comment
A great summary, from someone who was influential in web technologies, can be found in this series "Crockford on JavaScript": this video (context: link )
Cites itkachhalimbuFeb 2014
“watch Douglas Crocford talk about JavaScript early years in this talk”
Talk on JavaScript's early years
Full comment
or if you prefer watching instead of reading, watch Douglas Crocford talk about JavaScript early years in this talk this video
Cites itplumaJun 2015
Cited as source for programmers resisting better languages
Full comment
But programmers don't want better languages[0]. Programmers mostly just want what they already have. You can't overcome that kind of resistance just by saying "look, here's a language that's more fun and modern". Programmers say they want better languages, but good luck trying to convince them to switch to a new language just by its merit. The only tangible benefit of Swift is that it can be used instead of Objective-C for iOS -- which is important for iOS because Objective-C poses an even bigger hurdle by virtue of its unfamiliar syntax. Swift wins on iOS because it competes with a language nobody wanted to learn to begin with. Even as far as familiarity goes, the only thing Swift looks familiar to (based on first impressions) is Ruby, except it uses a more familiar C-like syntax (i.e. braces). While Ruby programmers are extremely visible (especially in startup/valley crowds) there aren't that many of them -- not to mention that some have already moved on to Rust or JS. 0: this video
Cites itgravypodDec 2016
Cited in Java language debate
Full comment
> Yet again, they admitted an important feature was missing. Again, I am not familiar with Java 8 but I suspect their implementation is horribly wrong. Admitting something is broken does not mean it sucks. See this comment: link Also, please read this before you wave it off: link > I have. I guess I have just logged more time in Java than others. Java is probably my most used language and that's saying something as I work as a TA for a Python class, use python for most personal projects, and also use many other languages. Java consumes the most time because it has the most polished toolings and standards for developers. Now they may not always be ovserved but if you stay in your own walled garden everything is all honky-dory. You will never make these mistakes if you follow basic practices in Java's naming conventions. All lower case classpaths, all uppercase class names, lower then cammel function names, etc. You'll never be able to mistake Test() for Test.test() as they are instinctivly different names. > Please tell me how to do it properly. IE, if I have a variable of type Foo that is holding a value of type Bar, how do I invoke the function with Bar instead of Foo in the signature? void something(Foo f) { if (f instanceof Bar) { (Bar-Specific commands) } (generic commands) } Or better yet use your magic want: Abstraction . Wave it around and use your super powers to move that functionality into Foo and in anything that needs a specific handling of that function, over
Cites itgravypodJan 2017
Cited in debate about CS curriculum
Full comment
> why should a protocl like telnet be relevant today A lot of software uses "telnet" as in TCP sockets with \r\n and ASCII encoding. That's all telnet is and that's how a lot of data is shifted around all the time. > To learn from its mistakes? Telnet wasn't a mistake. It was an obvious step from terminals via RS232 to terminals via TCP. Also, telnet is everywhere. If you went into research and someone said "just hook into the telnet stream for $SENSOR" and you said "What's telnet" that wouldn't end well. > No, that's why you take design classes that you seem to dislike. No one in their right minds would call telnet, sending text over TCP, a bad design. It's a bad design for some things, but others it's the simplest way to do things. You can do a lot with it since it is very robust. What can go wrong with a telnet stream? 1) Client/Server drops connection to you 2) ... What else? That's a tenant of fantastic design. > Leaving aside the lack of need to know those ancient things (I say this as a heavy user of vim), you seem to conflate engineering with computer science. I don't conflate it. Everyone in industry does. I'm marketing myself to industry so I will use their terminology. Their terminology associates Computer Science with "The programmer". > There's a lot of CS that doesn't have anything to do with network protocols and UNIX programs I and most places you'd go to work in industry aren't mainly concerned with those problems. Different data structures? Great yea I'd lov