Slashdot Mirror


Software Aesthetics

cconnell writes: "Most software design is lousy. Most software is so bad, in fact, that if it were a bridge, no one in his or her right mind would walk across it. If it were a house, we would be afraid to enter. The only reason we (software engineers) get away with this scam is the general public cannot see inside of software systems. If software design were as visible as a bridge or house, we would be hiding our heads in shame. This article is a challenge to engineers, managers, executives and software users (which is everyone) to raise our standards about software. We should expect the same level of quality and performance in software we demand in physical construction. Instead of trying to create software that works in a minimal sense, we should be creating software that has internal beauty." We had a good discussion on a related topic half a year ago.

3 of 748 comments (clear)

  1. Re:Beautiful software by consumer · · Score: 0, Flamebait

    If you were coding *well* in Perl, your code would be beautiful. Perl can be very aesthetically pleasing and easy to read when done right. Don't blame it all on your tools.

  2. Re:A better look by Callitrax · · Score: 0, Flamebait

    every part of the code is transparently clear -- there are no sections that are obscure to gain effciency
    That would be code I would be embarrassed to write.
    As an illustration take these two math functions as an example:
    F(x) = .46x^3 - 1.4x^2 + 2.4x -.3
    G(x) = ((.46x - 1.4)x + 2.4)x - .3
    F(x) is cleary a cubic function.
    G(x) is more obscure as to what it does.
    But if you do the math F(x)=G(x). The difference between the two forms?
    G(x) uses 3 multiplications and 3 additions
    F(x) uses 6 multiplications and 3 additions
    Any program that uses F(x) in place of G(x) does have a name associated with its quality:
    Crap!

  3. pretty code by Magius_AR · · Score: 0, Flamebait
    You want pretty code? Simple.


    Change all existing code that looks like this:

    void myfunc() {
    while(1) {
    }
    }

    to look like this:

    void myfunc()
    {
    while(1)
    {
    }
    }

    Obviously more aesthetic, symmetric and eye-pleasing. Its step one towards prettier code.


    Magius_AR