Anders Hejlsberg
Danish software engineer and Microsoft technical fellow, creator of Turbo Pascal and Delphi and lead architect of C# and TypeScript.
Anders Hejlsberg did not write this page. What is this?
It collects the places they publish and what they have said there, each linked to the source. They have no account here. Is this you? Claim it, correct it, or ask us to remove it from ppll.
Where they publish
No channels checked yet. We list a place only once someone has opened it and confirmed it is theirs, so this stays empty rather than guessing.
Beliefs
Korrents What they believe 26 beliefs — each backed by an exact quote.
Each is a — compiled by korrents.com, not by them: the one-line wordings are korrents', the quotes are theirs.
Recent
A programming language is not a compiler but an experience: editing, running, debugging and the runtime library all have to fit together as one cycle.
That 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.
TypeScript, C# and Turbo Pascal with Anders Hejlsberg Said 13 May 2026
Turbo Pascal won because it was ten times better at a tenth of the price — faster, smaller, more interactive and cheaper at once.
It 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?
TypeScript, C# and Turbo Pascal with Anders Hejlsberg Said 13 May 2026
It is a bad strategy to bet your development platform on technology licensed from a competitor.
And 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.
TypeScript, C# and Turbo Pascal with Anders Hejlsberg Said 13 May 2026
Show 23 more
C# exists because developers wanted both things at once: the power and productivity of C++ with the ease of use of Visual Basic.
Well, 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?
TypeScript, C# and Turbo Pascal with Anders Hejlsberg Said 13 May 2026
A language should be designed by a small group of people rather than by one person.
I think early on we decided that we want to have a team of people design this language, not just one.
TypeScript, C# and Turbo Pascal with Anders Hejlsberg Said 13 May 2026
The job of a design group is to try to shoot down every new idea; the ones that survive the attempt are probably the good ones.
And 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.
TypeScript, C# and Turbo Pascal with Anders Hejlsberg Said 13 May 2026
Language design is ninety per cent the same work every time and ten per cent new, which is why the experience carries from one language to the next.
And 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.
TypeScript, C# and Turbo Pascal with Anders Hejlsberg Said 13 May 2026
Writing state machines by hand is a nightmare and exactly the kind of transformation a compiler should do for you — which is all await really is.
You 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.
TypeScript, C# and Turbo Pascal with Anders Hejlsberg Said 13 May 2026
Function colouring is the real cost of async/await, and green threads like Go's avoid it — but for an existing runtime such as JavaScript or C#, async/await was still the right solution.
So 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.
TypeScript, C# and Turbo Pascal with Anders Hejlsberg Said 13 May 2026
The language that actually delivered write-once-run-anywhere was not Java but JavaScript, because every new device turned out to ship a browser.
but 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.
TypeScript, C# and Turbo Pascal with Anders Hejlsberg Said 13 May 2026
You cannot be best of breed in an ecosystem by telling its developers to write in a different programming language.
I 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.
TypeScript, C# and Turbo Pascal with Anders Hejlsberg Said 13 May 2026
You cannot build good tooling without a type system — decent tooling perhaps, but nothing that scales to a large team.
we 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.
TypeScript, C# and Turbo Pascal with Anders Hejlsberg Said 13 May 2026
A proprietary language licensed from Microsoft had zero chance in the JavaScript ecosystem: TypeScript had to be open source or nobody would come.
And 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?
TypeScript, C# and Turbo Pascal with Anders Hejlsberg Said 13 May 2026
Publishing the source is not the same as developing in the open, and only the second changes how the work actually goes.
You 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.
TypeScript, C# and Turbo Pascal with Anders Hejlsberg Said 13 May 2026
People adopted TypeScript for the tooling, not the types: an erasable type system is worth having because of the productivity the tooling built on it delivers.
And 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.
TypeScript, C# and Turbo Pascal with Anders Hejlsberg Said 13 May 2026
A compiler that also serves an IDE has to be lazy and deferred throughout — a different way of building compilers from the one the textbooks teach.
And 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.
TypeScript, C# and Turbo Pascal with Anders Hejlsberg Said 13 May 2026
Because its types are erased before the program runs, TypeScript can afford not to be sound: checking 99% beats the 0% JavaScript checked, and buys features a sound language cannot offer.
So, 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%.
TypeScript, C# and Turbo Pascal with Anders Hejlsberg Said 13 May 2026
What makes TypeScript unlike almost every other language is gradual typing: you can have types, but you do not have to.
The 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.
TypeScript, C# and Turbo Pascal with Anders Hejlsberg Said 13 May 2026
The language best suited to AI is simply the one the models have seen most of in training, which is why they do so well on JavaScript, TypeScript and Python.
that 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
TypeScript, C# and Turbo Pascal with Anders Hejlsberg Said 13 May 2026
Forcing an AI to annotate every type would make its programs worse, not better: annotate where there is no context, and let inference do the rest.
because 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.
TypeScript, C# and Turbo Pascal with Anders Hejlsberg Said 13 May 2026
Locality is what makes a language good for AI: if a single file states what it imports and what it offers, a model never has to hold the whole program at once.
but 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?
TypeScript, C# and Turbo Pascal with Anders Hejlsberg Said 13 May 2026
The internet is already past peak truth, and picking out training data worth learning from will only get harder.
I 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.
TypeScript, C# and Turbo Pascal with Anders Hejlsberg Said 13 May 2026
An agent grepping for a name is not semantic search, and the language services an IDE already has are what AI will increasingly need.
AI 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?
TypeScript, C# and Turbo Pascal with Anders Hejlsberg Said 13 May 2026
Programmers are turning into project managers of an army of junior agents, and the craft is moving from writing code to reviewing it and holding the architecture.
In 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.
TypeScript, C# and Turbo Pascal with Anders Hejlsberg Said 13 May 2026
Responsibility for a program lies with the programmer and never with the AI — there is nobody else to hold to account.
And ultimately also, you know, the responsibility for a program does not lie with the AI. It lies with the programmer.
TypeScript, C# and Turbo Pascal with Anders Hejlsberg Said 13 May 2026
A programming language is a ten-year play: version one has issues, version two fixes them, version three is finally good — and only then does adoption start.
But 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.
TypeScript, C# and Turbo Pascal with Anders Hejlsberg Said 13 May 2026
What is a korrent?
A korrent is a belief a person has stated in their own words: one sentence stating the claim, backed by a quote and a source, kept at korrents.com.
Under a name here, the quoted block is what they actually said. The korrent beneath it is the claim those words support, in korrents' wording — tap it to see the record, its source, and who else holds it.
Nobody here wrote their own korrents. They are compiled from public statements, and a person can change their mind, which is recorded too.
About the English under a post
Some people here publish in a language other than English. Where they do, this site shows a machine translation beneath the post, in this typeface — the site's own, not theirs.
The post itself is never changed, moved or hidden: what is set in the serif above is exactly what the person published, and it is what to quote them on. A translation can be wrong in ways that matter, especially about tone.
Only the post's own words are translated. A quoted post, a linked article and a belief on korrents.com are left in their original language.