4 ms·
>> Why do people who use Perl get such a kick out of junk like this. Alternative question from the last half dozen times I've seen Perl mentioned in a good lig
by berntb 17y ago
>> Why do people who use Perl get such a kick out of junk like this.
Alternative question from the last half dozen times I've seen Perl mentioned in a good light on HN:
Why do Python/Ruby/X people get such a kick out of language wars?
It was well formulated here:
http://news.ycombinator.com/item?id=963706 http://news.ycombinator.com/item?id=963706
- gaius 17y agoIt's a cultural thing. Python people value doing complicated things with simple code. Perl people value doing simple things with obscure language features, then basking in the glow of being called a "wizard". In other words, every other language community cares more about what you do than how you do it.
- gloob 17y agoThe question was: Why do Python/Ruby/X people get such a kick out of language wars? Your response was: Python people value doing complicated things with simple code. Perl people value doing simple things with obscure language features, then basking in the glow of being called a "wizard". Methinks there's a disconnect somewhere here.
- gaius 17y agoIt's merely an observation. See how many times the word "wizard" appears in the Perl documentation. Then try the same in, well, any other language. There's no war to fight. Perl has its place. I might even use Perl again if I need a throwaway 10-liner.
- brk 17y agoPerl has "wizards" Ruby has "rockstars" and so on. They are all irrelevant monikers. Use whatever works for YOU. Taking the conversation any further is as pointless as any other religious war discussion.
- mst 17y agoUNIX has "wizards" too - and perl's origins as a super-awk place it firmly in the UNIX cultural tradition in a lot of ways. I write more perl than anything else but I work in shell, make, perl and C regularly depending on what level I'm trying to work at (and often think in lisp for prototyping). UNIX is my IDE. perl5 is my VM. CPAN is my language.
- jrockway 17y agoIndeed. Perl has many sub-communities. Some "wizards" enjoy obscure syntax. Other people enjoy figuring out new ways to make reusing code easier. Some other other people enjoy talking about testing. Some people do all three. etc., etc. Basically, "Perl" is a very large community, and different people in the community use Perl for different things. Some just want to have fun and others have real engineering problems to solve and are solving them with Perl. Perl is welcoming to everyone. It's a shame that people think the playful applications of Perl make it unsuitable for real work.
- berntb 17y agoI honestly can't say if the GP (gaius) is a parody of a language fanatic or a troll. (-: Or if it's a Ruby guy giving Python people bad reputation. :-)
- gaius 17y agoI'm an old Tcl guy ;-)
- mst 17y agoNo. Sorry. You're confusing the old perl4 culture with modern/enlightened perl culture. We value doing complicated things elegantly so that the program so produced best reflects the intent of the programmer. So yes, that's caring about how you do it. We care about "how you do it" because expressivity brings readability and maintainability. The key difference is that python optimises for having one common idiom for a given thing and achieving expressivity through the way these idioms are structured together. Perl tends to have multiple idioms for a given thing and achieve expressivity through which one is used for a given reason. See http://shadowcat.co.uk/blog/matt-s-trout/pizza-snakes-bicycle http://shadowcat.co.uk/blog/matt-s-trout/pizza-snakes-bicycl... for a longer but hopefully better attempt at explaining what I mean.
- jrockway 17y agoTotally untrue. Personally, I never use any of these constructs. I never see them in any modules I use. None of my friends use these. (And trust me, if you know Perl, you know my friends.) The only place I see them is during conference talks about "strange things that happen to be possible with Perl syntax". Do I know what they do? Yes. Would I freak out if I saw them in someone's code? No. Would I add them to my own code when a clearer construct would suffice? Never. Just because you would never use these constructs in Real Code doesn't mean that this is not something that's fun to think about. Are you a code monkey, or can you step back from the "must implement maintainable application in 42 hours OR DIE" and enjoy the art of programming?
- omouse 17y agoIf these things are almost never used or should never be used, why are they allowed to exist?
- bmj 17y agoTMTOWTDI (http://en.wikipedia.org/wiki/There%27s_more_than_one_way_to_do_it http://en.wikipedia.org/wiki/There%27s_more_than_one_way_to_...) Such freedom is at the core of the language.
- jerf 17y agoFor the most part, they don't exist! Only the <=> operator in that list actually exists. The rest are combinations of perfectly sensible operators. "Why does Haskell have (.) . (.)?" It doesn't. It's just a combination of legal characters that happens to also be a joke. (And as wacky as <=> may appear, in the context of Perl, with its separate string vs. numeric comparison operators, it's not even that strange. It is a combination less than, equal, or greater than operator. "cmp" is the equivalent for strings.)
- pyre 17y agoYes. But you forgot to mention that, "People who need to get Real Work(tm) done use $my_favorite_language."