How Does the TypeScript Team Try to Avoid Negative Effects on the JS Ecosystem
AI Generated Video Summary
1. Introduction to TypeScript and its Influence
Okay, so get started. My name is Ohto the Rocks. I've been doing large scale open source projects for a very long time, starting with a dependency manager for iOS. Moving on to this sort of cultural tool of across many different programming languages allow you to sort of create linter rules around how pull request etiquette works.
And I spent a lot of time, quite recently, just working in the TypeScript era, like trying to figure out how to build complicated tools for it, and how all these pieces come together. That eventually sort of turned into me working on TypeScript full time. And so now that means I've got quite a lot of insight that I think would be super useful and it's kind of unique. So I'm gonna try and talk about how all that comes together.
So the goals of this talk are to try and make it a little bit different from your average TypeScript talk. Most talks about TypeScript try and talk about, like, what features are useful or, you know, how to provide useful editor tools, things like that. But this talk actually, like, takes a step back and tries to think about how TypeScript affects the entire sort of industry. And you know, what the TypeScript team does to try and make sure that that's entirely copacetic. So buckle up and we'll have a good time.
To get started, we'll talk a little bit about the TypeScript team, if you don't know. We're roughly eight people that work on the compiler, and about 20 folks altogether. That means project managers. And there's an entirely other team whose job is to handle the integration with Visual Studio, not Visual Studio code, which is quite a considerable amount of work. And they do a huge amount of, like, good bug tracking and making sure that, like, TypeScript is as bug-free as possible.
2. TypeScript's Influence and Popularity
3. TypeScript's Impact and Playground
So first off, when I thought about this, you can't charge for a compiler anymore. There's just too many really good compilers. TypeScript competes with Flow or Haggle or ClojureScript or Elm, and all of these are free and open source that anybody can contribute, anyone can improve, and are continually getting better every day. Suddenly TypeScript to turn around and start charging money for it or to go closed source is not very feasible. The co-creators of TypeScript, Anders Heidelberg, he created C Sharp, and Pascal, I think, he said at this point, basically no one's ever going to make a closed source programming language or charge for a compiler stuff ever again. And I think that's cool. I mean, I'd prefer to be in that ecosystem.
5. TypeScript's Influence and Compatibility
So for TypeScript, adding changes to the entire type system and adding new language features, that is hard, complicated work. And so we really want stability before we actually go for new features like this. And so it's not in TypeScript's advantage to actually try and do these things ahead of time, but to be stable and wait until everybody's agreed on what it looks like before implementing. Because it's so much more work, and if you get it wrong, then we may have to have multiple implementations of the same thing inside the codebase and that's really complicated. So that's realistically the main reasons why TypeScript puts constraints on itself. Design constraints to force ourselves into doing it the right way.
TypeScript Support for JS and JS Docs
Let us know all of your favorite things. Have a good one. Ciao, everyone.
What is your favorite TypeScript feature that is currently on the roadmap? So my favorite feature is actually I think the website's coming out with 4.0. So the revised website with all the new stuff in there. It's like so long that I wrote three separate blog posts about what's coming up in this website change. I think it will fundamentally make it a lot easier for people to learn TypeScript. Cool. Okay, next question because we're pressed for time. Many questions. This one is from Danilo. I've seen some people run TypeScript code in runtime with ts-node as opposed to building it before deploy and running node directly. Does the TypeScript team recommend one or the other way? So, I mean, I have a personal recommendation. I think the rest of the TypeScript team would probably agree with me is that it is better to transpile all your code first and then run it. I think of it as simply there are less moving parts in your system. Ts-node is solid, mature, and great. But like doing all the work ahead of time and then providing something to then work from is personally a great way to do it. Deno does that effectively and is an entire runtime built around that.
Pain Points and Corporate Open Source
So that's only one abstraction and not two. So ahead of time is my opinion. Right, noted.
All right. What are the main pain points and this is again from Danilo, by the way, what are the main points to allow more people in the community to use TypeScript? What are the things that are maybe a blocker for people to start using TypeScript?
Yeah, which maybe is where docs comes into play as well, right?
We're not saying stealing. We're saying inspired by, right?
Yeah, you know, great honesty. Alright, let me see. There's so many questions I can't choose. I wanted to just throw in one of my own. Say TypeScript being a Microsoft project, do you think that makes it different from other open source projects in terms of community? It's an interesting question, right? That leads to, like, what is corporate open source? Microsoft used to ship languages closed source. In fact, Microsoft used to be very against open source as a conceptual idea. And quite recently, within the last decade, changed that line completely. Now my work is entirely done in the open. I think that working on corporate open source means that you have to put a lot more effort into support and you have to put a lot more effort in ahead of time to do the work that's kind of boring. The amount of accessibility work I have to do is so much more involved than previous work that I've done. And this is great, because, like, building better and more accessible tools makes it available for everybody and rises the tide. But the tradeoff is this is days to months of my work.
Accessibility, Competitors, and Q&A
Accessibility work in TypeScript includes supporting multiple languages, localization, and improving the website's usability. TypeScript has no real competitors on the horizon. Join the Q&A Zoom room to ask more questions and maybe see a dog. Thank you, Orta!
And that kind of slows things down, but at the same time allows more people access. And that's totally valuable. These are the sort of things that if you're doing open source on your own, unless you've got good foundations to work from, chances are you might be missing a lot of things that allow more people to have access to these tools.
So... And that is super interesting. Can you give an example of some of that accessibility work that you've been doing? Well, the easiest one to think about is straight up, like, supporting multiple languages. If you're learning a programming language, do I need to learn English in order to learn TypeScript? Yes. Does that suck? Yes. And, like, you know, we now support Japanese, Chinese. There's Portuguese and Spanish support in the website already so that people can learn in their own language. And then they can, you know, they can write their variables in their own language, and some of the examples do now.
All right. And I'm sorry we can't, all of the questions. I would advise for people to join Orta in the speaker Q&A Zoom room later on. There was one more thing where there was ask for a picture or like a dog should enter the stage. I don't know if we're talking about your dog, about my dog, someone else's dog. Please specify what dog this request is about in the Q&A room and we'll see if we can make it happen. So as I said, Orta, thank you so much for your talk. People will join you in the Zoom room so they can ask the remainder of the questions and maybe look at your dog. I don't know. I would also say thank you so much. You're welcome. Have a good one, everybody. Black lives matter.