Anders Hejlsberg
๐ค SpeakerAppearances Over Time
Podcast Appearances
Um, and, and, and, and that worked really, really well because, because we could just jump right in.
you know, and have two hours of technical discussion.
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's wrong with this idea?
Do you know what I mean?
And if it could go, if it could stand the test of that, then it was probably a decent idea.
And so that was kind of how we ran the design.
And then I wrote
the specification of the language in parallel with our design meetings.
And then we had a group that was in parallel implementing the compiler in actually implementing it in C++, or rather C++-, because we didn't use all of the C++ features, you know, in that compiler implementation.
But it wasn't until the Rosslyn project that we self-hosted the C Sharp compiler.
a project that came later to build the compiler in itself.
And also early on, you know, this is, you got to remember back then, IDEs were not really all that fancy, you know?
I mean, we have syntax colorization.
Statement completion was kind of like, well, some IDEs were starting to dabble in it, but it wasn't really a norm.
So we built like, in a sense, a classic IDEs.
compiler, but then we also built this like mini language servicey thing that, that sort of cut some corners and whatever, but could do some rudimentary statement completion and syntax coloring.
But in a sense, we had two implementations that we had to evolve in parallel.
And over time that became quite a drag, right?
Because as we added generics and added other features and link and whatever, and it was like, oh my God, now this is like, we got to go implement all of these features twice.