http://qs1969.pair.com?node_id=196209

Vote on this poll

Simple
[bar] 86/13%
Correct
[bar] 168/25%
Consistent
[bar] 78/12%
Complete
[bar] 34/5%
Beautiful
[bar] 127/19%
Fast
[bar] 30/4%
My Nose
[bar] 68/10%
Another Job
[bar] 81/12%
672 total votes
Replies are listed 'Best First'.
Beauty is Perl
by Anonymous Monk on Sep 09, 2002 at 13:35 UTC

    • Simple is Forth.
    • Correct is ML.
    • Consistent is Lisp.
    • Complete is Ada.
    • Fast is C.

    Beauty is Perl -- there's more than one way to see it.

Re: If I *had* to pick, I'd pick:
by thelenm (Vicar) on Sep 09, 2002 at 15:35 UTC
    I had to pick correct. This question reminds me of a story I read in The Psychology of Computer Programming by Gerald Weinberg, referenced in this short excerpt from Code Complete by Steve McConnell (shamelessly stolen from here):

    A fast program is just as important as a correct one--False! It's hardly ever true that programs need to be fast or small before they need to be correct. Gerald Weinberg tells the story of a programmer who was flown to Detroit to help debug a program that was in trouble. The programmer worked with the team of programmers who had developed the program, and after several days he concluded that the situation was hopeless.

    On the flight home, he mulled over the last few days and realized the true problem. By the end of the flight, he had outlined the necessary code. He tested it for several days and was about to return to Detroit when he got a telegram saying the project had been cancelled because the program was impossible to write. He headed back to Detroit anyway and convinced the executives that the project could be completed.

    He then had to convince the project's original programmers. They listened to his presentation, and when he'd finished, the creator of the old system asked,

    "And how long does your program take?"

    "That varies, but about ten seconds per input."

    "Aha! But my program takes only one second per input." The veteran leaned back, satisfied that he'd stumped the upstart programmer. The other programmers seemed to agree, but the new programmer wasn't intimidated.

    "Yes, but your program doesn't work. If mine doesn't have to work, I can make it run instantly and take up no memory. "

    -- Mike

    --
    just,my${.02}

