Thanks Paul, I do kind of feel like people are lining up to call me an idiot about writing this. But hey I kind of knew I painted a big target on myself by calling perhaps the two most popular languages in the industry obsolete.
Allthough I really just a tourist here. I am not a Java, C# or Go developer. But I thought it might be fun to think out loud together where this industry is going. Throw out some perhaps provocative ideas and get the conversation going.
Of course when people only call you an idiot, there isn't much room for further exploration of ideas. I think people get a bid blinded by the share size of the Java and C# ecosystems and what you can do with them.
One mistakes the capability of the tools with the soundness of the underlying philosophy and thinking.
This field is most certainly going to keep changing. In Julia which I follow most we are seeing an emergent understanding of the importance of being able to do semantic reinterpreation of code. That is a bit too big topic to drop into here. But it means a sort of reinterpretation of what the code should do.
This is required in a wide variety of fields, machine learning being one. Julia is very well suited for this, but Rust, Go and Swift are not.
And this will require a distribution of code representation very different from what we do today. This requires somehing more akin to lowered code rather than byte code. It needs to tag code with a lot of info that your current bytecode format don't add.