I’ve been thinking a lot about programming languages. Especially on what the “next big thing” after OOP will be (and I’m talking of the magnitude of OOP vs. traditional imperative programming). I’d predict we’ll end up with such a new paradigm in like 10 years, and it’ll do away with OOP like OOP did with traditional imperative programming. It won’t be Aspect Oriented Programming. It won’t be UML and all its sublanguages. It won’t be a pure functional paradigm, these have been around a long time already. It’ll have to have multithreading support in a very natural way (multithreading is somewhat ugly in all the OOP languages with locking and such; in theory it should be very nice in functional and logic languages, but I’m not aware of anyone actually making use of that…)

I guess it’ll be around data flows, and it will offer a range of detail levels, so that on the one end you can do amazing things with a few lines of code (like in python or ruby), but it’ll also be possible to use (and enforce if needed) lots of constraints for validity checking such as typing, value constraints, pre- and postconditions and so on. And it won’t be graphical like all the UML stuff, because coders type a lot faster than they click. It will however need to come with a very very powerful editor offering benefits from both the Eclipse and the VI worlds.

It will be very interesting to watch these developments.

Oh, and I have intentionally no comments on my blog.