Beauty is Perl
by Anonymous Monk on Sep 09, 2002 at 13:35 UTC
|
| [reply] |
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} | [reply] |
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! | [reply] |
|
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
| [reply] |
|
| [reply] |
|
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)
| [reply] |
|
|
Here Here!!
Although I would prefer the term "elegant", at least in regards to code.
| [reply] |
|
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. | [reply] [d/l] |
|
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!
| [reply] |
|
|
Maybe it's because we're both artists.
Romantic? I do try, but usually fail.
| [reply] |
|
| [reply] |
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.
| [reply] [d/l] |
|
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.
| [reply] |
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) | [reply] |
|
| [reply] |
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.
| [reply] [d/l] |
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 | [reply] |
|
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. :)
| [reply] |
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.
| [reply] |
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... | [reply] |
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... | [reply] |
|
In theory, something can be completely incorrect ;)
-- $rattusillegitimus = Eliza::PerlMonks::Robot::new()
| [reply] |
|
Like the original mirror for the Hubble Space Telescope, polished to an astonishing level of perfection... to the wrong shape... ;-)
| [reply] |
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.
| [reply] |
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?"
| [reply] |
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.
| [reply] |
|
| [reply] |
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. | [reply] |
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 | [reply] |
Re: If I *had* to pick, I'd pick:
by cLive ;-) (Prior) on Sep 09, 2002 at 20:50 UTC
|
| [reply] |
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? | [reply] |
|
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.
| [reply] |
|
| [reply] |
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.";
| [reply] |
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 | [reply] |
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. | [reply] |
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 | [reply] |
|
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 ;)
| [reply] |
|
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.
| [reply] |
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. | [reply] |
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 | [reply] |
|
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!"
| [reply] |
|
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. ;-)
| [reply] |
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 | [reply] |
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.... | [reply] |
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 | [reply] |
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? | [reply] |
Re: If I *had* to pick, I'd pick:
by NAstyed (Chaplain) on Sep 09, 2002 at 13:03 UTC
|
| [reply] |
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
| [reply] |
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 | [reply] |
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. | [reply] |
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 ... ? ;-) | [reply] |
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. | [reply] |
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. | [reply] |
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. | [reply] |
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. | [reply] |
Re: If I *had* to pick, I'd pick:
by vek (Prior) on Sep 19, 2002 at 22:13 UTC
|
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
-- | [reply] [d/l] [select] |
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. | [reply] |