Every claim below is a statement made in this
recording, quoted word for word and linked to the second it was said, so
you can hear it rather than take our word for it. The wording comes from
the transcript published alongside the recording; the sentence above each
quote is our reading of the claim, not their wording.
Their wordsThat was always the idea, and that that goes back even to the predecessor of Turbo Pascal, this idea that it's not just a compiler. It's an experience, right? I mean, you don't just compile your programs. You also edit them. You also run them. You also debug them. You also have a runtime library. It all has to like fit together.
Their wordsIt was just better than all the competition. It was faster. It was smaller. Um it was more interactive and it was also cheaper. So, it was like 10 times better at a tenth of the price of the of the competition, right?
Their wordsAnd so, we kind of realized at that point, too, that maybe it's not a great strategy to to place your your development platform bet on on technology that's licensed from a competitor.
Their wordsWell, like I said, I mean the the overarching thing was this: power and productivity of C++ with the ease of use of Visual Basic in a sense, right?
Their wordsAnd quite honestly, language design is 90% the same and 10% new for for pretty much every language. Every language you build still has to have a compiler. Compiler is still built in a pretty much the same way.
Their wordsAnd everyone was cognizant of okay, if someone comes up with a new idea, now it's our job to try to shoot it down. What What's wrong with this idea? Do Do you know what I mean? And if it could go if it could stand the the test of of that, then it was probably a decent idea.
Their wordsYou can have the compiler write the state machine. If you introduce syntax that allows you to indicate where you want to yield. And that's what await is.
Their wordsSo that's unfortunate, and that's why some environments like Go, for example, has has Go routines and green threads, which are really language emulated lightweight threads that kind of do what I'm talking about, but but at a much lower cost. But you avoid the function coloring. So there is a bunch of different things, but but you know, but for an environment that already exists like JavaScript or like C# and and the Windows event loop and and whatever, this this was the right solution.
Their wordsbut lo and behold, they all run browsers with JavaScript in it. Lo and behold, the real cross-platform language isn't Java. It's JavaScript.
Their wordsI mean, surely you're not going to be best of breed in the JavaScript ecosystem by telling people to write in a different programming language.
Their wordswe knew from experience that you cannot build good tooling without a type system. You can build decent tooling, but it's never going to scale. It's never going to scale to large teams cuz you can't describe your intents in in the code.
Their wordsAnd we we full well knew that there was absolutely zero chance that we would appeal to the JavaScript ecosystem with a proprietary programming language licensed from Microsoft. No. No one was going to come. It had to be open source. There was just no two ways about it, right?
Their wordsYou know, there's open source and there's open development. And and and we were technically open source in the beginning, but it was not open development. We would sort of lob the source code out in this repository and scrape the issues off of that and put it into our internal issue tracker.
Their wordsAnd the reason they came, I think, is absolutely because of the the better tooling. And I think we were totally right there that like adding a an erasable type system and then using that to enable great tooling is really where the pro where the programmer productivity boost is realized.
Their wordsAnd so everything is lazy and deferred and functional and reusable inside the compiler. And it's a very different way of writing compilers than than what the textbooks will traditionally teach you.
Their wordsThe thing that makes it interesting, I think, and and unlike pretty much any other programming language is the gradual typing. This This notion that you can have types, but you don't have to have types.
Their wordsSo, if we're checking 99% instead of 100%, well, heck, that's better than the 0% that JavaScript checked, right? And it gives you like language features that no other languages can provide because they can't get to 100%.
Their wordsthat the language that's most suited for AI is the language that AI has seen the most of in its training set, right? And that's why you could argue AI does really well on JavaScript and TypeScript and Python because it's seen an awful lot of it
Their wordsbecause if you were to force AI to write a type annotation on everything, then it would probably get it wrong more often because now it has to keep track of all these types and and it and it has to just repeat itself over and over and over, right? And so, types are important where there's no context.
Their wordsI mean, you could argue that we we're already past peak truth on the on the on the internet, right? And now there's there's just more and more garbage every every day. It gets harder and harder to suss out the stuff that you do want to include in the training set in order to actually make something more intelligent.
Their wordsbut but if you have good locality where you you clearly stating what you're importing and whatever and and you can analyze just a single source file and from that extract its protocol to the outside world without having to to know anything deeper. Do you do you know what I mean? I think those are important aspects just simply to reduce the size of the of the of the context window and also make it easier to summarize each module in a program, right?
Their wordsAI today it's just starting to to become aware of you know the existence of of of language services and agents today like to use grep and awk and whatever you know to to find all the places where you reference a certain thing but it's not semantic search, right?
Their wordsIn a sense, we're all turning into project managers, right? And and we can have an army of junior programmers called agents that will just spit out reams of code, but someone's got to have the big picture and review all of that. And so, increasingly our craft is going from one of writing the code to one of of reviewing the code and and building the architecture of the code and overseeing the work, if if you will.
Their wordsBut but the thing is like doing programming languages, you come to realize it's a long play. I mean, if if you look back at the the stuff I worked on, it it it goes in 10-year cycles at least. And TypeScript didn't really, for example, or C# for that matter. I mean, it took it it takes 10 years to get to, you know, version one is great, but it has all sorts of issues, and then you got to do version two, and then it's not until version three that it really starts to be great.