Anders Hejlsberg is one of the foremost computer programmers in the world. As the creator of programming languages such as Turbo Pascal, Delphi, C# and TypeScript, and highly influential in building development environments such as Microsoft’s .NET, Hejlsberg has had an impact on millions of software developers. Hejlsberg recently sat with TNS news editor Darryl K. Taft for a wide-ranging interview via Microsoft Teams that sparked the following Q&A and an accompanying profile on his views on many things related to software development.
What are your thoughts on low code/no code?
Well, I think it’s obviously a massive potential area. And I think we all tend to forget that we already have like one of the world’s largest programming languages, depending on how you define programming languages in Excel. And Excel, you could argue is sort of a low-code/no-code way of writing programs, people do run programs, their spreadsheets are programs. You can do things, you type stuff in, and you run the program and things happen at the bottom of the spreadsheet where it delivers the answer, right?
I think the challenge has always been with these tools, how to put appropriate escape hatches in so that when you hit the glass ceiling of what this particular low-code environment can do, you aren’t stuck. There needs to be escape hatches that allow you to then move to a fuller or complete programming environment, which means there needs to be meaningful extensibility models.
So there are a whole lot of things that that one needs to think about that often aren’t at the forefront, because people tend to instead focus on drawing boxes and lines and how well the demos on these little examples do. But I’m always curious about does it scale to the real world? And a lot of tools there don’t meet that bar, but some do. It’s interesting.
Well, I mean, the whole thrust is to try to bring more people into the world of development and I guess a bunch of those would want to go further and become professional or at least become more adept.
Right. If you asked all the Excel users, they wouldn’t call themselves programmers, but you know, in a sense, they are.
Yeah, I kind of liken it to the meal kit services like Blue Apron and HelloFresh — they’ll get you started learning to cook, and then you can go off on your own and get better. What do you think is the next big thing to be conquered in software development?
So as always, if I knew what it was… I still think there’s an awfully large gap still to cover between the way we write code and the way machine learning can help us, and that’s going to be interesting because when you look at how our brains work, and how neural networks work, it’s never really about zeros and ones and absolutely correct answers. It’s all statistics and fuzzy logic if you will. And yet, all of our programming languages are all solidly rooted in logic, and provability, and so forth. And there’s a big gap between these two worldviews. It’ll be interesting to see how we ultimately bridge that gap. Or if we ultimately bridge that gap.
Let’s talk about security a bit. How important is security and this whole effort to “shift left” in software development?
Well, it depends on where in the stack you look. For programming languages, security is important in ways that I think very much impact the work I do. You could even argue that a type checker is a form of security. It’s exploitable holes in your software, right. And so programming languages indirectly think about security in that sense, right?
I think having tools that can analyze your code and point out possible security exploits are other ways that we look at it, but it is obviously a real-world problem. I mean, there are people in other places in the world that go to work every day and their job is to hack into western world companies. And it’s very actively what they’re paid a salary to do, right and that’s scary to think about. There are an awful lot of brains and people making a living off of exploiting technology. It’s sad to see, but it’s the reality.
What are your thoughts on Web3? And is there a need for new tools to do Web3 development?
Well, first we would need to agree on what Web3 is because it seems like people have all sorts of ideas. I do like the notion of rewarding creators and the ability to create digital assets and be rewarded for them. But there’s an awful lot of scammers and hangers-on and get-rich-quick people in that space too. And there’s an awful lot of environmental damage that you could attribute to some of the ongoings there with the mining and the energy use, so it’s a strange world. We’ll see where it all lands. So there are parts of it I like about parts and parts of it I detest.
I know you are totally busy at Microsoft, but are there any cool projects or efforts outside of Microsoft that have caught your eye?
There are certainly projects inside Microsoft that I think are very interesting. The whole confluence of developer tools and artificial intelligence and machine learning and some of the interesting things you can do there. And I don’t know if you’ve seen this project called Copilot that GitHub is building and then the ability to train a machine learning network on all of the open source code in the world, and then have it cough up interesting answers, is fantastic, right? Of course, it’s kind of like the wild west still because there are all sorts of unresolved issues around providence and IP rights, but it shows tremendous potential. And so I think that is fascinating. I’m keenly following that, for example.
Yeah, that was my pick for the top programming project of 2021. It was pretty big.
Yeah, it’s fascinating work. It really is. And particularly as a programmer, it very much sort of gives you an insight into what kind of intelligence we’re talking about, and in a sense, in some ways, the intelligence is a little bit of a misnomer because you can see how if someone has written this code before, it is remarkable the aggregate memory of such a machine learning model can be right.
It can find that piece of code in its memory. But if no one’s written it before, where it has to think about the solution, then strange things can come up. So there’s still a lot of ground to cover there. But it’s a remarkable tool because it sort of takes to the next level this notion of reuse, right? Let’s not do what someone else has already done.
The New Stack is a wholly owned subsidiary of Insight Partners, an investor in the following companies mentioned in this article: HelloFresh.