Larry Wall On Perl 6, Language Design, and Getting Kids To Code 133
M-Saunders writes: Perl 6 has been a long time in the making, but Larry Wall, the language's chief developer, now says it should arrive in time for Christmas. In this interview with Linux Voice, Wall explains why Perl 6 took so long, and describes how his background in linguistics influenced the design of the language. He also discusses ways to get kids interested in coding, and notes that Python has done a better job so far in this respect.
In other news.. (Score:1)
Perl still exists.
Re:In other news.. (Score:4, Funny)
Re:In other news.. (Score:4, Funny)
Re: (Score:2)
+1. Drugs are far safer than Perl.
Re: (Score:2)
I told my son that I could deal with drugs and porn, but if I ever see him with a COBOL manual, we're going to have a talk about it.
Re: (Score:1)
Perl 5 is still widely used, continues to be updated, and is still one of the best text processing languages out there.
Perl 6 on the other hand is the Hurd of programming languages. This was not unexpected though. You can't take a project that had existed for over a decade and then redesign it from the ground up. That almost never works because it's a huge, impossible, endeavor. Hence, Perl 6.
Re: (Score:2)
Exactly. There is one big danger in programming and that is... well, there are *two* big dangers in programming and those are... Anyway, *amongst* the biggest dangers in programming we find the problem of parsing. Combine things like BER encoding (responsible for such wonderful not-at-all critical things like SNMP and X509), and languages like C (I absolutely love C, mind) and well.. you have the cocktail you have today. No, but absolutely not a single language at all took the hint from perl and made a sema
Re: (Score:1)
writing in perl is great for job security, no one will be able to decipher your spaghetti garbage.
Re: (Score:1)
writing in perl is great for job security, no one will be able to decipher your spaghetti garbage.
If you do this in Perl you can do it in any language! Bad practices apply to any language.
Re: (Score:1)
God. Ain't that the fucking truth. I have to code with that shit at work. It's bad. Very bad.
Basically if your go-to language for anything other than UNIX scripting type shit or _very_ simple CGI scripts is Perl you are an asshole. An unmitigated fucking asshole.
I fucking hate Perl now. It's great for its intended purpose but unfortunately a bunch of assholes sysadmins who can't code thought they could code and started cranking out larger and larger "apps" with Perl. Fuck them, and fuck Perl. It's a shit, r
Re: I'd be a Walmart greeter (Score:1)
I think he was just describing his chances to land either position.
Re:I'd be a Walmart greeter (Score:5, Informative)
Before I'd ever code in Perl.
One of the defining traits of a skilled craftsman is her ability to choose the right tool for the job. In other words, not everything is a nail, rookie.
Re: (Score:3)
Some tools are never right.
That applies both to tools and "tools".
If you are talking about perl, you are not in the "skilled craftsmen" group. For certain jobs, it is unparalleled. Now pick up your hammer and start whacking those nails.
Re: (Score:2, Insightful)
There is quite a bit of hate for Perl, and I think this is because it has become one of those things where groupthink is largely to blame. i.e. if you don't hate Perl, you're not one of the cool kids.
The sad thing is, I can't think of a better tool for processing text easily and efficiently. Not only that, but Perl is excellent for "one liners", whereas python is just a bear at that task by comparison.
Re: (Score:2)
I don't understand hating languages you don't have a personal connection with. I tried Tcl and Prolog, and came to the conclusion that I didn't like either. I found a simple solution: I don't use them. I've written plenty enough COBOL to have a personal connection, and that's a language I really dislike. Why would I waste time and energy hating a language I've never really used, when I have Perl and C++ and Common Lisp implementations for the stuff I want to do?
Perl is better than you think (Score:5, Informative)
You have obviously never coded in any language, let alone Perl. Comments like these are usually from people with zero real life experience.
I've been in IT far longer than you have, I guarantee you that. Perl has fallen out of favour, but it is not a bad language. There are things you can do in Perl better than any other language. Full stop. The Internet of the 90s and early 00s was largely built on Apache, Perl, and Linux.
Perl is masterful at text manipulation. There is nothing extant better than Perl for regex. Nothing. Detractors poo-poo Perl because there "is more than one way to do it". Perl code can be treacherously obfuscated, but that's part of the fun. As long as good code is well documented, there is no harm.
Perl is far better than awk, sed, and other, older tools. Better even than Python for text work and regex. Python is the darling of the coder world, but has its own share of warts that even the Python camp gets their knickers in a twist over. Perl 1 still runs. Try running Python 3 in a Python 2 environment. You cannot. Perl is backwards compatible with itself, Python is not. The libraries in Python are wholly incompatible most times. Perl has CPAN, the likes of which don't exist in Python.
It's my opinion that for what Perl excels at, one can get off the ground quicker and easier in Perl than in Python. CPAN helps enormously with this. In closing, Perl is no longer the beauty queen, but she is the girl next door who is a reliable friend, who is acknowledging of her weaknesses and uses, but who does what she does better than anyone else. Perl runs in surprising places. Perl is arguably also faster than Python compiled or interpreted. Just my .02.
Re:Perl is better than you think (Score:4, Insightful)
To quote something I read somewhere:
Re: (Score:2)
The best code is self-documenting code. You start there, and then add comments.
Re:Perl is better than you think (Score:5, Informative)
Re: (Score:2)
this is an arbitrary business rule Joe asked for so a salesman could close a contract and get a BMW. Yes, it breaks the flexibility of the architecture and will never be fixed."
If that breaks your 'flexibility,' the code wasn't very flexible to begin with.
Flexible code handles unexpected and weird cases.
Re: (Score:3)
Some coders love to never document, always fearful someone may come along behind them.
FTFY.
Re: (Score:2, Interesting)
This is BS and you know it. I started coding in 1982. I followed in the footsteps and was taught by guys who started in the mid 60s. I was taught to comment everything. Yes, it can be laborious, but I've been praised for how easy my code is to understand, comments aside, because I give a damn. I'm old school. I'm a pedantic old school guy who takes to time to go the extra mile. I don't live in fear of who is coming behind me. I do what I do because I was taught by people who did things well, gave a damn, an
Re: (Score:2)
Well-documented/commented code is the hallmark of profressional, old school programmers who started off right and stay right.
Yes, I agree. I was pointing out that there are lots of unprofessional assholes out there who refuse to document because they started off wrong and stayed wrong.
Re: (Score:2)
Re:Perl is better than you think (Score:5, Informative)
As much as Python is touted as the replacement for Perl, compatibility between Python versions is painful. While it's possible to write code that works in 2.4, 2.7 and 3.0, it's much harder and more limiting. I'm sure Python is great for environments where there's only one OS image and version of Python to support, which covers small to mid sized companies pretty well.
However, large enterprises tend to have legacy systems (RHEL 3/4 still run fine in VMs if you don't have to keep up on security patches) and non-Linux based systems. Solaris is pretty painless, but AIX can be painful.
Perl 5.8 has most of the functionality needed to be productive and covers systems with bundled versions of Perl 10+ years old. If you really want to reach, being compatible with 5.4 gets you to almost 20 years ago.
It's not that hard to write Perl so it's readable and maintainable by groups of people, as long as they agree to pretty basic standards. Functionally, it's no different than any other collaborative development.
Perl's biggest strength is how easily it can act as the glue between many different utilities, data sources, etc. There's so many CPAN modules available that it's not hard to find most of the big pieces of code and write what's left.
Re: (Score:1)
The Internet of the 90s and early 00s was largely built on Apache, PHP, and Linux.
FTFY
Re: (Score:2, Informative)
Maybe in your world, but I worked for one of the largest Web hosting companies in the world in the late 90s and we had almost no one using PHP. It was, as I said, largely Linux, Apache, and Perl. LAMP began in earnest around '98, but for server programming, over 90% of our users, and we had tens of thousands, were using Perl. So much so, in fact, we had more Perl guys than any other language. There were almost as many of them as there were sysadmins. The good old days.
Re: (Score:2)
Perl is Perl. (Score:5, Insightful)
Why... would you do that? Python 3 is not a new version of Python 2. Python 3 is "other." I think you're just confused by the (admittedly very poor) naming convention they have adopted. It probably should have been called Serpent or something along those lines, because it really isn't an attempt to "be" Python 2 at all. Furthermore, if your code is tested and running, why would you convert it to Python 3 and then have to re-test? Seems to me the number of good business reasons to do such a thing would be a very small number (of course, you might want to do it for fun or educational value, but that's not really germane.) Python 3 is for new code, if you want to go that way (and you certainly don't have to.) Python 2 is solidly emplaced and not going away. It's a different thing. It's not a "you need to upgrade" thing or a "you have to move your code" thing or a "now Python is this other thing" thing. Python 2 is Python 2, Python 3 is other. That's all you need to know.
No, it isn't. For instance, later versions of Perl will choke -- the code will fail and/or act differently -- on various early usage patterns, such as hash references.
https://docs.python.org/dev/distributing/index.html [python.org]
CPAN itself is a bunch of usable Perl. There's a huge amount of usable Python out there as well. It's disingenuous to suggest that CPAN, which is merely a repository, represents a meaningful difference.
Meh. I haven't run into any text processing problems that I couldn't solve with Python that made me think, "gee, wish I had X Perl feature." And I wrote in Perl for quite a few years, I know the territory fairly well. Python's got some pretty solid regex handling as well. Python 2. No idea what Python 3 has, could care less. Different language and all that. :)
Oh good grief no. Perl is hard to read by nature. Python is easy to read by design. Now, if you had said "for the experienced Perl programmer who knows little or nothing about Python", then sure. But otherwise, just no. Perl is horribly obscure in terms of "getting off the ground." Moving to Python from Perl was like having a huge splinter pulled out my butt for that very reason. I can actually read other people's code and understand it without having to keep in mind a whole raft of special characters and the like. Instead, what is happening is almost always spelled out fairly explicitly in what nearly amounts to plain English, requiring much, much less of my brain to be dealing with the language, and leaving much, much more of it free to be dealing with the program logic.
Not the OP, but I've been in IT since ~1972. You may have been at it longer, but I've been at it long enough to come to the conclusion that the objective of a programming language is to solve a problem, and specifically to do it in such a way that the solution is maintainable, effective, and doesn't naturally hide bugs because of ingrained opacity. Something may come along that is better at these things than Python, but I've not run into it yet, which could certainly be a result of me not looking at things that are already out there -- but it isn't a result of not looking at Perl. I've written an enormous amount of Perl, and if there is one thing I will say about it consistently with benefit of hindsight, it is that I wish I'd been able to write it all in Python. Because Python is much, much easier to write, clearer to read later, easier to debug, easier to fix, and yes, actually more fun.
Re: (Score:2)
So.. what you're saying, essentially, is that Perl has more obscure regex handling. Okay. I agree. :)
More seriously, regex is a last resort for me; I only go there if I *really* need to. Which is rarely. So little tweaks like those you're describing don't particularly figure in language choice, as long as it's there if I need it. Regex fans have other motivations, and that's fine. Can't see this as any reason to inflict Perl on kids, though. Butterfly or not.
Re: (Score:3, Insightful)
A regexp is almost always cleaner and easier to read and understand than other code that does the same thing.
Learn regexps. Learn to love them. Bite the bullet.
And Perl is as readable if not moreso than many other languages. I'd rather have a rich language full of concise ways to do what you want than one that forces you to do everything the same way even if it is roundabout.
I care more about the person that uses it every day being able to read it than someone who has never used it being able to pick it
Re: (Score:1)
Perl's real problem is that Perl has too long lacked critical features that other languages have been getting while Perl did not because of waiting for Perl 6.
So, what are these 'critical' features?
I can't think of almost any post-5.8 feature I could call 'critical', with the possible exception of better unicode support. 5.8 was released in 2002.
Re: (Score:2)
When I left Perl thread support STILL sucked.
Re: (Score:1)
The thread support has been the same for a long time. I'm not fond of its model, but I can't say it's bad either.
I can't really work much with the very vague description of 'sucked' though.
Perl uses a different thread model than most programming language: variables are explicitly shared (everything is thread-local by default), rather than implicitly (everything is shared). The implicit model gives you concurrency problems (race conditions). The explicit model gives you high memory usage.
I hear that some new
Re: (Score:2)
The below from http://perldoc.perl.org/thread... [perl.org]
Re: (Score:1)
Yes, that is exactly what I was referring to when explaining its threading model. That warning was (quite recently) added because people thought the implementation'd be like in every other language, but it isn't.
Re: (Score:2)
As long as good code is well documented, there is no harm.
Funny that you should mention that. Many years ago, before I discovered Python, I used Perl as my primary scripting language. I eventually discovered that I found it hard to read even my own code in Perl. So I applied the same solution I already used to the only other language I knew where I had the same problem: assembly.
I had learned over the years that in order to make assembly readable, you need to comment (nearly) every line. I started doing that with Perl, and voila!, problem solved.
Then I discove
Re: (Score:2)
> Comments like these are usually from people with zero real life experience.
Well, I've had my experience with Perl, and it did not please me. I'm not even referring to the antics of parameter passing or obscure syntax use. No, Perl couldn't even get a simple while ( && ) right. Being able to combine conditions is not an idiotic requirement, it is Compositionality 101. It is the basis of logic, and it permeates natural language. That's what Wall's background as a linguist amounts to. He just want
Re: (Score:2)
You have obviously never coded in any language, let alone Perl. Comments like these are usually from people with zero real life experience.
Ditto. I remember trying to write reports for people in Fortran and C out of an Oracle dbs.
When I discovered the text processing capability of Perl, I was hooked. And so were my users.
Seems the almost all of our important data, on the reports, is text, not id fields like we use in the dbs.
I can use Perl to resort the reports any which way at all without retouching the dbs.
You can write poorly in any language: C#, JavaScript (the LAMP stack replacement) and different folks either write well or poorly in
Re: (Score:2)
There is nothing extant better than Perl for regex. Nothing.
That may have been true 15 years ago, but it's blatantly false today. I have a client with a legacy Perl text processing job that was beginning to run too slowly to keep up (log processing was starting to take longer than the log files were generated). They were going to buy an expensive log analysis tool, so I asked them if they actually wanted the tool or if they were happy with the output of their Perl script. They preferred the output of the script. So I said, "Give me a few hours."
A few hours later, I
To teach kids to code you need an incentive (Score:5, Insightful)
Growing up in the early 80s on an apple II, one of the things that helped me learn to code was that I could edit and modify existing code like Oregon Trail to cheat. It also helped that there was a limited amount of other things. We didn't have 24 hour kid cable channels so once I got bored then I needed something else to do. I see the same things in my kids. They love kodable on the ipad because it gives them a new character every time they completed a level. A similiar game cargobot they aren't interested in at all because it doesn't have any rewards. I also notice that when they are grounded from their playstation is when they immediately start reading more books, playing the piano more, exploring new apps on my ipad, going outside more, etc... Just like adults, kids are going to gravitate towards what is most enjoyable at the moment and unlike adults they have very little concept of delayed gratification so doing something for their future self is not on their radar. The best way to get kids to want to code is give them something they can do with it whether it is control a robot, create a webpage to show off to their friends, etc... When I was in school alot of kids knew basic javascript and html because that was the only way to have a geocity webpage. Facebook and the likes have allowed kids to have a presence on the web without any need to code. It's still possible to get kids interested in coding if you can show them "cool to them" stuff they can do with it.
Comment removed (Score:5, Funny)
Re: (Score:2)
The incentive is there, and the person you're replying to simply pointed it out.
To explain it somewhat differently, the OP will receive additional readers for each bit of readability added.
It's just that the OP -- and you, apparently -- don't fully understand the game yet.
By the way, failure to understand the value of readability may be due to too much coding in Perl. :)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
I find these kinds of replies often. However I always wonder: did your parents try and get you to learn how to code or was that something you did yourself? Perhaps the whole premise of "getting kids to code" is a faulty one. The kids that WANT to code will do so on their own. Many of us started coding and it's not like we had a massive amount of push to do it. It was fascinating, empowering, and an interesting challenge. Also there's the whole idea that parents are lame and their ideas of fun are lame. Perhaps we could just let kids do what we all did: discover the real magic behind computers on our own and THEN seek out guidance versus having it thrust at us like it's a job?
My point was not to try to push kids to code but give them a carrot so they want to code. I installed kodable on my ipad several years ago and just left it there for them to discover and they only recently took an interest in it. I also have scratch and a few other games installed that they dabble with but haven't really got in to. Many of the apps my kids like are things that let them create. Kids like to create and show you what they created. Programming is a great way to create but one issue I see t
Re:To teach kids to code you need an incentive (Score:4, Interesting)
Likewise. I learned a fair bit of my early programming (And a good bit of math too. Though I guess you can argue that programming is math. But they're still separate skills in my head.) from opening up Apple ][ game files and modifying the code to cheat too. And not just games. I also knocked up programs to open up the data files from some of those educational programs they used in school and pull the answers to the math and english quizzes they made us take. Sorry Mrs. Brown. But those quiz programs you thought were challenging problems were weak sauce compared to Rocky's Boots and Robot Odyssey.
I wonder how many kids are losing out in these days of developers' policies that: "Our code is ours, now and forever. You may never look upon it or change the way it runs in any manner whatsoever. And by virtue of that code, we may also screw with your hardware or online accounts.". Mess with their precious code, and Valve will flag your account as abusive and lock you out of some games. Microsoft will brick your xBox. Some companies (Sony, for one.) will actually sue you. It's pretty sad. I'm far from being an RMS acolyte. I don't think of "free software" as some kind of moral imperative. But does really bug me when corporations actively attack people for tinkering with the hardware or software they paid for.
Read the article, it's full of great quotes (Score:5, Funny)
“People who made early implementations of Perl 6 came back to me, cap in hand, and said “We really need a language designer.””
“I was almost explicitly told: “Stay out of the implementation! We saw what you did made out of Perl 5”
“With Perl 6, we found some ways to make the computer more sure about what the user is talking about.” ...
Re:Read the article, it's full of great quotes (Score:5, Funny)
Because, god knows, if anything in Perl is consistent, it's strange.
Then there's the use of "Larry Wall" and "language designer" in the same sentence...
I teach kids at a middle school (Score:1, Offtopic)
Is there anything as simple as Basic for introducing kids to the "basics" of programming that is easily installable on Windows based computers?
After am introduction to programming my interest shifted to systems dynamics model programming (principally vinsim). However, I would like to be able to help the students learn the basic concepts (7th grade) While C++ has a lot of tools, it is too abstract and complex to keep the students attention. Hour of cide has a Logo toy. Really, I would like an up to date Basi
Re: (Score:1)
I don't happen to think it is terribly off topic as the topic includes the words "Getting Kids To Code."
And no, basic was nothing like VB, it was a form of Fortran.
I find it interesting that you mention the syntax. That was one of the appeals, the syntax was simple.
I notice that both respondents are mentioning Python. I may look at some books on it in, what is left of, my summer.
Well. (Score:2)
At my high school, which has no programming classes, my co-worker does lead the robotic's club which uses a simplified version of C to make the robot [vexrobotics.com] do things.
We also included Alice [alice.org] on all of our netbooks. It does seem like Scratch is probably more popular these days.
DISCLAIMER: I am not affiliated with any of these and I've only used one of them for like 5 minutes so YMMV. I'm not a programmer at all and the only languages I've spent any time with at all are C and Python and I would barely consider myself
Re: (Score:2)
Eight years ago it had been in development for seven years, which was already five and a half too many. We're so far past the due date for Perl 6 that its high school photos show it wearing bell bottoms.
Perfect summary of Perl from Larry himself (Score:2, Interesting)
"I started trying to teach myself Japanese about 10 years ago, and I could speak it quite well, because of my phonology and phonetics training – but it’s very hard for me to understand what anybody says. So I can go to Japan and ask for directions, but I can’t really understand the answers!"
This is exactly what Perl is about. You can write code, but have no chance of understanding code of other people.
Re: (Score:1)
Sounds like early C++ projects where the developers tried to use every feature of the language possible. Including those that shouldn't have been in the language in the first place.
Re: (Score:2)
Ah, redundancy. :)
(still writes in c)
Re: (Score:2)
Re: (Score:2)
Your mom still uses gotos and line numbers.
In fact, I heard she uses punch cards.
Re: (Score:2)
# - unless the source that you are looking at was written by a coding mime...
#
Re:Perfect summary of Perl from Larry himself (Score:5, Insightful)
Disclaimer: My longest Perl programs were around 500 lines, designed mostly to process log files and provide some kind of selectable reporting capabilities.
Is this a function of Perl itself or a function of the people writing code adopting poor coding and commenting practices? Just because the language lets you use weird shortcuts to compact several atomic steps into one line, should you?
In my case, the scripts were dependent on the log files being in a specific format for parsing and analysis. A couple of times over the five year time I used them the vendor changed the log format, requiring me to modify the parsing and in one case make some non-trivial changes to a reporting summary due to differences in the log format.
I never had a problem going back to the script 18 months or so since the last time I edited it and understanding what I did or how I did it, thanks to generous comments and avoiding the kind of obfuscation Perl let you -- but doesn't require you -- to do.
I'm not a coder by trade and I thought Perl was very easy to learn. My sense is the complaints about Perl code are more a function of a language that's easy to learn and is thus adopted by a lot of amateur coders who then churn out a lot of code that they think is "made better" by some of Perl's shortcuts. I think it was one of those things where the user culture was such that the "smart guys" in the forums an newsgroups wrote obfuscated code and since they're elite, well, maybe I should to because it just might trim .025 seconds of execution time or something.
More complex languages are adopted by people with more discipline and experience and they just naturally impose more discipline on their coding style.
Re: (Score:3)
If you're writing something obfuscated to show how clever you are, it shows that you don't work in teams. I know perfectly intelligent people who like Perl 1-liners, but don't realize that the compactness means other people can't use or build on that work. Whenever I wanted to use one of those 1-liners, I always spent the first 20 minutes translating it into readable code with variable names so I could figure out where to add new features. That kinda loses i
Re: (Score:3)
Re: (Score:2)
And there is a good chance Larry would understand you trying to speak Japanese. It is just those 120 million other people he cannot understand.
Re: (Score:2)
Grrr... It was of course supposed to be "understand himself trying to speak Japanese".
Re: (Score:2)
"I started trying to teach myself Japanese about 10 years ago, and I could speak it quite well, because of my phonology and phonetics training – but it’s very hard for me to understand what anybody says. So I can go to Japan and ask for directions, but I can’t really understand the answers!"
Most likely you couldn't speak it as well as you thought, and despite your phonetics training, your accent was really quite awful. Which is a good metaphore, because:
This is exactly what Perl is about. You can write code, but have no chance of understanding code of other people.
As someone else said, "You have obviously never coded in any language, let alone Perl. Comments like these are usually from people with zero real life experience."
Re: (Score:2)
"notes that Python has done a better job" (Score:5, Insightful)
Yeah , wonder why. Could it be because its actually readable and has a sane syntax that doesn't look like the aftermarth of an explosion in a punctuation factory?
Re: (Score:2)
I'm going to be appropriating this gem. Minus the 'r' in "aftermarth", that is. :)
Re: (Score:1)
Perl 6 (Score:2)
Re: (Score:2)
Why is that?
As a fellow daily Perl 5 user, I would be very interested to see your experience with Perl 6. Have you just "seen" it, or have you actually used it?
Awesome! (Score:5, Interesting)
I can code in several different languages and, while Perl is by far my favorite, I have to say that it was by far the most difficult language to learn on my own. The reason was because the syntax just seemed too cryptic. By contrast, I learned to code in Assembly when I was 14 by reading a book on the subject and trial and error.
In order to get my head around Perl I took a 1 week crash course which really demystified the language. I have now found Perl to be the most useful and versatile language that I have ever used - especially for system administration tasks. It is also great for writing spiders, parsing text, communicating with system resources and interacting with databases. Of course, each programming language is a different tool for getting certain jobs done. Perl is akin to a swiss army knife.
What's also wonderful about Perl is that it is native to Linux and also available on Windows (I use Strawberry Perl at work to monitor hardware as i'm forced to use a Windows Desktop).
I know that a lot of younger coders will scoff at Perl (usually out of ignorance) whilst touting the superiority of VB or Java (which is laughable). To each their own.
It's really nice to see that Perl is still being actively maintained and has a new release coming out. I don't know about the rest of you, but i'm salivating over this one
Re: (Score:2)
...People tout the superiority of Visual Basic?
I think you're hanging out with a weird crowd of "young coders".
Programming for kids (Score:1)
Isn't Perl considered child abuse in most states?
Released by Christmas? (Score:2)
Still waiting to lazily evaluate which year, are we?
Not a pedagogical language (Score:4, Insightful)
I've used Perl for 20 years and still find it more productive than most other languages, but I would _never_ recommend it as a first programming language to anyone.
Re: (Score:1)
FWIW, Perl was my first language. My timing sucked -- I learned Perl just a few years ago, right before the anti-Perl fad hit its fever pitch.
Everybody thinks it's cool to bash on Perl and PHP, right. I wouldn't call myself a seasoned enough dev to have an informed opinion, but I will say that that Learning Perl book from O'Reilly is one of the best-written language learning books I've read, and that teaching myself Perl gave me an advantage in my tech career.
It's not that I got to use it very often (I lear
Re: (Score:2)
" I learned Perl just a few years ago, right before the anti-Perl fad hit its fever pitch."
When exactly? Perl has been dead for more than a decade. George W Bush hadn't even been re-elected when Perl was already comatose.
Perl's problem: popularity, not functionality (Score:4, Interesting)
I've been around long enough to see Perl go from the glue of the internet to object of scorn. It's no longer the preferred tool of sysadmins or the easiest way to write web applications outside of raw C. I've had a good deal of time to consider why that's the case, and I keep circling back to it being an issue of popularity.
We like to think that we're engineers, scientists, deep thinkers, whatever - and that we as software devs therefore make sound evidence based judgements, at least more often than other disciplines. The fact of the matter is that we're just as led by emotions as anyone else. We have 'Holy Wars' over OSes and languages and frameworks, and what most of them boil down to is justification of personal preference more than anything else. Not features, not availability, just personal preference.
In that light, I've been seeing a lot of fad languages in the last decade or so. I usually refer to them as toy languages though that phrase may have a number of inaccurate definitions. Simply, they're a new toy to play with. Scripting languages are especially prone to this because they tend to have a lower barrier to entry. In recent memory, I seem to remember it going something like Ruby + RoR => Python => Scala => Javascript via node.js => and now the big thing I'm hearing about is R. The claim is that each one is so much better, but the reality of it is, it's just so much newer, and the differences in implementing identical functionality is not as important as the flash and sizzle. Even when the sizzle is backed by something useful, people stop paying attention once it stops. In fact, most of these languages have been around for a long time - several of them almost as old as Perl itself. They've just briefly become popular, not making any sort of surprising forward leap to become capable or more feature rich.
Of course, one big part of the popularity is maintaining buzz, and with what was effectively a 15 year hiatus from any real forward development, much less promotion, Perl dropped out of the limelight.
This is pretty standard though. People seem to forget so quickly; at one time, ColdFusion, Java Applets, Flash and PHP were the darlings of their day. Perl too.
Now, if someone were to take Perl 6, produce a framework for it that tried to force a remedial coding style (Python), require webapps follow a specific directory layout and naming convention (RoR, many JS webapps) as well as page templating (PHP, JSPs, Razor/Webforms, etc), add some human-friendly data query language features (Java Streams, C# LINQ), provide tools for automatic dependency search and import (Maven, Ruby Bundler), and then really play up the functional aspects of the language, and perhaps Perl will rise again too.
If that's really the features people are looking for. I deliver that line with only marginal sarcasm; I note that the number one complaint against Perl is ugly code, which we know is the domain of the author, not the language - and other languages 'fix' this by taking away developer agency.
Even without those new features, and though I don't use it as often, I still like the ole' "swiss army chainsaw," just a little bit more than these other choices. I guess you could say it was just a matter of personal preference.
As long as you do not optimize for performance (Score:1)
I am a C/C++ programmer and before my professional Perl experience, every problem seemed to be solvable with a C/C++ solution. I have been doing Perl for 18 months with a team of fanatical/religious Perl developers. I guess that is where the term "Perl monk" comes from. They were are blind as I was but instead of seeing C/C++ solutions, every problems for them where solvable with Perl.
It was extremely frustrating to be imposed using Perl when it was obvious that C/C++ would have been a superior ch
Isn't the latest version of Perl called Ruby? (Score:1)
I find it strange Ruby is never mentioned in the interview since my impression of Ruby is "object oriented Perl" and I'd guess many of the web application type things traditionally done in Perl have migrated to Ruby.
Perl 6 out by Christmas? (Score:1)
Perl Bashing - Denser vs Cleaner (Score:2)
Stop kidding me (Score:2)
Larry, let's get real, fifteen years is a stupid amount of time to work on a single point release of a piece of software. People forgot about you and Perl 6 in 2003. I sure did. I've used a little Perl since then, but I haven't given any consideration to release 6.
Re: (Score:2)
Perl 6 was announced in 2000. Your argument made sense in 2001. By 2002, this whole "Perl 6" thing was starting to sound ridiculous.
And 2002 was twelve years ago.
Hating Perl isn't trendy -- it's retro, super retro.
Re: (Score:2)
And by twelve years ago I mean so many years ago that it's even more than twelve years.