|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- title: I hate almost all software
- url: http://tinyclouds.org/rant.html
- hash_url: b932828a2ee51364e222b82b9ba4e870
-
- <p class="date">October 2011</p>
-
- <p>It's unnecessary and complicated at almost
- every layer. At best I can congratulate someone for quickly and simply
- solving a problem on top of the shit that they are given. The only software
- that I like is one that I can easily understand and solves my problems. The
- amount of complexity I'm willing to tolerate is proportional to the size of
- the problem being solved.
-
- </p><p>In the past year I think I have finally come to understand the ideals of
- Unix: file descriptors and processes orchestrated with C. It's a beautiful
- idea. This is not however what we interact with. The complexity was not
- contained. Instead I deal with DBus and /usr/lib and Boost and ioctls and
- SMF and signals and volatile variables and prototypal inheritance and
- <code>_C99_FEATURES_</code> and dpkg and autoconf.
-
- </p><p>Those of us who build on top of these systems are adding to the
- complexity. Not only do you have to understand
- <code>$LD_LIBRARY_PATH</code> to make your system work but now you have
- to understand <code>$NODE_PATH</code> too - there's my little addition to
- the complexity you must now know! The users - the one who just want to
- see a webpage - don't care. They don't care how we organize
- <code>/usr</code>, they don't care about zombie processes, they don't
- care about bash tab completion, they don't care if zlib is dynamically
- linked or statically linked to Node. There will come a point where the
- accumulated complexity of our existing systems is greater than the
- complexity of creating a new one. When that happens all of this shit will
- be trashed. We can flush boost and glib and autoconf down the toilet and
- never think of them again.
-
- </p><p>Those of you who still find it enjoyable to learn the details of, say, a
- programming language - being able to happily recite off if NaN equals or
- does not equal null - you just don't yet understand how utterly fucked the
- whole thing is. If you think it would be cute to align all of the equals
- signs in your code, if you spend time configuring your window manager or
- editor, if put unicode check marks in your test runner, if you add
- unnecessary hierarchies in your code directories, if you are doing anything
- beyond just solving the problem - you don't understand how fucked the whole
- thing is. No one gives a fuck about the glib object model.
-
- </p><p>The only thing that matters in software is the experience of the user.
-
- </p><p><a href="https://news.ycombinator.com/item?id=3055154">HN comments</a>
- </p>
|