News for hackers. Stuff that matters.
Re:People who disagree aren't trying to make things complex by james_s_tayler on Tuesday December 11, 2018 @04:21PM (#18659007)
Software is art, fashion and politics.
Re:People who disagree aren't trying to make things complex by agsdfgsd on Tuesday December 11, 2018 @04:57PM (#18659325)
Except not the first one.
Re:People who disagree aren't trying to make things complex by gtirloni on Tuesday December 11, 2018 @05:06PM (#18659406)
Re:People who disagree aren't trying to make things complex by james_s_tayler on Tuesday December 11, 2018 @05:40PM (#18659672)
Well you can implement the same program in endless different ways. Particular styles develop. Each piece of software is unique.

You're engineering with an artform that's why you see so much variation among the patterns.

Every portrait might be recognizable as a portrait, but every portrait is unique in its details.

Re:People who disagree aren't trying to make things complex by agsdfgsd on Wednesday December 12, 2018 @10:14AM (#18664544)
Different ways to do things is not art. Patterns emerging from those different ways is not art. Art is for emotional purposes:

"the expression or application of human creative skill and imagination, typically in a visual form such as painting or sculpture, producing works to be appreciated primarily for their beauty or emotional power."

Software developers have a tendency to try to claim artist status because what they do is almost entirely meaningless and a waste of time. The exchange of time for money is too transparent so they are unfulfilled and try to imbue their work with meaning. If you want to make art, do it, it can be a hobby. Yet another useless website created to shove more ads in people's faces is not art.

Re:People who disagree aren't trying to make things complex by Pete_D on Wednesday December 12, 2018 @02:59PM (#18667240)
I assumed OP was using a different definition of art (https://en.wiktionary.org/wiki/art#Noun):

> 2. (countable) Skillful creative activity, usually with an aesthetic focus.

> She's mastered the art of programming.

..

> 7. (countable) Skill that is attained by study, practice, or observation.

If that doesn't convince you, compare with such phrases as "The Art of War", "artisan bread", or "liberal arts" (which includes topics like philosophy).

Re:People who disagree aren't trying to make things complex by taneq on Tuesday December 11, 2018 @05:03PM (#18659376)
Good software solving an interesting problem can be art.
Re:People who disagree aren't trying to make things complex by lotyrin on Tuesday December 11, 2018 @05:20PM (#18659533)
Got 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.).

Re:People who disagree aren't trying to make things complex by taneq on Wednesday December 12, 2018 @08:05PM (#18669083)
One 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.
Re:People who disagree aren't trying to make things complex by jarjarblanks on Tuesday December 11, 2018 @05:46PM (#18659707)
Re:People who disagree aren't trying to make things complex by quickthrower2 on Tuesday December 11, 2018 @05:13PM (#18659468)
and food (software is eating the world)
Re:People who disagree aren't trying to make things complex by 0xdeadbeefbabe on Tuesday December 11, 2018 @06:50PM (#18660118)
No it's about right and wrong. That's why software is fundamentally binary.
Re:People who disagree aren't trying to make things complex by james_s_tayler on Tuesday December 11, 2018 @06:59PM (#18660164)
That'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.

Re:People who disagree aren't trying to make things complex by lemmsjid on Tuesday December 11, 2018 @08:20PM (#18660586)
Usually 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.
Re:People who disagree aren't trying to make things complex by quickthrower2 on Tuesday December 11, 2018 @07:06PM (#18660202)
Who decides if something is right or wrong? Have you never heard a developer debating "is this a bug? is this a feature?"