Crockford on JavaScript - Volume 1: The Early Years

YUI Library10 HN recommenders · 2013–2022
252K views · lecture · evergreen · Uploaded 2011-09-10

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.

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.

Watch on YouTube

16 comments from Hacker News

@jliechti12013 · in “JavaScript Isn't Scheme”

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 : [VIDEO] Chapter 2: And Then There Was JavaScript: [LINK]

RecommendsView on HN
@rtpg2014 · in “Prototypes Are Not Classes”

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 ( [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).

RecommendsView on HN
@Dogamondo2014 · in “A Brief And Mostly Wrong History Of Programming Languages”

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! [VIDEO]

Strongly recommendsView on HN
@kachhalimbu2014 · in “Difference between JavaScript and Java?”

or if you prefer watching instead of reading, watch Douglas Crocford talk about JavaScript early years in this talk [VIDEO]

@napsterbr2014 · in “Ask HN: What's the best technical talk you've heard?”

Hard to say if it's the best, but Crockford series on javascript is just awesome. I highly recommend it. [VIDEO] (Browse the related videos to see the others)

Strongly recommendsView on HN
@johnhenry2014 · in “Ask HN: Good JavaScript introductions for experienced programmers?”

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: [VIDEO] -- and if you find that useful, you can check out the rest in the list of related videos.

RecommendsView on HN
@pluma2015 · in ““Swift will be open source later this year””

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: [VIDEO]

@kornakiewicz2015 · in “Ask HN: How to learn about the history of computing?”

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. [VIDEO]

Strongly recommendsView on HN
@ggurgone2015 · in “Ask HN: What's the best path for learning JavaScript for web development?”

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) [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]

RecommendsView on HN
@gravypod2016 · in “One Click to Be Pro: my list of the best resources for mastering a subject”

I'd strongly recommend putting this link in there: [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.

Strongly recommendsView on HN
@gravypod2016 · in “Why Java Sucks – Jonathan Gardner”

> 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

@gravypod2017 · in “A college student’s individual analysis of productivity of four years (2016)”

> 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

@arsalanb2018 · in “Ask HN: Resources for catching up on modern JavaScript for Python/C++ Programmer”

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. [VIDEO] (videos, watch all of them) 3. [LINK] 4. [LINK] Hope this helps :)

RecommendsView on HN
@kornakiewicz2018 · in “Ask HN: What is your favourite tech talk?”

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 [VIDEO]

RecommendsView on HN
@valw2018 · in “Rise of Kotlin: A Programming Language for the Next Generation”

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: [VIDEO]

RecommendsView on HN
@gravypod2022 · in “Ask HN: Best way to learn about computing history?”

A great summary, from someone who was influential in web technologies, can be found in this series "Crockford on JavaScript": [VIDEO] (context: [LINK] )

RecommendsView on HN