This is an extension of my 2015 blog post https://bintanvictor.wordpress.com/2015/03/31/some-of-the-worst-technology-churns-letter-to-tanko/
Imagine you spent months of serious personal effort  learning to use, debug, and tune, say, MongoDB but after this project you only find projects that need just superficial Mongo knowledge. Developer time-investment has no recurring return. I think this is widespread in tech: A domain heats up attracting too many players creating competing products with varying degrees of similarity. We wish these products are mostly similar so we developers’ time investment can help us more than once, rather than learn-n-forget like 狗熊掰棒子. Often it takes decades to see some consolidation among the competitors, when most of them drop out of the race and we one player emerges dominant, or a common standard  is adopted with limited vendor extensions.
Therefore I see two phases : Proliferation -> Consolidation. The churn in the early phase represents a hazardous pitfall.
If we invest too much learning effort there we get burned.
- I don’t even know which company uses them
- ORM and database access “frameworks”–ADO.net, LINQ, EntityFramework, SpringJDBC, iBatis,
- Data Grid and NoSQL — Terracotta, Hazelcast, Gigaspace, Gemfire, Coherence, …
- MOM — tibco, solace, 29west, Tervela, zeroc
- machine learning?
- web app languages
- php, perl and the LAMP stack
- ASP and the Microsoft stack
- Java stack
 You could have spent the time on personal investment, or something else if not required by the project.
 Some positive examples of standardization —
- RDBMS vendors
- Unix vendors
- c++ vendors — mostly GCC vs Microsoft VC++
- Java IDEs; c++/java/c# debuggers
- cvs, svn, git
A few development technologies “free” of proliferation pains —
- socket and system programming — complexities are low level and in C not c++
- core java
- Unix know-how for testing, investigation, devops and process management
- shell scripting,
- regular expressions