Superintelligence CouncilСовет гения · sim.im

DHH · 2025-07-12 · transcript-lex-474-2025 · source ↗

JavaScript

`0:20:29`

than what they were in the '90s. So shouldn't we be able to work in even easier ways? We should be looking back on the '90s ago, like, oh, that was way too complicated. Now we have more sophisticated technology that's way faster and it allows us to work in these easier to use ways. But that's not true. But now you can see the line I draw in my work with Ruby on Rails, and especially with Rails 8. No build to me is reaching back to that '90s feeling and going, now we can do some of those things without giving up on all the progress. Because I do think you can get too nostalgic. I do think you can start just fantasizing that everything was better in the '90s. It wasn't. I mean, I was there. There was a lot of things that sucked. And if we can somehow find a way to combine the advantages and advances we've had over the past 20 years with that ease of developer ergonomics, we can win. No build is a rejection of the part of web development I've hated the most in the past 10, 15 years,

`0:21:32`

which is the JavaScript scene. And I don't say that as someone who hate JavaScript. I mean, I often joke that JavaScript. It's my second favorite program language. It's a very distant second. Ruby is by far and away number one, but I actually like JavaScript. I don't think it's a bad language. It gets a lot of flack. People add a string of two plus a one and it gives something nonsense. And I just go like, yeah, but why would you do that? Just don't do that. The language is actually quite lovely, especially the modern version. ES6 that really introduced a proper class syntax to it. So I could work with JavaScript in many of the same ways that I love working with Ruby made things so much better. But in the early 2010s until quite recently, all of that advancement happened in pre- processing, happened in built pipelines. The browsers couldn't speak a dialect of JavaScript that was pleasant to work with. So everyone started to pre-filing their JavaScript

`0:22:32`

to be able to use more modern ways of programming with a browser that was seen as stuck with an ancient version of JavaScript that no one actually wanted to work with. And that made sense to me, but it was also deeply unpleasant. And I remember thinking during that time, the dark ages, as I refer to them with JavaScript, that this cannot be the final destination. There's no way that we have managed to turn the internet into such an unpleasant place to work. Where I would start working on a project in JavaScript using webpack and all of these dependencies. And I would put it down for literally five minutes and the thing wouldn't compile anymore. The amount of churn that the JavaScript community, especially with its frameworks and its tooling went through in the decade from 2010 to 2020 was absurd. And you had to be trapped inside of that asylum to not realize what an utterly perverse situation

`0:23:37`

we had landed ourselves in. Why does everything break all the time? I mean, the joke wouldn't be just that the software would break, that would annoy me personally. But then I'd go on Hacker News and I'd see some thread on the latest JavaScript release of some framework. And the thread would be like, someone would ask, "Well, aren't we using the thing we just used three months ago?" And people would be like, "That thing is so outdated. That's so three months ago. You gotta get with the new program. We're completely rewriting everything for the oomph-teen time." And anything you've learned in the framework you've been spending the last amount of time on, it's all useless. You gotta throw everything out and you gotta start over. Why aren't you doing it, stupid idiot? — Is that a kind of mass hysteria that took over the developer community you think? Like where you have to keep creating new frameworks and new frameworks. And are we past that dark age? — I think we're getting out of it, and we're getting out of it because browsers have gotten so much better. There was a stagnation in browser technology.

`0:24:38`

Some of it was an overhang all the way back from IE5. So IE5 essentially put the whole internet development experience into a deep freeze, because Microsoft won the browser wars in the mid 2000s, and then they basically disbanded their browser development team. 'Cause they're like, "All right, job done. We don't need any more innovation on the internet. Can we just go back to writing Windows forms or something now that we control everything?" And it really wasn't until obviously Firefox kind of kindled a little bit of something. Then Chrome got into the scene and Google got serious about moving to web forward. That you had a kindling of maybe the browser could be better. Maybe the browser wasn't frozen in time in 2005. Maybe the browser could actually evolve like at the development platform that it is. But then what happened was you had a lot of smart people who poured in to the web because the web turned out to be the greatest

`0:25:38`

application development platform of all time. This was where all the money was being made. This was where all the billionaires were being minted. This was where the Facebooks and whatever of the world came to be. So you had all of this brain power applied to the problem of how to work with the web. And there were some very smart people with some, I'm sure very good ideas who did not have programmer happiness as their motivation number one. They had other priorities and those priorities allowed them to discount and even rationalize the complexity they were injecting everywhere. Some of that complexity came from organizational structure. When you have a company like Facebook, for example, that does depend on the web and wanna push it forward, but have sliced the development role job into these tiny little niches. I'm a front-end glob pipeline configurator.

`0:26:41`

Oh yeah, well, I'm a front-end whatever engineer. And suddenly the web developer was no longer one person. It was 15 different roles. That in itself injected a ton of complexity. But I also wanna give it the bold case here, which was that some of that complexity was necessary to get to where we are today. That the complexity was a bridge. It wasn't the destination, but we had to cross that bridge to get to where we are today, where browsers are frankly incredible. The JavaScript you can write in a text file and then serve on a web server for a browser to ingest is amazing. It's actually a really good experience. You don't need any pre-processing. You could just write text files, send them to a browser, and you have an incredible development. — And we should also say that it can kind of be broken, at least the HTML, but even the JavaScript could be a little bit broken and it kind of still works like maybe a half-ass works. But like, just the amount of mess of smelly code that a browser has to deal with is insane.

`0:27:44`

— This is one of the hardest problems in computing today is to parse the entire internet. Because thankfully for us as web developers, but perhaps not so much for the browser developers, every webpage that has ever been created minus the brief period with Flash still runs today. The webpage I did in ninth grade would render on a modern browser today, 30 years later. — That's crazy. — That is completely crazy. When you think about the amount of evolution we've had with the web, how much better we've made it, how many more standards browsers have adopted. It's essentially an Apollo project today to create a new browser, which is why it doesn't happen very often, which is why even companies like Microsoft had to throw into towel and say, "We can't do it." Now I actually don't think that's good for the web. There is the danger of the monoculture if we just get a single browser engine that runs everything, and we are in danger of that. I love the fact that the Ladybird project, for example, is trying to make a new browser engine from scratch.

`0:28:46`

I've supported that project. I would encourage people to look into that. It's really a wonderful — Nice. — thing. It's staffed by a bunch of people who worked on other browser projects in the past. — Truly independent web browser. — We really need that. But I can hold that thought in my head. At the same time, I hold the thought in my head that Google's Chrome was pivotal to the web surviving as the premier web development platform. If it had not been for Google and their entire business depending on a thriving open web, Apple, Microsoft, I think would've been just as fine to see the web go away to disappear into being something that's just served native web applications or native mobile applications and native desktop applications that they could completely control. So I have all sorts of problems with Google, but it's not Chrome. Chrome is a complete gift to web developers everywhere,

`0:29:47`

to the web as a development platform. And they deserve an enormous amount of credit, I think for that. Even if it's entangled with their business model and half of Chrome is code that spies on you or informs targeted ads. And a bunch of things, I'm not a big fan of. I can divorce that from the fact that we need champions in the corner of the web who have trillions of dollars of market cap value riding on the open web. — We're gonna take tangents upon a tangents upon a tangents. So let's go to Chrome. I think Chrome positive impact on humanities is immeasurable for reasons that you just described. On the technology front, the features that present the competition they created, it's spurred on this wonderful flourishing of web technologies. But anyway, I have to ask you about the recent stuff with the DOJ, trying to split up Chrome and Google. Do you think this is a good idea? Do you think this does harm? — It's a disaster.