- criteria-E: efficiency, performance including platform-specific optimization.
- Ling of MS felt threading support is crucial
- many interactive or batch applications don’t care much about latency
- criteria-P1: proven, widely used in “my” community (me = tech lead), with mature ecosystem.
- criteria-F: killer features, including OO
- criteria : RAD, simplicity, ease-of-use
It is instructive to study the “dethrone” stories.
- Case: On server-side, java dethroned c++ due to P1, RAD, E
- In contrast, windows GUI seldom use java. They use 1)c++ 2)c# due to P1, F and E
- Case: Python dethroned perl due to RAD
- Case: shell scripting is very old but survived, due to F
- Case: php survived due to F (designed for web server side), RAD
20Y long term trend – demand for high-level language skillset is rising (unsteadily) relative to java/c++. The reasons are numerous and include RAD, F, P1 Q: which factor is the biggest threat to java? A: F, RAD, not E ! I guess the RAD productivity gap between java and python isn’t so big. For large modularized projects, java probably has a productivity advantage.