I was thinking last night, I'd forgotten my musings on simplicity. Simplifying the problem - or more exactly, rearranging the problem to simplify the solution - is important to me. Sometimes it brings other benefits. For example, I like Forth blocks, they help me organize and they're great for those little one-use scripts which are just a bit too big to enter comfortably on a command line. Sometimes not so much; I think the order of items on Forth's stack will always slow me down.
Some time in the 80s or 90s, there was a unix marketting slogan, "90% of the power for 10% of the cost." It reminded me of how looking after the little details is what pushes the cost of luxury goods up so high - or it was before manufacturing technology improved. As much as I like programs to work perfectly, I wonder if we're all doing the same with programming as a matter of course. Trying to cover every corner case seems very much like building a Rolls Royce. Maybe a Ford would do the job just as well. Sometimes, a Rolls Royce is just too stuffy and I want to crank the windows down on my 70s Ford and roar out onto the highway!
I literally didn't like it when advancing manufacturing technology made it possible for every manufacturer to make their cars all plush and stuffy inside. I also didn't like the newer Ford convertible I had - if I've got the roof down, I want to be able to feel it; not be cocooned indistinguishably from a hardtop! But I've gone off on a tangent again.
On the other hand, it's just a huge pain when some things aren't right, like the Javascript compiler I was using last night which literally got both modulus and bitwise AND wrong! I suspect it's an "everything is floating point" problem. It's a simplification which I liked in BASIC in the 80s, but now I know too much about integers and appreciate them too much to live without them. I suspect most programmers feel that way about some or other features. (
Here's the compiler. First time I've written any JS; learned syntax by placing those silly block things and switching to the code.) EDIT: It's not modulus or AND; it fails to count consistently whatever logic I use.
The other thing that annoys me is when the vast array of details in documentation makes hard to find a simple feature which can provide "90% of the power for 10% of the cost," where the cost is time and effort. My example of choice is Python 3.7's socket module, where it took me a lot of effort to find how to open a TCP stream - technology which was good enough for telnet, ftp, ssh, http and irc for decades. It would have gone quicker if I was more familiar with the subject, but that goes for everything. All this complexity squeezes out generalists, and I'm not the right kind of obsessional to be a serial specialist. And so many tutorials seem to make the simple things
more complex while using unfamiliar language.