About programming languages as such... Once and forever, a context-free programming language should become a basis for all of our development efforts.
By context-free I mean an absolutely formal language, so that semantic meaning of any expression written in it can not be interpreted depending on context, in other words, it any expression is unequivocal and has one and only one menaing. These languages are formal, can be automatically checked for semantical (not syntactical) correctness.
Java is not one of these, even though I love it for reasons too numerous to provide here.
I mean, that's the future, guys and gals. Context free languages, and XML is on it's way there. It's not programming language, but XML's self-descriptivness, schema, validation, etc. can help in development of a context free programming language of the future.
We need to automate prooving of correctness of our systems.
Let's be serious, what did IT as profession achived in 40 years? Bugs, bugs, bugs. Here is a new idea: no bugs by design. Semantics, people, semantics. The whole IT industry is build on the foundation of buggy software, businessmen love it, since fixing bugs is a big business.
I can imagine a corporation, which mission statement is:
We are in bugs fixing business. We make them, we fix them.
There are formal context free OO languages - Z, or something like that.
I think, what we are doing right now in SW and App developemnt is just fooling around and pretending how smart and knowledgeable we are. But the truth is, we just are not serious about 100% correct systems.