Menu
Sign In Search Podcasts Libraries Charts People & Topics Add Podcast API Blog Pricing

Anders Hejlsberg

๐Ÿ‘ค Speaker
701 total appearances

Appearances Over Time

Podcast Appearances

The Pragmatic Engineer
TypeScript, C# and Turbo Pascal with Anders Hejlsberg

So anyway, but I mean, generally speaking, I think JavaScript is a, is a nice little language.

The Pragmatic Engineer
TypeScript, C# and Turbo Pascal with Anders Hejlsberg

It just has some issues, you know, and then, and I think we're very good at teasing them out with our type checker.

The Pragmatic Engineer
TypeScript, C# and Turbo Pascal with Anders Hejlsberg

Right.

The Pragmatic Engineer
TypeScript, C# and Turbo Pascal with Anders Hejlsberg

And so, so once you have a checker that can warn you, Hey, you're about to do something stupid here.

The Pragmatic Engineer
TypeScript, C# and Turbo Pascal with Anders Hejlsberg

Then.

The Pragmatic Engineer
TypeScript, C# and Turbo Pascal with Anders Hejlsberg

It's not so bad.

The Pragmatic Engineer
TypeScript, C# and Turbo Pascal with Anders Hejlsberg

The thing that makes it interesting, I think, and unlike pretty much any other programming language is the gradual typing.

The Pragmatic Engineer
TypeScript, C# and Turbo Pascal with Anders Hejlsberg

This notion that you can have types, but you don't have to have types.

The Pragmatic Engineer
TypeScript, C# and Turbo Pascal with Anders Hejlsberg

Other languages force you to type everything, right?

The Pragmatic Engineer
TypeScript, C# and Turbo Pascal with Anders Hejlsberg

Because they in turn use that information to generate machine code, you know, based on what the type is, you know, different instructions for float versus whatever, where in JavaScript,

The Pragmatic Engineer
TypeScript, C# and Turbo Pascal with Anders Hejlsberg

The types or in TypeScript, the types are there purely for the development experience and the checking.

The Pragmatic Engineer
TypeScript, C# and Turbo Pascal with Anders Hejlsberg

When the program runs, they're all gone.

The Pragmatic Engineer
TypeScript, C# and Turbo Pascal with Anders Hejlsberg

Now, of course, there are still types, but they're all dynamically computed.

The Pragmatic Engineer
TypeScript, C# and Turbo Pascal with Anders Hejlsberg

But that's kind of interesting because that means in the language, we don't necessarily have to prove 100% correctness.

The Pragmatic Engineer
TypeScript, C# and Turbo Pascal with Anders Hejlsberg

And a lot of language features that we have, we can't 100% prove correctness.

The Pragmatic Engineer
TypeScript, C# and Turbo Pascal with Anders Hejlsberg

Like in a structural type system with recursive types, there are just cases that you can't analyze because the types are infinitely recurring.

The Pragmatic Engineer
TypeScript, C# and Turbo Pascal with Anders Hejlsberg

The more you try to relate two types, the deeper you go and you're just staring into the recursive abyss.

The Pragmatic Engineer
TypeScript, C# and Turbo Pascal with Anders Hejlsberg

You know what I mean?

The Pragmatic Engineer
TypeScript, C# and Turbo Pascal with Anders Hejlsberg

But you can kind of go, well, we've proven it to four levels.

The Pragmatic Engineer
TypeScript, C# and Turbo Pascal with Anders Hejlsberg

That's probably good enough.