Sunday, October 21, 2018
There's this thing that software developers seem to do: they seem to invent all sorts of alternative ways of doing the same thing, and those things all come together to make getting anything actually achievably done well-nigh impossible. Or at least really depressingly tricky and laborious and painful and error-prone and slow.
For example, all the different ways there are to build a Java/JVM based project. Makefiles, Ant, Maven, Ivy, Leiningen, Gradle, Eclipse, Intellij, NetBeans, et. al. (Or, say, all the ways to try to build a JavaScript thing using modules.)
The fundamental epic fail of it all is that pretty much none of these things support a layer of meta abstraction and introspection that would let us actually debug them. These systems commit a cardinal sin of programming ux: being only a write-forward system with no closing of the loop via debugger tools. I have no way to know what thing I need to adjust in order to get my build to work. If you search around for people trying to solve similar problems, you will see a ton of trial-and-error crap. ("It worked on my machine." "I don't know what I did, but suddenly it started working." "Try uninstalling and reinstalling." etc.)
The fact that this kind of development environment doesn't seem to make anybody bat an eyelash and wonder, "is there a better way?" makes me so utterly steam-coming-out-of-my-ears hopping mad - and depressed.
For example, all the different ways there are to build a Java/JVM based project. Makefiles, Ant, Maven, Ivy, Leiningen, Gradle, Eclipse, Intellij, NetBeans, et. al. (Or, say, all the ways to try to build a JavaScript thing using modules.)
The fundamental epic fail of it all is that pretty much none of these things support a layer of meta abstraction and introspection that would let us actually debug them. These systems commit a cardinal sin of programming ux: being only a write-forward system with no closing of the loop via debugger tools. I have no way to know what thing I need to adjust in order to get my build to work. If you search around for people trying to solve similar problems, you will see a ton of trial-and-error crap. ("It worked on my machine." "I don't know what I did, but suddenly it started working." "Try uninstalling and reinstalling." etc.)
The fact that this kind of development environment doesn't seem to make anybody bat an eyelash and wonder, "is there a better way?" makes me so utterly steam-coming-out-of-my-ears hopping mad - and depressed.
Subscribe to:
Posts (Atom)