For those unfamiliar, Gary Bernhardt is the same guy who did the famous "Wat" talk on JavaScript:<p><a href="https://www.destroyallsoftware.com/talks/wat" rel="nofollow">https://www.destroyallsoftware.com/talks/wat</a>
First, I very much love the material of the talk, and the idea of Metal. It's fascinating, really makes me think about the future.<p>However, I also want to rave a bit about his presentation in general! That was <i>very</i> nicely delivered, for many reasons. His commitment to the story, of programming from the perspective in 2035, was excellent and in many cases subtle. His deadpan delivery really added to the humor; the fact that he didn't even smile during any of the moments when the audience was laughing just made it all the more engaging.<p>Fantastic talk, I totally loved it!
The reason why metal doesn't exist now is because you can't turn the memory protection stuff off in modern CPU's.<p>For some weird reason (I'm not an OS/CPU developer) switching to long mode on an x86 cpu also turns on the mmu stuff. You just can't have one without the other.<p>There's a whole bunch of research done on VM software managed operating systems, back when the VM's started becoming really good. Microsoft's Singularity OS was the hippest I think.[0]<p>Perhaps that ARM cpu's don't have this restriction, and we will benefit from ARM's upmarch sometime?<p>[0] <a href="http://research.microsoft.com/en-us/projects/singularity/" rel="nofollow">http://research.microsoft.com/en-us/projects/singularity/</a>
Looks like Erlang is already getting one step closer to the metal:<p><a href="http://erlangonxen.org/" rel="nofollow">http://erlangonxen.org/</a>
<a href="http://kerlnel.org/" rel="nofollow">http://kerlnel.org/</a><p>Also there is another project that can be related to that goal:<p>"Our aim is to remove the bloated layer that sits between hardware and the running application, such as CouchDB or Node.js"<p><a href="http://www.returninfinity.com/" rel="nofollow">http://www.returninfinity.com/</a>
I guess this is in a way a response to Bret Victor's "The Future of Programming"?<p><a href="https://vimeo.com/71278954" rel="nofollow">https://vimeo.com/71278954</a>
It's not far off my predictions: <a href="https://news.ycombinator.com/item?id=6923758" rel="nofollow">https://news.ycombinator.com/item?id=6923758</a><p>Though I'm far less funny about it.
Coincidentally, I just released a podcast interview with Gary right after he gave this talk at NDC London in December 2013: <a href="http://herdingcode.com/herding-code-189-gary-bernhardt-on-the-birth-and-death-of-javascript/" rel="nofollow">http://herdingcode.com/herding-code-189-gary-bernhardt-on-th...</a><p>It's an 18 minute interview, and the show notes are detailed and timestamped. I especially liked the references to the Singularity project.
I suspect Nashorn, the just released edition of JavaScript for the JVM, will be heavily promoted by Oracle and become heavily used for quick and dirties manipulating and testing Java classes, putting a dent into use of Groovy and Xtend in Java shops. After all, people who learn and work in Java will want to learn JavaScript for the same sort of reasons.
He says several times that JavaScript succeeded in spite of being a bad language because it was the only choice. How come we're not all writing Java applets or Flash apps?
Stellar stuff. Hugely enjoyable. Very interesting thought experiment. I won't spoil it for any of you, just go and watch! Mr. Bernhardt, you have outdone yourself sir :)
Where did you get the footage of Epic Citadel used in the talk?<p><a href="http://unrealengine.com/html5" rel="nofollow">http://unrealengine.com/html5</a> seems to have been purged from the internet (possibly due to this year's UE4 announcements?) and I can't find any mirrors anywhere.<p>Which is a shame, because that demo was how I used to prove to people that asm.js and the like were a Real Thing.
I have a question, because this video confused me. I don't have background to follow through all the assertions Gary Bernhardt did, but I'll try to watch it again, since it was fun.<p>I want to become a full stack developer. I can program and write tests in ruby, I can write applications using Sinatra and now I am learning rails. I bought a book to start learning JavaScript because it's the most popular language and basically will allow me to write <i>modern</i> applications. After I'm done with JS I'll probably jump into something else (rust, go, C, C++, Java, whatever helps do the staff I want).<p>But watching this video, I'm confused: I avoided CoffeScript because I read in their documentation that in order to debug the code you have to actually know JavaScript so I figured that the best thing to do is learn JS and then use an abstraction (i.e. Coffescript) and tools like AngularJS and Node.js... Is my approach wrong? :-/
I guess I don't really get the point here. This video walks a line between comedy and fact where I'm not really satisfied in either.<p>I can't always tell what's a joke, does he actually believe people would write software to compile to ASM instead of javascript because there are a few WTFs on js's "hashmaps." Much likely a newer version will come out before 2035? Or was that a joke?<p>I also feel like poking fun at "yavascript" at a python conference is cheap and plays to an audience's basest desires.<p>Really I see a mixture of the following:
- Predictions about the future, some of which are just cleary jokes (e.g. 5 year war)
- Insulting javascript preferring clojure
- Talking about weird shit you could, but never would do with ASM js
- Talking about a library that allegedly runs native code 4% faster in some benchmarks, with a simplistic explanation about overhead from ring0 to ring3 overhead.
I'm not sure I understand the claims toward the end of the talk about there no longer being binaries and debuggers and linkers, etc. with METAL.<p>I mean, instead of machine code "binaries", don't we now have asm blobs instead? What happens when I need to debug some opaque asm blob that I don't have the source to? Wouldn't I use something not so unlike gdb?<p>Or what happens when one asm blob wants to reuse code from another asm blob -- won't there have to be something fairly analogous to a linker to match them up and put names from both into the VM's namespace?
nice nice,ultimatly languages dont die,unless they are closed source and used for a single purpose ( AS3 ). In 2035,people will still be writing Javascript. I wonder what the language will look like though. Will it get type hinting like PHP? or type coercion? will it enforce strict encapsulation and message passing like Ruby ? will I be able to create adhoc functions just by implementing call/apply on an object? or subclass Array? Anyway , i guess we'll still be writing a lot of ES5 in the 5 years to come.
I like that he mentions "integer". It is still very incredible how JavaScript can work well without a integer construct. Or threads and shared memory. Or bells and whistles.
I wish some of those talks were available for purchase on their own and not in the season packets. Definitely a few I'd buy since I liked this talk and the demo on the site.<p>Guy has good vim skills for sure.
Video tl;dw:<p>Gary Bernhardt (rightly) says that JavaScript is shit (with some other insights).<p>HN comments tl;dr:<p>50%: "Waahhh, JavaScript is awesome and Node.js is wonderful, shut up Gary Bernhardt."<p>25%: Smug twats talking about how they're too busy changing the world with JavaScript to even bother to comment.<p>25%: Pedants and know-it-alls having sub-debates within sub-debates.<p>Pretty standard turnout. See you tomorrow.
It's been kind of fun watching JS developers reinventing good chunks of computer science and operating systems research while developing node.<p>This talk has convinced me that their next step will be attempting to reinvent computer engineering itself.<p>It's a pretty cool time to be alive.