vision #
Posted Tuesday 16th December 2008 21:51 GMT
20 years? The sufficiently sloppy Perl coder can write something he won't recognize after lunch.
Posted Tuesday 16th December 2008 21:51 GMT
20 years? The sufficiently sloppy Perl coder can write something he won't recognize after lunch.
Posted Tuesday 16th December 2008 21:51 GMT
Am I the only one who sees something strange in El Reg moderating comments to Mr. Dziuba's stories?
Posted Tuesday 16th December 2008 21:51 GMT
Perl remains the ultimate proof of concept language. It takes 5 man years to write a semi-functional network facing provisioning framework in Java. It takes a man month to get to the same point (and way beyond) in perl. So as long as people still try to do a proofs of concept, perl will provide job security for many people.
Posted Wednesday 17th December 2008 00:18 GMT
Any idiot can write unreadable code in any language.
As a professional Perl developer I write readable, maintainable code. Having said that I won't be taking up Perl 6 for a long time and I doubt any of my clients will require it.
Posted Wednesday 17th December 2008 00:18 GMT
My god, it's plain to see the days - if not weeks! - of research that went into this piece. Seriously, is El Reg just trolling, or do you hire your writers directly from the Digg userbase?
Posted Wednesday 17th December 2008 00:18 GMT
Nicely written. So much better when achieved without bad language.
Posted Wednesday 17th December 2008 00:18 GMT
Hey, Sierra published a new Leisure Suit Larry game?
Who's that girl, Perl? I bet she's hot...
Will Paris be in it?
Posted Wednesday 17th December 2008 00:18 GMT
"...you start with a standard language and you can mutate it."
That sounds much more like C++ and Boost!
Posted Wednesday 17th December 2008 00:18 GMT
Good point.
Is that why every time I write something in Perl my code ends up looking a lot like C? :-)
Posted Wednesday 17th December 2008 00:18 GMT
I've seem some huge sites (50 million visitors a day huge) backended by Perl developed as proof of concept, which was going to be rewritten in lean C for raw blazing speed.. but it never quite happened. The perl kept going without breaking, was nice to maintain, and no-one had to take the time out to develop secure bullet-proof C with racing lines.
People rarely intend to deploy perl quite as much as they eventually do. However, it also doesn't let them down as much as many of the alternatives when they do. It's a really weird beast. Yay for Larry Wall, on balance.
Posted Wednesday 17th December 2008 00:18 GMT
@vision: The programmer will remember exactly how the code works, so long as he wrote it. I have seen portions of Perl I wrote 16 years ago, and I see straightaway how it works.
Other people's Perl code can appear alien not because the language in unintelligible, but because they choose to skin the same cat as you, just in a different way. I don't think Perl is more abstruse than other languages. When someone says it looks like "modem noise" or "pure punctuation", what they really mean is that they just never learned it, and they wish to de-emphasize its importance.
The philosophy of Perl was a major strength of the language, certainly up to version 5. This same philosophy might have now have grown into something that hampers the language. Perhaps Larry and Tom should move onto other things. Remember, it ain't broke.
Posted Wednesday 17th December 2008 01:23 GMT
@Jim:
You said:
"""When someone says it looks like "modem noise" or "pure punctuation", what they really mean is that they just never learned it, and they wish to de-emphasize its importance."""
No. When people refer to the Perl 'line noise' problem, they are calling a spade a spade. It persists as a truism because it is, in fact, true. It is standard operating procedure to use the following characters liberally in even the most trivial Perl application:
<>$@;".'/^[\]&|
Whereas in many, many other languages these sorts of symbols are few and far between. And as for the arrogant notion that "...what they really mean is that they just never learned it..." all I have to say is that I will sign off with my handle, in Perl:
perl -e "s&&tnirp_auto_reverse&&&s&.*_&$'&ee&&s&$'&&&&s&_([^_]*)$&&&&eval($+)"
Posted Wednesday 17th December 2008 06:08 GMT
Remember the Second system effect that the Mythical Man-
Month warned us all about? Perl 6 is the poster child. Years in the making, and now so late that by the time it's ready for people to bet their jobs on, no one will care. (Perhaps I'll run it on the GNU Hurd kernel. Oh wait, another Second System there - what is it now, 17 years?)
Pragmatism needs to be drilled into every coder out there. Make it as elegant as you like, but if there's a toss up between "good enough" and "years late", go with "good enough' every time. I have yet to see any technology that was delayed in order to achieve perfection that actually turned out to be as good as the delay should have suggested.
Posted Wednesday 17th December 2008 12:07 GMT
I went to a YAPC this year, partly to see if Larry Wall really does resemble Ned Flanders as much as he seems to in his internet writings. I was surprised that he was a lot funnier in real life than his writings suggest, and also surprised by the sinking feeling I got from his talk about Perl 6 of hearing about something which is so aimless that it will never be finished.
Perl originated from Larry's wanting a shortcut language he could use when system administrating at NASA's Jet Propulsion Laboratory, something better than awk and sh and sed. The reason that it is so useful is because it was made by someone who was creating a tool to actually get their job done, hence the design tends to make common operations easy.
Since Perl became popular, Larry seems to have taken up talking and writing about Perl as a full time job, and he doesn't have to administer anyone's computers any more, so he can go off and pontificate about how Perl is a "post modern language" or how Perl is "just like a natural language" or how Perl is a "machine shop for creating tools" or other such drivel. The reason that Perl 6 is so horribly delayed is because there is no actual practical need for the language.
If Larry wants to get Perl 6 finished, he should go back to his old job at NASA or some other kind of useful employment instead of spending his time nattering on about his grandiose plans.
Posted Wednesday 17th December 2008 12:07 GMT
It's perfect for us much hated system admins. Where else would you be able to download add-ons that attach to any system imaginable and all using the exactly same API specs? Perl really is the Gatling Gun of languages! Bullets spraying all over the place and every one of them missing the target!
Posted Wednesday 17th December 2008 12:07 GMT
Ugh, perl - is anyone seriously still using it? At a previous job I actually installed a check-in trigger which bounced anything resembling a perl script.
Posted Wednesday 17th December 2008 12:07 GMT
Good point.
Except Perl 5 is way better than good enough so there was no great pressure to deliver Perl 6 early.
Its quite hard to make something good better, look at the vast "impovement " to XP that is Vista.
Plus you have got to remeber that Larry et al have day jobs!
Posted Wednesday 17th December 2008 12:07 GMT
...but got a heart attack before he could write the second part of his rant, so El Reg just published the part already in the Word.
Posted Wednesday 17th December 2008 12:07 GMT
Like, finish sentences and not just plug expletives to claim the f*cking f*cker is f*cking f*cked?
This day is as weird a beast as Perl raped by APL.
Posted Wednesday 17th December 2008 12:07 GMT
"distinguished itself from the rest of the pack allowing developers to write full-featured programs using nothing but punctuation" ... what, never heard of APL ?
OK, not for web programming ... hmm, mod-apl ?
Posted Wednesday 17th December 2008 12:09 GMT
@ Anonymous Coward Wednesday 17th December 2008 01:18 GMT: I disagree. Unless the code is a pure hack, such as your deliberately obfusticated example, the "punctuation marks" make the language more, not less clear, just as they do in English.
Posted Wednesday 17th December 2008 13:34 GMT
When I started with Perl it was a revelation that problems as hard as I could then solve using Perl were solvable with so little effort compared to strictly typed languages lacking decent libraries. After using Perl for a couple of years I discovered I could solve even harder problems using Python in a reasonable amount of time and later I discovered I could still understand my own coding a year or 2 later after I'd designed something.
Posted Wednesday 17th December 2008 14:40 GMT
you could move APL from to J. Not the greatest name for googling but they choose it in pre web days. check out jsoftware.com
Posted Wednesday 17th December 2008 14:40 GMT
Java shop was it?
C developers are normally OK with perl because it's so easy to write C plug-ins. It's the Java people have the issue and they aren't real programmers anyway.
Posted Wednesday 17th December 2008 16:15 GMT
No Larry, similar things should look similar. That's why we call them "similar". *Different* things should look different. It's all about emphasis, which *still* isn't part of the perl spec.
Until we have an operator that means "I care about this, but only so much on any given day" and another that means "Meh" the language will still be a mere toy. It is ridiculous that my colleagues should, in this day and age, still be forced to code "open file or continue regardless" explicitly, or "check return code is zero. if it isn't, it doesn't matter" as a series of lengthy procedural statements.
Posted Wednesday 17th December 2008 16:34 GMT
My previous comment made me realise what the core problem with perl 6 is, that is, they've made it into Java.
Why bother with it (and Parrot) when you can just use Java with similar features?
Posted Wednesday 17th December 2008 17:05 GMT
Perl has strong enough data typing. The types are just a bit more abstract and powerful than what you're used to.
I really don't find Perl that unreadable. RegExps are a little scratchy to the untrained eye but they basically read left to right; the apparent obscureness is the result of their expressiveness and compactness, nothing worse. Once you learn a few simple rules they're very quick and powerful, and dead easy to read and write.
I recently had to rephrase a routine (not in Perl) to avoid RegExps; it's now half as good at dealing with the unexpected and twice as long.
Posted Wednesday 17th December 2008 17:05 GMT
Like Perl, written lots and lots of hackish weird shit in it over the years, particularly prototypes. I prefer to work in other languages these days, but I still have a particular fondness for it.
And yet, I can still find the article funny, unlike some of the humourless bastards that seem to be unable to restrain themselves from commenting every Ted writes something.
Seriously children, if you don't like the humour, stop reading his articles.
And BTW Ted, there wasn't anywhere near enough profanity in that article, man up.
Posted Wednesday 17th December 2008 17:06 GMT
... is overrated. Really. I refuse to believe in a general-purpose language that makes my life as a student of that language terrible by making the mantra something like, "Believe me, I know what I'm doing, you feeble creature! It is okay and acceptable for there to be twenty different uses for every keyboard character and it is not shameful for each routine to be different according to how you use it!"
So I learned Tcl and still can't get over the beauty of it. You should, too - you'll soon understand why pragmatism isn't all there is to it, and will probably wonder why perl still exists for doing more than states/awk and sed do now but faster. Why, wasn't that why perl was invented? And don't you find Python/ruby/Tcl already doing it better? Pffft!
You should require about ten minutes to fully digest the Tcl(n) manpage. Then you should require about three minutes for each command. Then you should be able to write a general-purpose program. You will find Tcl more metamorphic than perl, as well as much more minimal and hacker-sane. In a few days you will be incredibly attractive to members of the opposite sex, as can be evidenced from the fact that I still don't have a girlfriend. :-)
Lest there be any question as to my awesome hacker potential: my MTA of choice is sendmail, and I write my very own line noise^h^h^h^h^h^h^h^h^h^hcf files.
So ner! :-P
Cheers,
Sabahattin
Posted Wednesday 17th December 2008 19:12 GMT
On a technical note, "similar things" do differ, otherwise they are not called "similar" but "identical". So yes, similar things have common overlap, as well as distinct differences. They just have more things in common than not.
The article calls it zen, most linguists will prefer to call it actually paying attention to what the words used mean =)
And on a different technical note, perl's always had the hots for the "million and one ways to do the same job", so that tiny difference is apparently crucially important to the language. Why it can't be left an unintentional consequence of the language is a bit beyond me, but there you have it. Perl 6 - a language no one really needs, but with the help from Sun and Google will no doubt blossom into the new java: just another programming language to learn so you don't come off elitist when you turn down a well paying job because you felt better than the language they were using, even though you'll still settle for unpaid overtime because "that's what coders do" ;)
Posted Thursday 18th December 2008 00:00 GMT
Its a mistake to call Perl 6.....Perl. Perl 6 its an experiment in language design and I doubt its going to go anywhere, because the old trick of throwing everything into the language but the kitchen sink is not going to accomplish anything at this day and age. Perl was really clever to put dynamic typing, functional programming syntax and regexps and end up with a powerful (for that time) shell scripting language. But languages like Python and Ruby have all that stuff with an easier to read Pascal like syntax. Perl is still the secret weapon of the hardcore admin, in fact sometimes I wonder why Perl hasnt become the default shell in certain flavors of *nix as Perl just puts Bash to shame.
Posted Thursday 18th December 2008 00:00 GMT
When I see my neighbor using another type of lawn mower than me I quietly accept the fact that he probably has another way of mowing his lawn. If Perl does the job, and it indisputably does, then let the Perl coders have their way. :-)
@Sabahattin: I'm a satisfied network engineer with a pleasant job and a very lovely and beautiful girlfriend, and I use Perl. Sure you don't want to go back to using Perl? ;-)
And remember gentlemen: Programming languages are of no importance, only beer in pubs matter!
Posted Thursday 18th December 2008 11:54 GMT
mr Dzuiba writes:
< Perl programmers have long ensured their own job security by writing code that the machines themselves have trouble understanding,>
Alas, other languages have their foibles too. Java programmers ensure their job security by writing so much code noone can be bothered to find out where it breaks, and a new system architect is called in. Pythonistas believe in the banal/specious dictum that everything is an object, including time/number/etc. few people argue it really makes their code more readable anyway, beyond trite wee examples, now the new language honeymoon period is over. obfuscation abounds in every higher order language, with or without lack of punctuation.
what matters in maintaining code is conciseness, style, brevity, and dare I say a sense of fun.
perl has all of the above, in bags.
Posted Saturday 20th December 2008 19:43 GMT
"Am I the only one who sees something strange in El Reg moderating comments to Mr. Dziuba's stories?"
No. You are not the only one.