I’m going to be very cautious and not predict that we’re going to be telling computers what to do, but that it will look a lot like it does today, but that we’re going to be more productive, it’s hopefully going to be more succinct, we’re going to be able to say more with less code and we can be more declarative. We will hopefully have found good programming models for concurrency as that does seem to be an unavoidable trend.
Honestly, it’s anyone’s guess what it’s going to look like in the next 20 years, but certainly in the next 5 years those are the things that are going to be keeping us busy.
And do you have any advice for up-and-coming programmers?
I think it’s important to try to master the different paradigms of programs that are out there. The obvious object oriented programming is hopefully something that you will be taught in school. Hopefully school will also teach you functional programming, if not, that is a good thing to go look at.
Go look at dynamic languages and meta-programming: those are really interesting concepts. Once you get an understanding of these different kinds of programming and the philosophies that underlie them, you can get a much more coherent picture of what’s going on and the different styles of programming that might be more appropriate for you with what you’re doing right now.
Anyone programming today should check out functional programming and meta-programming as they are very important trends going forward.