Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Perl Education Programming

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.
This discussion has been archived. No new comments can be posted.

Larry Wall On Perl 6, Language Design, and Getting Kids To Code

Comments Filter:
  • Perl still exists.

    • by dintech ( 998802 ) on Thursday July 16, 2015 @08:34AM (#50124305)
      If I have children, before they are allowed to use the internet, the first thing I'll do is educate them to be careful about the dangers of Perl.
    • by Anonymous Coward

      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.

      • by bytesex ( 112972 )

        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

    • writing in perl is great for job security, no one will be able to decipher your spaghetti garbage.

      • 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.

    • by Anonymous Coward

      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

  • by Wycliffe ( 116160 ) on Thursday July 16, 2015 @08:10AM (#50124147) Homepage

    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.

    • Doh! My dad and I used to spend hours copying machine code from the pages of Byte magazine, only to get a little blip in the middle of the screen instead of seeing the glory that was 'Ring Quest' ! Where were you to fix our code??
    • 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. Perh
      • 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

    • by SvnLyrBrto ( 62138 ) on Thursday July 16, 2015 @11:33AM (#50125231)

      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.

  • by hattig ( 47930 ) on Thursday July 16, 2015 @08:12AM (#50124163) Journal

    “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.” ...

  • 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

    • 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

  • "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.

    • by Anonymous Coward

      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.

      • by fyngyrz ( 762201 )

        "every feature of the language" ... "Including those that shouldn't have been in the language in the first place."

        Ah, redundancy. :)

        (still writes in c)

    • Visual Basic is still uglier.
    • # Comments help you understand other people's code, regardless of the language
      # - unless the source that you are looking at was written by a coding mime...
      # ... in which case the code should be sent to /dev/null for clarification.
    • by swb ( 14022 ) on Thursday July 16, 2015 @09:13AM (#50124591)

      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.

      • by qwijibo ( 101731 )
        It really comes down to the developers mindset.

        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
        • I couldn't have said it better myself. I have been programming in Perl for 20 years and my mantra has always been "It's better to be clear than to be clever." There are two types of coder that are a curse to the Perl language: beginners who write stupid code because Perl lets them do it, and "elite" coders who delight in obscure difficult-to-read idioms (which often cover up poor basic logic). Saying that someone's Perl code looks like C is meant in a derogatory way by some Perl coders, but I think Perl wou
      • by abies ( 607076 )

        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.

        • by abies ( 607076 )

          Grrr... It was of course supposed to be "understand himself trying to speak Japanese".

    • "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."

  • by Viol8 ( 599362 ) on Thursday July 16, 2015 @08:34AM (#50124309) Homepage

    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?

    • by fyngyrz ( 762201 )

      aftermarth of an explosion in a punctuation factory

      I'm going to be appropriating this gem. Minus the 'r' in "aftermarth", that is. :)

    • Perl will rise back to the top like a Phoenix from the ashes. Larry Wall is a genius and deserves way more respect than what others have been giving him as of late.
  • I use Perl eveyrday. I like Perl. I've seen Perl 6. I'll stick with Perl 5, thanks...
    • by UPi ( 137083 )

      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)

    by MagickalMyst ( 1003128 ) on Thursday July 16, 2015 @08:50AM (#50124423)
    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 :)
  • Isn't Perl considered child abuse in most states?

  • Still waiting to lazily evaluate which year, are we?

  • by JazzHarper ( 745403 ) on Thursday July 16, 2015 @09:58AM (#50124905) Journal

    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.

    • 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

      • " 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.

  • by quietwalker ( 969769 ) <pdughi@gmail.com> on Thursday July 16, 2015 @11:17AM (#50125121)

    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.

  • 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

  • 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.

  • Next up: sustained, controlled nuclear fusion around mid-2025.
  • I think a lot of the bashing and criticism of Perl comes from the fact that Regular Expression handling is an inherent part of the language - rather than being left out of the language design and relegated to just another set of functions in just another library. Regular Expressions are inherently hard to read - as they are complicated and dense - but even the most casual novice of Perl would be able to easily identify that what they are seeing is just a regular expression - and hopeful a comment or two wou
  • 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.

Understanding is always the understanding of a smaller problem in relation to a bigger problem. -- P.D. Ouspensky

Working...