Thanks to god after year 2000 information technology has started moving towards more pragmatic, simple and effective tools and languages. Some examples that in my opinion make this evident :
Languages and language tools
- go, rust, swift are all born with the goal of simplifying their direct parents (c++, objectiveC) and removing their pitfalls.
- UML abandoned : this is a relief for all coders which had to deal with it. I don’t know anyone using it nowadays.
- git : finally some one (thanks Linux Torvalds) simplified svn/sourcesafe by putting features that are needed by developers in a clear, pretty intuitive command line interface
- atom/sublime : reaction to the complexity of Visual Studio, IBM Rational, Eclipse ? I think yes
- Key-value stores/noSQL are just taking ER/SQL model and making it simpler, providing only the features needed in 99% of the applications. Boyce-Codd normal form is pretty nice and interesting but in real world applications you’ll never use it.
- Object Databases completely disappeared and in some way also the idea that OO methodology/hierarchy could be applied everywhere (just because you are where using OO languages)
- docker/rkt are slim alternatives to virtualization and virtual machines
- plain old REST API aren’t just a simple way for doing things without having to Corba/Soap ?
- gRPC : provides corba like features while being 1 order of magnitude more efficent and portable on any platform.
What I’m saying is that the 90s produced a lot of unnecessarily complicated tools and technology which developer just did not need/like which is being progressively substituted with simpler stuff.