3 ms·
There is a financial incentive to over-complicate your project or job because it's job security to make a mess. When I call for parsimony (KISS, YAGNI, DRY, etc
by tabtab 4y ago
There is a financial incentive to over-complicate your project or job because it's job security to make a mess. When I call for parsimony (KISS, YAGNI, DRY, etc.), I am often given the stink-eye by IT staff. It's somehow "supposed to be" complicated.
Warren Buffett often says a key secret to his success is saying "no" to all the temptations, fads, and BS that come his way or come the financial industry's way. In software, lemmings are following the bloat and fads because it's usually the customer that pays the price when software projects careen off the edge of a cliff, not the lemmings. Developers often use production applications as training grounds for the latest fads so they can get a bigger job somewhere else.
Another problem is that web-standards are a poor fit for most everyday CRUD, requiring bloated buggy JS ui libraries to emulate GUI idioms that have been around for 3+ decades. A good state-ful GUI markup standards (and GUI browser/pluggin) would be quite helpful. And before you say Flash & Java Applets already tried that, they had two problems: first, they tried to be an entire virtual OS instead of just a display engine, overcomplicating themselves. Second, they resisted open standards.
I've seen Oracle Forms do small and internal CRUD cheap and quick with small quantities of code. It may be esthetically ugly, but there was something keen about it as far as developer productivity. If you tell fashion to go to Hell, you can simplify much of dev.
It was or acted like a "GUI browser" in that you install one client and then run gajillion apps off it, which is something desktop-based IDE's like Visual Basic, Delphi, and Clarion couldn't do. Oracle Forms had warts, but none that couldn't be fixed if somebody cared to fix them. (Oracle messed it up when they converted the client(s) from C to Java, as client-side Java made lots of mistakes.)
And for all the talk of making apps mobile-friendly, too few use it in office work in my observation. Maybe a roaming sales force, but few others. YAGNI was shot bloody dead by bloating our UI libraries to cater to mobile. Bootstrap's cat-like personality can kiss a pack of hungry dogs.
- q-big 4y ago> And before you say Flash & Java Applets already tried that, they had two problems: [...] Second, they resisted open standards. Flash was partially opened by Adobe: https://en.wikipedia.org/w/index.php?title=Adobe_Flash&oldid=1079980821#Open_Source https://en.wikipedia.org/w/index.php?title=Adobe_Flash&oldid... The SWF file format was documented by Adobe (and the documentation was freely available), many components of Flash were open-sourced, and the Flex framework was released as open source.
- tabtab 4y agoFor some reason no other respected company made their own Flash or Flash-like player with it. HTML took off in part because multiple vendors made browsers such that no one vendor could hold the industry hostage if they turned evil(er) one day. Being "open" on paper and open in practice are often 2 different things.
- q-big 4y agoThere were such projects, e.g. Shumway and Gnash: > https://en.wikipedia.org/wiki/Shumway_(software) https://en.wikipedia.org/wiki/Shumway_(software) > https://en.wikipedia.org/wiki/Gnash_(software) https://en.wikipedia.org/wiki/Gnash_(software) It is not Adobe's fault that these open-source projects did not succeed and their development ceased.
- tabtab 4y agoIt is partly Adobe's fault; they played legal games to scare away competitors. Plus, Flash was already falling out of favor by then. Competitors should have started in the late 90's. Also, cloning Flash also meant cloning its security flaws. To simplify the client and have less holes, shift more of the processing burden to the server side: it's easier to patch servers than user clients.