Larry Wall On Perl 6, Language Design, and Getting Kids To Code
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.
"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.
It will be nice to see what "bells and whistles" Perl 6 has added.
:)
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
Political correctness is really just herd psychology pushed by insecure people who desperately seek social conformity.
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, and who were at the top of their game.
With the advent of huge amounts of RAM, huge HDDs, and faster processors, people have gotten sloppy. I remember coding close to bare metal, when you had to take care to write clean, documented code. These days, most guys write code that could be done in literally half the lines if they better understood what they were doing.
Case in point: a friend of mine works closely with HW devs in the *NIX embedded industry. An open source driver his shop wanted to use was over 30k lines of code. That code was re-written to do the same thing and more in under 10k. I've seen the code. This was a six week job. As you know, embedded stuff needs to be tight and work perfect, taking maximum advantage of HW and available memory. The re-written code was better commented as well. Still all under 10k lines of code.
Well-documented/commented code is the hallmark of profressional, old school programmers who started off right and stay right.
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.
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.
Imagine all the people...