Re: If I *had* to pick, I'd pick:
by fireartist (Chaplain) on Sep 09, 2002 at 11:39 UTC
    The first thing I thought of was 'truth', so I voted 'beautiful'.
    It makes sense to me at least!
      truth? beauty?


      Information is not knowledge
      knowledge is not wisdom
      wisdom is not truth
      truth is not beauty
      beauty is not love
      love is not music
      music is the best

      (Frank Zappa)

      Sorry, couldn't resist ;^)

      weini

      ...actually, I think my definition of "beautiful" is simple, correct, consistent, and complete. (Also see "tensegrity")

      ...All the world looks like -well- all the world, when your hammer is Perl.
      ---v

        A table for two, candel light, soft piano music in the background. Says he:
        "Oh, my darling, you are so simple, correct, consistent, and complete tonight!"

        SCR (=Sorry, couldn't resist)
        Here Here!! Although I would prefer the term "elegant", at least in regards to code.
      It also made sense to Keats. Maybe you're a Romantic at heart.
      `Beauty is truth, truth beauty, -- that is all Ye know on earth, and all ye need to know.'

      Ode on a Grecian Urn, John Keats, 1819.
        I just noticed your signature quote
        Ode on a Grecian Urn
        links to a page on the Dundee University (Scotland) website, which is where I studied art, and currently take Saturday classes in Chinese.
        coincidence?

        update:Thanks ronald - I knew it wasn't a signature - don't know why i wrote that!
        Maybe it's because we're both artists.
        Romantic? I do try, but usually fail.
      Beauty as well, though I guess more correctly "elegance".

      It is sad that we now have "top" and bottom" instead of "truth" and "beauty" (quarks). (Of course I also disagree with the RGB system ;-)

      --
      perl -pew "s/\b;([mnst])/'$1/g"

Re: If I *had* to pick, I'd pick:
by tommyw (Hermit) on Sep 09, 2002 at 11:44 UTC
    #!/usr/bin/perl 0;

    MMM... fast, simple, beautiful.

    Almost certainly wrong.

    --
    Tommy
    Too stupid to live.
    Too stubborn to die.

      Except that under the common UNIX convention, a returned zero is TRUE, and any other result is false. This comes from C coders setting bit flags to indicate the error (so anything > 0 indicates a error flag has been set).

      Larry Wall was a bit of a rebel when he selected zero as false. It is a constant gripe of C programmers converting to perl: "Your error return values are the other way around, and that confuses my tiny, C programming brain".

      Note: I've been programming too long - I almost added a \n so that sentence looked like: "...C programming brain\n". Somebody help me!

      ____________________
      Jeremy
      I didn't believe in evil until I dated it.

Re: If I *had* to pick, I'd pick:
by zakzebrowski (Curate) on Sep 09, 2002 at 11:57 UTC
    I chose correctness...
    <chant>I test my code, I test my code, I test my code</chant> <background>unlike other people I know</background>
    ++ to the people who write test modules & Test:: modules...

    ----
    Zak
    "There is no room in this country for hyphenated Americanism" ~ Theodore Roosevelt (1915)

      Funny; I code my tests. :)

Re: If I *had* to pick, I'd pick:
by Joost (Canon) on Sep 09, 2002 at 14:10 UTC
    I code for the web professionally, so for me it's impossible to be Simple, Correct, Complete or Beautiful.

    That leaves me with a choice between: Consistent, Fast, My Nose or Another Job.

    I voted Consistent, as that will leave me with the best options when any of the other points need correcting.

    I blame "Business-Logic" because it's neither

    -- Joost downtime n. The period during which a system is error-free and immune from user input.
Re: If I *had* to pick, I'd pick:
by greenFox (Vicar) on Sep 09, 2002 at 13:49 UTC
    I picked beautiful because it was the closest option to elegant which to me is s synergy of qualities but especially simple, correct & beautiful.

    --
    Until you've lost your reputation, you never realize what a burden it was or what freedom really is. -Margaret Mitchell

      Agreed. A beautiful solution has to be correct (else it's flawed) Beauty is often found in simple things, done right. And beauty makes the more complex things more pleasant. :)
Re: If I *had* to pick, I'd pick:
by hydo (Monk) on Sep 09, 2002 at 12:04 UTC
    I couldn't help but choose correct. For me it's not correct until it's the rest of the choices. Well, besides beautiful. Being right isn't always being beautiful.

    err, or my nose.

Re: If I *had* to pick, I'd pick:
by kalle (Friar) on Sep 09, 2002 at 11:40 UTC
    Simple. But my nose comes a close second...
Re: If I *had* to pick, I'd pick:
by snafu (Chaplain) on Sep 09, 2002 at 13:44 UTC
    Doesn't "complete" imply correct? If my program were incorrect I would consider it incomplete. Thus, I picked "complete" which also makes it "correct"!!! =P

    Two for the price of one, plus a dollar! (ok, no dollar but still...)

    _ _ _ _ _ _ _ _ _ _
    - Jim
    Insert clever comment here...

      In theory, something can be completely incorrect ;)

      --
      $rattusillegitimus = Eliza::PerlMonks::Robot::new()

        Like the original mirror for the Hubble Space Telescope, polished to an astonishing level of perfection... to the wrong shape... ;-)
Re: If I *had* to pick, I'd pick:
by DigitalKitty (Parson) on Sep 09, 2002 at 14:17 UTC
    When I saw the voting options, I thought 'simple'. Then I associated that selection with 'elegant' ( which can both comprise 'beauty' ).

    -Katie.
Re: If I *had* to pick, I'd pick:
by Django (Pilgrim) on Sep 09, 2002 at 16:10 UTC

    I chose "beautiful", because code is beautiful when it's simple, correct, consistant, complete and fast. Even my nose and my job may be considered beautiful :)

    ~Django
    "Why don't we ever challenge the spherical earth theory?"

Re: If I *had* to pick, I'd pick:
by bart (Canon) on Sep 09, 2002 at 21:55 UTC
    What's the use of any of those qualities, if your program isn't producing the proper result?

    So yes, I voted "correct". The other qualities are nice too, but worth nothing, when the first one, correctness, isn't satisfied.

    All that is under the assumption that a program can be correct, that there is a solution, of course. An exception to this rule would be a program to play chess, for example. For such a case, "simple", "complete", "beautiful", "fast", all these would be more important than the holy grail, "correct". Then, it should merely have to produce acceptable results. Fast.

      I voted "correct". The other qualities are nice too, but worth nothing, when the first one, correctness, isn't satisfied.

      Incorrect can't be beautiful. Incorrect is just plain ugly to me.

      ("Beautiful" got my vote.)

      — Arien

Re: If I *had* to pick, I'd pick:
by RollyGuy (Chaplain) on Sep 09, 2002 at 14:02 UTC
    I selected Correct because at work, that's what I need the most (and they make me pick). Simple was a close second. At home, however, it is entirely a different story. Beautiful nears the top of the list. I also believe that a write-in of Clever would be there as well.
Re: If I *had* to pick, I'd pick:
by laughingboy (Monk) on Sep 09, 2002 at 17:02 UTC
    For me, the answer has to be "Correct". In the real world, we're creating software to serve a purpose. The user needs to get a job done and is relying on the software to do it. If they can't get their job done, nothing else matters. That's incorrect software. If the software is too slow for the user's needs or the interface is so cumbersome that they can't figure out how to use it...BZZZT. Wrong answer.

    Barely correct software allows the user to get the job done -- barely. Truly correct software allows the user to get the job done with ease, and maybe even pleasure!

    Correct software isn't perfect or bug free, but it's close enough. Unreleased software is useless and couldn't possibly be less correct. The trick is judging what's "close enough".

    "Correctness" is the most important attribute for software, but for me, "simplicity" is a very strong second. Lots of good things fall out of simplifying software -- it's easier to read, test, understand, and maintain. And that, IMHO, is beautiful.

    laughingboy

Re: If I *had* to pick, I'd pick:
by cLive ;-) (Prior) on Sep 09, 2002 at 20:50 UTC
    I gotta wake up before voting.

    I'm sat here wondering what a "Nose Job" is...

    cLive ;-)

    --
    seek(JOB,$$LA,0);

Re: If I *had* to pick, I'd pick:
by Anonymous Monk on Sep 09, 2002 at 12:20 UTC
    Being able to vote in this poll.

    In the last 2 polls I have been told that I have already voted from this IP. I am voting from a static home address, so I know I hadn't. Am I only allowed to vote in one poll ever?

      spending my time on the report I have to submit tomorrow, instead of procrastinating by typing me-too posts.

      I voted for the first time three polls ago and was also not allowed to vote anymore after that. Plus the vote script also seems to use $ENV{REMOTE_ADDR} when it really should be using $ENV{HTTP_X_FORWARDED_FOR} if present.

      Right now for every corporate/University network running for a single proxy, only one person can vote. But a dialup user can easily vote multiple times since he'll probably have a different IP adress each time he's logged in.

      I propose using the user name for the poll vote status.

        Indeed. This same thing has been happening to me. It has happened to me the last few times I've voted. I have been chalking it up to being behind a proxy, thus allowing only one of the three PM members at work here to vote. Perhaps I was wrong, though. I believe I was the first one to vote out of our little group here, today, and I still received the message that I had already voted.

        bug?

        _ _ _ _ _ _ _ _ _ _
        - Jim
        Insert clever comment here...

Re: If I *had* to pick, I'd pick:
by sauoq (Abbot) on Sep 10, 2002 at 00:30 UTC

    Correct of course.

    If the code is correct, I won't ever have to look at, and even though beauty et al will go unnoticed, I'll say its wonderful just the same!

    Consistency would be next on my list. I struggled between it and beauty but decided that consistency is a prerequisite for beauty. You might find a gem in a pile of manure but no one in their right mind would enjoy the search.

    -sauoq
    "My two cents aren't worth a dime.";
    
Re: If I *had* to pick, I'd pick:
by jeorgen (Pilgrim) on Sep 10, 2002 at 08:51 UTC
    I favor "consistent". As long as you're being consistent it's easy to handle any faulty assumptions, since they are the same throughout the program. Other pogrammers will know what you're consistently doing wrong when debugging your code etc. If you're *really* consistent you can always wrap a virtual macine around your code to comply with your particular, warped, view of the world.

    /jeorgen

Re: If I *had* to pick, I'd pick:
by kabel (Chaplain) on Sep 10, 2002 at 13:54 UTC
    i tend to beautiful. i would break consistency if a different solution suits better to a particular problem. and of course it must do what the author wanted - thats no real choice.
Why I picked simple over correct
by adamsj (Hermit) on Sep 10, 2002 at 17:47 UTC
    It's easier to correct simple code than to maintain correct but complex code. I'm thinking long-term here.

    adamsj

    They laughed at Joan of Arc, but she went right ahead and built it. --Gracie Allen

      You can pick your friends, and you can pick your nose, but you can't pick your friends nose...

      and also, picking your nose when noone is looking is still picking yournose.

      these don't have bearing on anything of value, but I just thought I had the right to post them :)
      work it harder make it better do it faster makes us stronger more than ever hour after our work is never over.
      i cannot see why programming in a "simple" way corresponds to a long term view. for me long term means that the capabilities of the code basis on which the scripts work is so adaptable that it need not be changed for a long time. this of course adds some complexity to the scripts but you can't avoid it. if you can manage that they keep simple then i consider the design beautiful - parallels to perl are not unintended ;)
Re: If I *had* to pick, I'd pick:
by blacksmith (Hermit) on Sep 09, 2002 at 15:08 UTC
    CORRECT!!! I believe this to be a trick question. Correct is the only logical answer. If something is correct, it will be consistent, complete, the fasted possible and still maintain all other options "consistently, as simple as possible in order to maintain the fastest possible speed consistently and completely, and beautiful since it is going to be perfectly correct.

    Another job would be an incorrect answer because that would mean NO PERL.

    And I never pick my nose INCORRECTLY.

    blacksmith.
Re: If I *had* to pick, I'd pick:
by NaSe77 (Monk) on Sep 09, 2002 at 12:15 UTC
    the nose of my girl, she likes that and me too ;)

    ----
    NaSe
    :x

      Hehheh. You must've voted in the previous poll, about the appropriate username. Nase... that's pretty funny if I remember my German lessons correctly :-)

      Lur: "But if this cape shrinks, consider your species extinct!"

      Hm. The old saying goes,

      You can pick your friends,
      And you can pick your nose,
      But you can't pick your friends's nose.
      I guess this disproves it. ;-)

Re: If I *had* to pick, I'd pick:
by RatArsed (Monk) on Sep 09, 2002 at 13:40 UTC
    I'd pick a different poll - as it's not letting me vote for "another job" - wah!

    --
    RatArsed

Re: If I *had* to pick, I'd pick:
by smitz (Chaplain) on Sep 10, 2002 at 12:16 UTC
    I'd love to see the results of this poll from other language sites....
Re: If I *had* to pick, I'd pick:
by cephas (Pilgrim) on Sep 12, 2002 at 21:45 UTC
    I would've liked to have seen 'useful'. But in the absence of, I chose 'consistent'. If something is at least consistent, I can probably use it. I've seen plenty of programs that are 'correct', but useless (this is generally the result of a poor product specification)

    cephas
Re: If I *had* to pick, I'd pick:
by Anonymous Monk on Sep 09, 2002 at 14:36 UTC
    I pick my nose consistently and completely... Shouldn't all those be in one choice?
Re: If I *had* to pick, I'd pick:
by NAstyed (Chaplain) on Sep 09, 2002 at 13:03 UTC
    I'd pick FAST!
Re: If I *had* to pick, I'd pick:
by jordanh (Chaplain) on Sep 10, 2002 at 03:08 UTC
    I picked Simple. To me, Simple implies correct, consistent and beautiful.
    There are two ways of constructing a software design. One way is to make it so simple that there are obviously no deficiencies. And the other way is to make it so complicated that there are no obvious deficiencies. --C.A.R. Hoare
Re: If I *had* to pick, I'd pick:
by silent11 (Vicar) on Sep 11, 2002 at 21:50 UTC
    I'd pick another job!

    I want a job where I can wear what ever I want
    I want a job where I can come in late with out getting written up
    I want a job where I can do alot of nothing
    I want a job where I can leave early whenever I want
    I want a job where I can write a script to do my work for me
    I want a job where I can do my homework
    I want a job where I can make free long-distance phone calls
    I want a job where I can code perl.




    Wait.... I wanna change my vote..... I already have that job!


    -Silent11
Re: If I *had* to pick, I'd pick:
by screamingeagle (Curate) on Sep 10, 2002 at 23:55 UTC
    what, no "Perl-Golf'ed to death" option ... ? ;-)
Re: If I *had* to pick, I'd pick:
by BigLug (Chaplain) on Sep 11, 2002 at 01:17 UTC
    I almost voted for 'fast' thinking of programming. In other words I pick whatever is the fastest way to program and debug it .. it might not be the most elegant (or even fastet to type!) just whatever is the most obvious way to do it.

    But then I figured the poll mean fast as in benchmarking the results.

    So I voted for the first option coz that was faster than reading through them all again.

Re: If I *had* to pick, I'd pick:
by cecil36 (Pilgrim) on Sep 12, 2002 at 02:15 UTC
    Whomever chose the voting options left off a key choice.

    If I had to pick, I'd pick CowboyNeal. He's a natural choice for just about everything.

    *sigh* in case you're desparate to know, I picked a new job. I hate my current one because they don't pay me enough.
Re: If I *had* to pick, I'd pick:
by Beatnik (Parson) on Sep 13, 2002 at 11:54 UTC
    I'd go for quick and dirty but that wasn't an option... Neither was lazy, hilarious, Cowboy Neal or Foo Bar. So I just had to pick Simple.

    Greetz
    Beatnik
    ...Perl is like sex: if you're doing it wrong, there's no fun to it.
Re: If I *had* to pick, I'd pick:
by Bishma (Beadle) on Sep 14, 2002 at 09:51 UTC
    My code is never bery pretty, but I can read it and that's all that matters.
    Correct is good, but what is "correct" seems to change from time to time.
    So I chose complete. If it gets everything done and doesn't put too much load on the server, I'm happy.
Re: If I *had* to pick, I'd pick:
by sykkn (Sexton) on Sep 12, 2002 at 03:36 UTC
    There is nothing worse the sparadic output.
Re: If I *had* to pick, I'd pick:
by vek (Prior) on Sep 19, 2002 at 22:13 UTC
    Narrowed down to 4:
    Simple Correct Consistent Complete
    Scratch Complete from that list - code can always be finished. Scratch Consitent and Simple too - both helpful for maintainable code but not the be-all-and-end-all.

    Correct. If I *had* to pick, I'd pick Correct

    -- vek --
Re: If I *had* to pick, I'd pick:
by Anonymous Monk on Sep 20, 2002 at 06:27 UTC
    Festering boils are always my first choice for my picking fetish. For a simmilar reason, I like Ring Dings, fried ice cream and water balloons. Water balloons don't taste as good though.

View List Of Past Polls