Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Perl is designed around linguistic concepts. You may as well ask "why do people who use language get such a kick out of junk like this:poetry, rhymes, prose, novels, etc.?"


I don't think it is but to go along with the metaphor, those things you list are methods of conveying stories and emotions. A programming language is a method for conveying instructions to a machine. Theses would be 8 reasons not to use any human<->machine language. The Perl biosphere just seems to produce non-sense like this as a matter of routine. To me posts like this are about on par with pictures of cats.


I don't know why you got downvoted so hard, I think you have a fair opinion (even though I disagree with it).

IMHO, the absolute best programmers I've ever worked with looked at programming as a game, as something clever to do. They reveled in the beauty of elegant code, and they got angry when reading bad code, and laughed heartily at particularly clever code etc.

To them, they had internalized the language of the machine and were trying to create art with their code, not science.

One thing that I've never been unsure of is that L. Wall understands that machines can be approached 2 ways, either as a raw tool, issuing instructions to be completed precisely as directed. Or the other approach, which is to think of the machine as a being (albeit one with a particularly different kind of mind) and the language is a lingua franca that you can use to communicate with it. Perl false squarely on the side of a programming language being a language (in the communication sense) vs. being a language (in the "set of instructions" sense).

The reason Perl 1 liners are so interesting, for example, is that they convey implicit little secrets between you and the machine, much like you might do with a certain kind of nod to a friend at a party when a certain topic comes up that conveys a world of meaning between you and your friend.

The reason these little "operators" are so witty is that they convey lots of meaning between you and the machine relatively simply, and look clever at the same time.

I think most programmers at one time or another realize that though, in theory, computers are supposed to do exactly what you've told them to do, the ecosystem their software is running in is just on the edge of nondeterminism and wish for a way to convey to the computer what they "mean" for it to do rather than what they tell it to do. "Machine, I wish for you to open this file and count the number of times the words foo and bar show up in it". Perl is targeted at these kinds of cases.

That's now to say that other languages are bad, just different. Perl also has the unnerving ability to so quickly become obfuscated that it can be very hard to untangle by another developer. Languages like Python aim for code simplicity and readability and thus are much more suitable to large scale development practices than Perl is (that's not to say that Perl isn't used in these kinds of large projects, or that Python isn't used for one off scripts).


> A programming language is a method for conveying instructions to a machine.

The preface of SICP disagrees (see http://mitpress.mit.edu/sicp/front/node3.html ), with a quote many, many programmers can quote in spirit if not to the letter.


These operators sound even worse for people to read; perhaps that's why they're obscure.


I've read Larry Wall on the natural evolution of human and computer languages but I don't think anyone can demonstrate that Perl is the product of a clear, informed linguistic process that makes it superior to, say, Ruby or Python.

And further, there's a reason that legal contracts normally avoid limericks (feel free to insert the obligatory "counter-example").


I think your concept of programming is far to restricted if all you can compare it to is legal documents.

sad face

I grew up in this environment http://demoscene.tv/

and quite often saw programmers taking very creative and artistic approaches to their code. They saw programming as art and wanted to express their art this way.

Is this applicable in a modern, large scale, corporate environment? Probably not, but just as it wouldn't be appropriate for me to fill out all of my TPS reports with oil paints it doesn't mean that oil painting doesn't have a place.


err:to=too


>>there's a reason that legal contracts normally avoid limericks

Afaik, lawyers also play with language to learn to use it. It might be hard to believe, but I have heard (3rd hand) claims some lawyers and programmers even read a bit of poetry...

But I've never seen that used as an argument against them -- except by language war trolls...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: