Thursday, December 12, 2019

Lost it

There are some things, I will refer mainly to technologies, that in my opinion lost contact with reality and their audience.

1. C++
It started well as an object oriented language that was productive enough and prevented sone 'shoot yourself in the foot' behavior. It was familiar to C programmers and expressive enough to construct large-scale software. It fitted almost everywhere. Then there came STL, a brilliant idea, but it created chaos and made the language extremely hard to read. Then there was boost, another layer on top of STL trying to solve everything. Then the countless C++ revisions 0x11, 0x13, 0x17... They were meant to simplify the language (auto, lambdas, etc) but instead they succeeded to make it more unreadable. I had a shock when I tried to read C++ with the new 0x14 syntax extensions. It was... incomprehensible. Tooling is also suffering - only CLang is striving to offer some now taken for granted features of other languages in C++. Still no standard library. No common string type. Bizarre paralel features.

Right now, although still powerful, it is eaten by Rust, Swift, Go, D - all lighter and flexible alternatives to C++.

2. Angular
Again good idea ended bad. AngularJS/1 was not inline with WebComponent/Polymer but tried to impose some programming discipline. Then came Angular/2. Typescript. Why??? What was the added value. Compatibility was broken. No migration tooling. Still no Polymer conformance. Then Angular/4. Nightmare. There are simpler ways to keep JS SPA fit and sane as Flux/Redux, React, Vue.