Earlier quoted context omitted.
> "don't use perl, it promotes brain rot" > and no, i wont revisit my thinking. "I don't think this is the tool for the job, THEREFORE IT ROTS YOUR BRAIN! If you try to talk to me about that, I will chant, "I'M NOT LISTENING" over and over with my hands on my ears." Really?
"Really?" yes. like another commenter said it's a discussion i've had before and haven't heard compelling arguments in favor of perl, so no i'm not interested in revisiting it. that said it IS context dependent. i wont fire you for writing perl one-offs to maintain some systems or process some files. but i would argue against you for wanting to ship perl for the reasons i stated, with my main thesis being that your d…
Perl 5.17.6 is now available
41–50 of 62 posts
Re: Perl 5.17.6 is now available
#42Earlier quoted context omitted.
5.17.6: "The seed used by Perl's hash function is now random. This means that the order which keys/values will be returned from functions like keys(), values(), and each() will differ from run to run." Wait, what? 5.8.1: "Mainly due to security reasons, the "random ordering" of hashes has been made even more random. Previously while the order of hash elements from keys(), values(), and each() was essentially random,…
Relevant discussion on perl5-porters: http://www.nntp.perl.org/group/perl.perl5.porters/2012/10/ms...
Re: Perl 5.17.6 is now available
#43Good to see so much active work on Unicode support. Really feels like Perl is coming in to its own as the language to use with Unicode text...
Is that really laudable in this day and age? I mean Java had Unicode support right out the door in 1995. Not that it's a wonderful text processing language, but you'd think 17 years is plenty of time to catch up...
Re: Perl 5.17.6 is now available
#44Earlier quoted context omitted.
i'll wade in. note that i'm bigoted against perl, i'll say so clearly up front. perl is better than shell scripting at automation, this much is true. perl has a strong use case there. had, i'll argue. perl's idioms and structure promotes wonky, hard to read and hard to maintain code. it's true. get even the most die hard perl fan a beer or two and they'll wind up admitting it, sheepishly and quietly. but yeah, perl t…
Yea, I kind of agree with some of this. My coworkers are big fans of Perl Critic because it enforces a standard (and I assume one that promotes cleaner Perl). But it often seem to me that the popularity for Critic is somewhat of a language failing. I guess the argument could be main that it allows you to write hacky little scripts which could can then apply Critic too and slowly refactor into large projects. I'm not…
By this argument, Javascript (JSLint), C# (StyleCop), C (lint), Python (Pychecker and Pylint) all have failings.
Re: Perl 5.17.6 is now available
#45Earlier quoted context omitted.
"Really?" yes. like another commenter said it's a discussion i've had before and haven't heard compelling arguments in favor of perl, so no i'm not interested in revisiting it. that said it IS context dependent. i wont fire you for writing perl one-offs to maintain some systems or process some files. but i would argue against you for wanting to ship perl for the reasons i stated, with my main thesis being that your d…
None of the reasons in your post would lead me to believe that Perl will 'rot your brain.' I didn't consider the majority of your post to be a flame/troll, just your honest opinion. It was the "Perl eats babies, and you can't convince me otherwise, nyah!" at the end that sort of irked me.
first, that some languages promote decent coding practices, while some actively encourage bad ones, either through crappy idioms, bad docs and a lousy community, or a lack of immediate penalties.
second, that where you spend much of your time coding has a significant effect on how you think about problem solving, consequences, etc. the practice of programming builds behaviors, modes of thinking, and values.
finally, if it isn't clear, i consider perl's features to be substandard to long term coding. the values it places on hacked up gimmicks (under the guise of "more than one way to do things" and "see! it's a one liner!") is a large part of this.
therefore "brain rot" in this case isn't equivalent to years of meth use, but rather a failure to appreciate crap designs, a failure to perform sound engineering when you write code, and a failure to think about the future of your code. i've seen the products of people who write code professionally, with them having learned through years of coding perl, and it is not pretty. lots of them.
keep calling me closed minded on the topic, i wont disagree. but the end result is that when someone tells me that perl is their language of choice and i'm hiring for a person to write code, it's a deep hole they have to get out of right away or i won't hire them, nor will many of the people i work with.
Re: Perl 5.17.6 is now available
#46Earlier quoted context omitted.
None of the reasons in your post would lead me to believe that Perl will 'rot your brain.' I didn't consider the majority of your post to be a flame/troll, just your honest opinion. It was the "Perl eats babies, and you can't convince me otherwise, nyah!" at the end that sort of irked me.
i very firmly believe the following: first, that some languages promote decent coding practices, while some actively encourage bad ones, either through crappy idioms, bad docs and a lousy community, or a lack of immediate penalties. second, that where you spend much of your time coding has a significant effect on how you think about problem solving, consequences, etc. the practice of programming builds behaviors, mod…
If you catch me using a butcher knife to get the cork out of a wine bottle, feel free to call me a fool. That shouldn't reflect badly on the makers of knives or corkscrews or wine bottles.
i've seen the products of people who write code professionally, with them having learned through years of coding perl, and it is not pretty. lots of them.
I've read a lot of code from people who've never learned a whit about programming. The lesson I take from that experience is that some languages make it easy for people who aren't interested in programming to get things done without having to learn much about programming or design or maintenance or coding standards.
That said, warnings and strictures should have been the language's default behavior for programs, not one-liners.
Re: Perl 5.17.6 is now available
#47Earlier quoted context omitted.
None of the reasons in your post would lead me to believe that Perl will 'rot your brain.' I didn't consider the majority of your post to be a flame/troll, just your honest opinion. It was the "Perl eats babies, and you can't convince me otherwise, nyah!" at the end that sort of irked me.
i very firmly believe the following: first, that some languages promote decent coding practices, while some actively encourage bad ones, either through crappy idioms, bad docs and a lousy community, or a lack of immediate penalties. second, that where you spend much of your time coding has a significant effect on how you think about problem solving, consequences, etc. the practice of programming builds behaviors, mod…
> the values it places on hacked up gimmicks (under the
> guise of "more than one way to do things" and "see!
> it's a one liner!") is a large part of this.
I'm curious where there is official documentation of Perl as a language putting emphasis on "See! It's a one-liner!" Sure Perl has things like Perl Golf[1], but I could equally point you to The International Obfuscated C Code Contest[2]. That doesn't prove that C as a language encourages you to intentionally obfuscate your code. > when someone tells me that perl is their language of choice
> [...] i won't hire them
Perl isn't my language of choice, but I'm not sure that I want to work for someone that has such a view of the world. You're attempting to use a small piece of data ("I like to program in Perl") to extrapolate a whole lot about a person.Re: Perl 5.17.6 is now available
#48Earlier quoted context omitted.
I watched a keynote recently where Guido - the Python guy - made the point that Ruby, Python, and Perl are all essentially the same language. I like Perl because it's: * Stable, reliable, very very mature * Has a testing culture really second to none, excellent testing tools, and a unifying testing mechanism (TAP) * CPAN really is awesome * Almost any tool you enjoy from the other languages, Perl has an equivalent
Installing a new version of Perl doesn't break your old code ! This is not true for Ruby (I'm not sure about Python as I no longer use it much), which is a huge argument in favour of using Perl over Ruby. Having said that, it's certainly possible to use all of these languages, and once you are good at one, it should take little extra effort to learn the others. All of them have their strong points and you'll probably…
Re: Perl 5.17.6 is now available
#49I'd be genuinely interested in reasons why I should learn Perl? I've been hacking away at some Perl interfaces lately but finding it difficult. It seems like a big language (I'm reading Perl Programming, which is certainly a big book). So rather than just hacking away, is there a good reason I should learn the language properly and push through "Perl Programming" or say learning Ruby, Python or golang really well. Wi…
i'll wade in. note that i'm bigoted against perl, i'll say so clearly up front. perl is better than shell scripting at automation, this much is true. perl has a strong use case there. had, i'll argue. perl's idioms and structure promotes wonky, hard to read and hard to maintain code. it's true. get even the most die hard perl fan a beer or two and they'll wind up admitting it, sheepishly and quietly. but yeah, perl t…
For me it now boils down to: sunk cost (if you're already familiar with Perl, it makes sense to keep doing it in Perl) and some features that Perl currently really excels at (variable scoping, regex integration, Unicode).
Re: Perl 5.17.6 is now available
#50I'd be genuinely interested in reasons why I should learn Perl? I've been hacking away at some Perl interfaces lately but finding it difficult. It seems like a big language (I'm reading Perl Programming, which is certainly a big book). So rather than just hacking away, is there a good reason I should learn the language properly and push through "Perl Programming" or say learning Ruby, Python or golang really well. Wi…
The whole thing really is Perl doesn't have any real competition. And it has always been the case. And even the competing languages more or less end up largely looking like Perl. The biggest examples are ruby and Perl 6 itself. Python is not Perl's competitor. It took me a lot of time to understand this. Python is really for bored Java programmers, who are in some desperate need of dynamic power. And its great in that area. The language is readable, quickly learn able but what beyond that?
Unfortunately the problem with Perl is something similar to that of Unix utilities, unless someone shows you how to do magic with them. You never truly understand why and what purpose they serve. You can read as many man pages as you want, and think about a million use cases. But unless you see the next bearded sysadmin down your cubicle do a computation task in a combination of 6 text processing utilities sewing them with pipes, what other wise your Java programmer would have take six months to write- You will never truly appreciate the beauty of it. That's the reason why awk/sed/cut/tr/Perl et al have never gone away and probably never will.
I have seen Java programmers even wonder what 'Text processing' is, and found it strange that a regular expression can be anything more than 10 characters. The problem with most of those programming domains is most of them consume data in xmls or database records, where data is really reduced to a form where you don't have to do much to take it from there. That is why when you try understand why you must learn Perl from the perspective Java, you never get a reason. If you are learning any language from that Perspective, then all look the same. Because what else is there more to a language than decision statement, loops and ways of modularization?
Change this situation and that is when you see why languages like Perl are still alive and used all the time. Back in the 80's a person called Larry Wall faced a situation where he had to solve a problem where he needed to deal with a lot of adhoc text data, in many adhoc formats all needed to made sense of then sent through a traditional program and then made a report out of it. When he tried to solve it, he figured out he was using many unix text processing utilities and C programming language in shell scripts. He figured out that this made case for a separate programming language. When he sat down and put down some design in place he saw three details emerge out of it. Which are:
1. Manuplexity: Ability to manipulate things quickly. Like Text.
2. Whipiptitude: Ability to whip things up quickly.
3. Express yourself: To use principles of natural languages as applied to programming languages.
Finally there is a guiding principle: which really is Laziness, impatience and hubris.
If you really want to learn Perl, you should be reading books like Higher Order Perl. You should see tough text processing problems. You should see how you can rapidly prototype, even without the help of Modern IDE's which is rarity for most high level languages today. You should see how CPAN helps you avoid re inventing the wheel(s). You should see why things Moose and DBIx::Class are not there in other languages. You should see why the flexibility, extensibility leads to packages like Devel::Declare. You should see the testing culture.
Perl was born and raised among hackers, I mean the true bearded hackers. Who have experience of building things without reaching to the Google homepage every 30 seconds. If you have time, I would advice you to take some time out and read Tom Christiansen's essays back from those days. Take some time out to read JAPH and Golf contests from those days. You will see how much time those folks spent in doing the real hacker work, how many small succinct and yet extremely power solutions exist to so many problems you are likely to face everyday.
When you truly look at the use cases, you realize that Perl doesn't really have much competition in its stride. Even the languages designed to replace it look like Perl. Think of it like Greenspun's rule for Perl.
Even if you don't learn Perl I would definitely advice you to learn Unix utilities in quite some detail. That way you will realize and see a very different part of the world.