5 ms·
Software is art, fashion and politics.
by james_s_tayler 8y ago
Software is art, fashion and politics.
- 0xdeadbeefbabe 8y agoNo it's about right and wrong. That's why software is fundamentally binary.
- james_s_tayler 8y agoThat's what people make it about. It's classic misdirection. You know, the 20th century American sci-fi writer Robert A. Heinlein in his 1953 novel Assignment In Eternity wrote "man is not a rational animal; he is a rationalizing animal." And Aristotle said that man was a political animal. I deduce from that that "man is not a political animal; he is a politicizing animal." That's why we get arguments and debates around there subjects and they become so heated. The truth of the matter is the only way it's possible to compute the answer to any given programming debate is to implement all suggestions in parallel universes and see which one doesn't cause World Was III inadvertently. You can't compute the answer, so you go off hueristics of what's a) what's popular in the wider community (fashion) b) what's popular in your local community (politics) and c) what's popular with you (art). I need to write a full article on this viewpoint at some stage.
- quickthrower2 8y agoWho decides if something is right or wrong? Have you never heard a developer debating "is this a bug? is this a feature?"
- lemmsjid 8y agoUsually software design debates (such as this one) are not about the state of a software application right now (the 0's and 1's), but about how quickly it can change, how well it can be understood, and how amenable it is to debugging. None of those are binary concepts. Not to mention that software applications can have many states to reason about. And many (most?) applications are undecidable, and hence resistant to analytical closure.
- agsdfgsd 8y agoExcept not the first one.
- taneq 8y agoGood software solving an interesting problem can be art.
- lotyrin 8y agoGot any examples? I'd love to see them. Something that's beautiful in its problem set (doesn't, for instance, act as glue between other, poorly designed systems and thereby reflect their flaws), beautiful in its solutions (doesn't solve too much, nor too little, doesn't make too many assumptions), beautiful in its use (user experience, performance, etc.), and beautiful in its implementation (quality under the hood, no accidental complexity, properly factored, easy to understand and maintain) is quite rare for any problem with a scope larger than say "cat", and even most programs of that size make sad assumptions about things (e.g. are in languages where things are type/memory safe as a practice of the authors' diligence, not verifiable as a matter of course) or have to reflect the complexity of the OS/machines they run on for various reasons (performance, security, etc.).
- jarjarblanks 8y agohttps://svn.apache.org/repos/asf/subversion/trunk/subversion/ https://svn.apache.org/repos/asf/subversion/trunk/subversion...
- taneq 8y agoOne off the top of my head is Abrash's perspective correct rasterizer for the original Quake. Come to think of it, the BSP+PVS system for visible surface determination that they used was also pretty amazing.
- gtirloni 8y agoThis might change your mind: https://en.m.wikipedia.org/wiki/International_Obfuscated_C_Code_Contest https://en.m.wikipedia.org/wiki/International_Obfuscated_C_C... https://en.m.wikipedia.org/wiki/Demoscene https://en.m.wikipedia.org/wiki/Demoscene
- quickthrower2 8y agoand food (software is eating the world)