Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
Perl Open Source Programming

Interviews: Ask Perl Creator Larry Wall a Question 281

Larry Wall created the Perl programming language (as well as the Unix utility patch, and the Usenet client rn ). This Christmas saw the release of Perl 6 -- a "sister" language to the original Perl -- that's also free and open source, after 15 years of development. Now Larry has agreed to give some of his time to answer your questions (joking that "I doubt my remarks will be quite as controversial as, say, Donald Trump's, but I suspect I could say an interesting thing or two...")

Larry also gave Slashdot's very first interview back in 2002 -- so it's high time we had him back for more heartfelt and entertaining insights. Ask as many questions as you'd like, but please, one per comment. (And feel free to also leave your suggestions for who Slashdot should interview next.) We'll pick the very best questions -- and forward them on to Larry Wall himself.
This discussion has been archived. No new comments can be posted.

Interviews: Ask Perl Creator Larry Wall a Question

Comments Filter:
  • Question (Score:3, Interesting)

    by mlwmohawk ( 801821 ) on Monday June 13, 2016 @07:38AM (#52305077)

    Why is the syntax of perl so bad? It lends itself to scripts that even the authors can't understand after a week or two.

    • Re:Question (Score:5, Insightful)

      by Anonymous Coward on Monday June 13, 2016 @08:19AM (#52305325)

      Yeah, right. Just as C lends itself to it, just look at IOCCC.

      You can write shitty perl code, but you can also write beautiful code that is easy to read and maintain since perl is very high level and you don't need to bog down into technical details to solve everyday stuff. Just describe your algorithm and let modules do the heavy lifting (don't reinvent the wheel).

      Just because a sysadmin hacks together a five line perl script to fix an acute problem, doesn't mean that all perl code is shitty.

      • Obviously there is no way to respond to this as "syntax" is a mater of taste. I can say this, though. Java and C type languages clearly delineate "punctuation" and special characters in to well known uses. Secondly, logical flow is wrong in perl, as in, "do_something unless foo" It is a brain dead way of expressing: if( ! foo) do_something. Most languages do not support this type of expression, and switching from java, to c, to python, to (yuck) perl it makes perl especially onerous to read.

    • by Megane ( 129182 )

      Because it merged C syntax with sed and awk, which are alien to anybody who has a Windows-only background.

      I still don't know where they got the "post-if" conditional variants from, maybe someone made a bet that he couldn't do it.

      • ...come from Digital's BASIC-PLUS [wikipedia.org] that ran under RSTS/E on a PDP-11, a setup that Larry mentions in the appendix of the Camel book (I was blessed (cursed?) to use BASIC-PLUS-2 in my high school job).
    • by bytesex ( 112972 )

      It isn't. It does, but it's your own fault.

      See how easy it is to answer very subjective questions?

    • My pet theory of why Perl has lost favor to Python is that it's really a unix language. You can run it on a windows box but only with a lot of effort to install and to maintain it. It seems to me that Perl could be more successful if one could get it adopted intrinsically into the Windows environment. A common, mistaken, lament about perl is all the sigils that make it look like swearing. But those actually add meaning (I can tell what's an array, a reference, a glob, or a scalar) and they are familiar t

    • While perl makes it so it is possible to write scripts that are hard for the author to understand I find it better to make my scripts more readable even if they aren't as compact or fast as they otherwise could be. I will say one thing I probably have seen more unreadable, thus unmaintainable, perl code than almost anything else although Java gives it a good run for the money.
  • Perls before swine (Score:3, Insightful)

    by Anonymous Coward on Monday June 13, 2016 @07:40AM (#52305095)

    Why do you think so few people have adopted Perl as their language of choice?

    • You do realize that Perl has massive adoption and that unlike most languages it's usage hasn't dropped over time?
    • I am a sysadmin type and I decision tree is:

      Windows? -> Yes -> Can I use Batch? -> No -> Can I use Perl -> No -> Can I use Cygwin Perl -> No -> Use PowerShell
      Linux? -> Yes -> Can I use Bash? -> No -> Use Perl

      I can understand the developer h8 (I guess), but for me, Perl is an indispensable language.

  • by drakaan ( 688386 ) on Monday June 13, 2016 @07:50AM (#52305159) Homepage Journal

    Perl used to be central to so many things (the 'glue' language for the internet), but seems to be slowly falling out of use in deference to javascript, java, python, vbscript/powershell, etc. It's the language I used in my first job as a system administrator (back around the time you gave your first interview), and I loved it.

    With so many years between the announcement of Perl 6 and it's completion, many people moved on to other solutions or technologies. Perl 6 is here now, but why should I use it?

    • by jellomizer ( 103300 ) on Monday June 13, 2016 @09:10AM (#52305723)

      I expect much of that is due to the rise of Cheap and Free quality database systems.

      Back in the 1990's during Perl's hay day. Database systems were really expensive Thousand of dollars for a bad one, Tens of thousands for a decent one and hundreds of thousands for a good one. Then they were mostly required to run on beefy hardware at the time. Filling up Gigs of storage and using hundred of megs of RAM. Using Perl to process your text/data files made it possible to make these data driven sites run well without such overhead.

      Now 20 years later, A low end Computer has the power to run Databases, You can get a really good Database system for under $1k or even Free. Now your data be processed quicker and with more safeguards from data corruption.

      Perl was designed for processing text. It did it well... Today we don't need so much of that.

      • Perl was designed for processing text.

        This is the key. When ever I have to do text processing, configuration file generation, configuration management type stuff Perl is my go to language as it great for processing text. For me it is just another tool in the box, like C/C++, various other scripting languages, etc. it has its place but unlike so many other people I don't just have a hammer so every problem is a nail.

    • That was a terrible branding problem. People were expecting perl6 to be the next perl. 5 is still a great glue language, but glue is rarely pretty and people have grown to love their 'beautified' code.
    • Perl 5 usage still outstrips python and usage hasn't decreased at all for sysadmins. Perl usage has dropped for the internet. What some people don't realize is that Perl 5 has continued to be developed. It it much faster and more feature rich than it was in the past. Perl 6 is a new language altogether.
      • by drakaan ( 688386 )

        Oh, I realize that Perl 5 is still there, and the nature of the schism between the two versions.

        I'm really looking forward to Larry (hopefully) responding to "why should I use it?".

      • by Raenex ( 947668 )

        Perl 5 usage still outstrips python and usage hasn't decreased at all for sysadmins.

        Do you have a source for that?

        Perl usage has dropped for the internet.

        Oh, I didn't realize that sysadmins weren't part of the Internet.

        What some people don't realize is that Perl 5 has continued to be developed. It it much faster and more feature rich than it was in the past.

        Too little, too late.

        Perl 6 is a new language altogether.

        It's got one foot in Perl's legacy, and the other in new, incompatible territory. Just who is Perl 6 going to appeal to?

        • "Do you have a source for that?"

          Sure. As you can see usage is actually increasing.

          http://www.tiobe.com/tiobe_index?page=index

          "Oh, I didn't realize that sysadmins weren't part of the Internet."

          Sysadmins actually aren't part of the internet. They are physical humans in the real space not cyberspace. At least for now. The primary internet usage of Perl was coded for CGI. That usage is almost non-existent now. But Perl usage as part of a modern stack is on the rise again even if it is one of the less popular ch
          • But Perl usage as part of a modern stack is on the rise again even if it is one of the less popular choices it is technically one of the better non-blocking highly parallel solutions able to handle thousands of concurrent connections without breaking a sweat.

            Why the heck would you choose to write highly-concurrent code in Perl instead of using a language, like Erlang, that was designed for it?

            • Because nobody uses Erlang and you'd be writing something that nobody could step in and maintain after you left?
          • by Raenex ( 947668 )

            Sure. As you can see usage is actually increasing.

            You didn't say usage was increasing. You said: "Perl 5 usage still outstrips python and usage hasn't decreased at all for sysadmins." What your link shows is that Python is ranked 4th and Perl 8th (in that particular list). So you don't have a source and just pulled that statement out of your ass.

            Actually the concurrent non-blocking thread model that is needed to break 10k connections which is being newly adopted everywhere else was the heart of the now ancient POE system in Perl.

            Who cares? Who wants to use Perl to use that model?

        • by skids ( 119237 )

          Oh, I didn't realize that sysadmins weren't part of the Internet.

          I think GP is talking about highly customized scripts, mostly unpublished, and specific to a particular system or site. You can only discern the prevalence of these uses of a language through the rather imperfect tool of performing surveys -- you can't tell by scraping github or service identifiers.

      • I do sysadmin work (and dev work); started using Perl back in 1996 for Apache CGI's and any shell scripts that were a pain to write using Bourne shell. Perl was great, it basically glued together all of the various Unix power tools like sed, awk, grep, cut, etc.

        These days I'm still writing Bourne shell scripts for simple tasks, but I've switched to using Python instead of Perl. The code is much easier to read, there are plenty of third-party libraries available, much better OO support, Python language bi

  • by Anonymous Coward on Monday June 13, 2016 @08:07AM (#52305239)

    As a linguist, you surely have some thoughts to share on the English language predominance in the IT field (as well as many others). Do you think that it may somewhat shape the way programming languages are designed, as well as IT infrastructures and ultimately our societies, in comparison of what it would be if we would use a no-nation-native language such as Esperanto? By the way, did you know Perligata[1] and Babylscript[2]?

    [1] http://www.csse.monash.edu.au/~damian/papers/HTML/Perligata.html/
    [2] http://www.babylscript.com/

    • by houghi ( 78078 )

      I think there is. At least the influence of language is there. e.g. for many a search down is done with / and a search up with ? and for people who use a qwerty this is pretty obvious, as it is on the same key. The / is at the bottom and the ? is at the top.
      So you have a key that means search and you can go up or down according to what is shown on the key.

      If you work with a different keyboard, this becomes less obvious. on azerty-BE they are not on the same key and both are on the top, so there is no link t

      • What I imagine has happened is that they start programming a language, look at the keyboard and think "What is the best key to use here?" and then take one that has not yet been used and which one can be accessed easily?

        I can't imagine why they'd do anything else.

        Would you choose, for your most common punctuation, something that you have to take your shoes off to type?

        I'll tell you what, editing html/xml is a bastard on AZERTY, with the > < on the same key.

  • by arth1 ( 260657 ) on Monday June 13, 2016 @08:10AM (#52305265) Homepage Journal

    Why has perl6 flopped?
    And "I don't think it has" is not a valid answer.

  • Python . . . ? (Score:5, Interesting)

    by PolygamousRanchKid ( 1290638 ) on Monday June 13, 2016 @08:14AM (#52305293)

    What do you think about Python . . . ?

  • by allo ( 1728082 ) on Monday June 13, 2016 @08:23AM (#52305359)

    Perl is proven to be fundamentally broken. Here are two very entertaining videos about how to exploit weird array casting, hashes and so on.
    I really think every perl programmer should have seen it.

    https://media.ccc.de/v/31c3_-_... [media.ccc.de]
    https://media.ccc.de/v/32c3-71... [media.ccc.de]

    What do you say about this criticism and the exploited flaws?

    • by alantus ( 882150 )

      I saw the first video, and I'm sure this Netanel Rubin will be ashamed of his presentation sooner or later due to the childish insolence.

      Perl is not broken, there is code out there with vulnerabilities, it happens in all languages.

    • Hard to understand if you don't speak German!
    • In PHP you have more terrible things, the ?: ternary operator associativity for starters, associative arrays, etc... and yet it's one of the most popular languages
    • > What do you say about this criticism and the exploited flaws?

      None of those have anything to do with Perl the language.

    • You call those flaws, others may call them features. I didn't watch the videos, but you can do really weird things in other languages, like C and, yes, some are problems, but they can often be useful for legitimate code. Perhaps you just haven't run across coding situations that require this type of language "flexibility".

  • Why perl? (Score:2, Interesting)

    by Anonymous Coward

    Why would you encourage someone to learn perl? (Compared to other programming languages, feel free to just give a general "reason" for perl, or an actual comparison).

  • by JohnDeHope3 ( 612500 ) on Monday June 13, 2016 @08:41AM (#52305505) Homepage
    It seems like a lot of industries have "esteemed individuals" who are given the benefit of the doubt. Priests, rabbis, imams, tenured professors, elite actors and directors, etc. Maybe in technology we have people like Larry Wall, David Heinemeier Hansson, Douglas Crockford, Paul Graham, etc. What are your thoughts on this?

    I like having the feeling of esteem. It warms my heart when I think about what I've learned reading Fred Brooks, Seth Godin, Donald Knuth, etc. I hold you all in revence. I don't think this is such a bad thing. Would I blindly follow whatever any you say? No, of course not. But wisdom is wisdom, and experience is experience, and those of you who have it, and have had it, and have written to me about it, are very much appreciated and held in high esteem. I think this is all very good and healthy and perfetly natural. Thank you!
  • Who's using Perl? (Score:3, Interesting)

    by quentindemetz ( 2736287 ) on Monday June 13, 2016 @08:46AM (#52305539)
    Which large companies are still using Perl in production? I can name Booking.com, but do you know any others?
    • Every large company that still uses *nix in production which is most of them.
    • CPanel [cpanel.net] uses perl in its flagship product. Maybe it's not a huge company (and it's not) but it does supply software to a lot of web hosting companies.

  • I'll have enough respect to ask my question in Larry's native language: /\/\/%Â*&(.{5,93}[0-F])$/

    Actually I love Perl. I can program in any of several languages and Perl is my all-around favorite. I just can't think of a question because if I had a question for Larry, I would have asked it by now.

  • by Anonymous Coward on Monday June 13, 2016 @08:59AM (#52305641)

    I'm a big fan of Perl and still use it when I can for various personal projects and have been known to introduce it in official work-related tasks (where engineers were using batch files or shell scripts, etc.). I love Perl's terseness and flexibility. I learned regex from Perl in my first development job and it has stuck with me through a dozen different languages.

    However, as many others have mentioned, it is falling out of favor, and in fact there are very few development shops that even have a need or desire for it. I've looked for Perl jobs and they rarely come up. It seems that most back-ends are now being written in any number of next-gen scripting languages like Python, JavaScript (NodeJS), and Swift. I don't see the advantages of these, but it's often hard to explain to colleagues, CTOs, managers, etc. the value of Perl over the newest trends. And Perl "6" is meaningless because to everyone else it's still Perl. Why should we choose Perl 6 over the new establishment?

    • I've looked for Perl jobs and they rarely come up.

      Most often, you don't get a job to use Perl, you use Perl to get your job done.

      I've been continuously employed since 1987, at a small private software development company, the NASA Langley Research Center, The New York Times and currently a (very) large defense contractor, as a Software Engineer and Systems Administrator (on everything from PCs to a Cray 2) and have used and still use Perl every day for production work.

      • by tnk1 ( 899206 )

        This is true. I've been employed for close to twenty years now, and only a few times has perl been in the job description.

        And I have used it at every job I have worked at since 1997. Not because I was required to know it, but because I had something that needed to get done, and that did the job. And still does do the job.

        In fact, you're only reason to not walk into a job with up to date perl knowledge and use it at least every so often is if you get employed by a brogramming shop where they sneer at you

  • by LichtSpektren ( 4201985 ) on Monday June 13, 2016 @09:01AM (#52305653)
    Can you give us a glimpse into what your main work computer looks like? What's the hardware and OS, your preferred editor and browser, and any crucial software you want to give a shout-out to?
  • HI Larry

    What has been done to port Perl to very small devices as a tool to create test applications? I'm doing some control work right now and testing/characterizing devices and peripherals with the results generating a set of csv data on the console that is copy and pasted into Excel.

    I am really asking about small 32bit devices (with floating point units) - Cortex M4 specifically. I don't think a port could be created for an 8bit processor like the AVR.

    Thanx!

  • by hcs_$reboot ( 1536101 ) on Monday June 13, 2016 @09:09AM (#52305719)
    PHP got a lot of inspiration from Perl, while missing key concepts (you know this one [eev.ee]). However, thanks to web development PHP is currently one of the most popular languages.
    What is your honest opinion about PHP? Are there things in PHP, missing in Perl, you regret not having thought about?
    Reversely, which Perl features PHP should have taken?

    $_
  • Do you know of any project governance models that are 'known good' other than BDFL? It seems to me like 'caring' is the key to project success - and the BDFL him/herself, presumably, cares a great deal and inspires others to care a great deal. I've always wondered whether this known good level of success could be achieved with some modicum of democracy or in a project that is part of a larger project (and the project manager is appointed from above rather than self-selected). I've heard some good things abo
  • Perl6 seems to offer a lot in the base language, obviating many CPAN modules, but the network-effect of CPAN modules creates a gravitational field which, in combination with the differences in the base language, makes reaching escape velocity to Perl6 challenging.

    What is the strategy for achieving escape velocity from Perl5's orbit to Perl6's?

  • Double Question (Score:5, Interesting)

    by shaitand ( 626655 ) on Monday June 13, 2016 @10:21AM (#52306459) Journal
    1. According to most metrics Perl 5 usage hasn't decreased but there is a perception problem indicating it has. Perl usage outstrips python by a lot but many think the opposite is true. Why do you think this perception exists? Is it related to calling the new language Perl 6 giving people the false impression that Perl 5 hasn't progressed as dramatically as it has in the past few years?

    2. As a Perl 5 programmer, why should I care about Perl 6? Perl is most used by sysadmins and Perl 5 of some sort can be found on all major *nix distributions out of the box. Without this support Perl 6 might as well not even exist for this group who already have to code for Perl versions a decade out of date in many cases. How, if at all, do you see Perl 6 resolving this problem or do you see Perl 6 hitting a different base altogether?
  • As the recently re-trial of the case brought by Oracle against Google (over use of JAVA structures in Android) shows, intellectual property is and will remain hot property. One of the interesting things about intellectual property and languages, however, is how much of the syntax of supposedly different languages is remarkably similar (with a lot of inheritance from C).

    May I ask for your views with respect to firstly protecting the intellectual property that you have invested in Perl as a language, but t
  • Larry, PERL is a great language, the swiss-army chain saw.

    My question is, how can we strategically pull the PERL language into the browser? Javascript and PHP are getting all the browser action. We know that Embperl and Mod_perl exist for server side scripting, but how can we can PERL into the browser? Do you have friends at Google/Apple/Firefox?

  • by mattr ( 78516 ) <mattr.telebody@com> on Monday June 13, 2016 @10:29AM (#52306517) Homepage Journal

    I'd like to express my deep, unending thanks for building something that is really wonderful, Perl, and a wonderful community. I made a living with Perl, the first postmodern language of which I am aware, and derived a lot of enjoyment from TMTOWTDI, and contributed back to the community on Perl Monks at the time. It was a lot of fun to meet some of the famous, talented Perl visionaries then. I enjoy thinking in Perl and it has made me stronger.

    I'd like to get into Perl 6 which having stolen all the cool stuff from the other languages appears likely to be the most advanced and artistic of all them. At the very least I look forward to being able one day to think in Perl 6.

    Can you provide some examples to /. readers about why you like Perl 6, and what dimensions of awesomeness are waiting beyond Python and Javascript? I think you would be a good person to rouse a wakeup call.

    That, and if you have a moment, how about a good reason or three (efficiency? creativity? extensibility? ability to suggest further growth? having lots of PhDs?) why Google should promote Perl 6 in-house and support the growth of the Perl 6 language and implementations. Perhaps sponsor completion of the Perl 6 kernel for Jupyter project? How about sponsor some people to document and make accessible free books? What are some Perl 6 initiatives that could use some eyes if not $$?

  • Given that every other famous Larry in tech seems to be starting their own secret flying car factory, when are you going to start yours?
  • Been there, done that, got the t-shirt. Larry, Tom and Randal signed it.

    There was ice cream too.

  • Hi Larry,

    I'm a profession Perl5 programmer who is very worried about the future of my language. I remember when you kicked off Perl6 in the very late 1990s the talk was that it would replace Perl5. Clearly that never happened. If you could redo the project what might you do differently?

  • by colin_faber ( 1083673 ) on Monday June 13, 2016 @12:16PM (#52307709)
    Hi Larry, As a long time perl hacker, and contributor of various modules to CPAN I'm wondering what the rational was behind the major syntax changes in perl 6? I've read various items trying to explain it, but none so far have done a very good job. Admittedly I haven't fully grasp perl 6 yet (mostly because it involves learning a new language I thought I knew well).
  • by waveclaw ( 43274 ) on Monday June 13, 2016 @12:22PM (#52307761) Homepage Journal

    What are your views on version control systems like git and modern development practices around them?

    Early F/OSS development practices started with tarballs and patches, moved to packages and VCSes then to (a)social coding with DVCS like Mercurial or git. You've been there for most if not all of that.

    git can be described as a distributed content management system for patches. Linux Torvals' git --am workflow can be likened to playing chess via email but with kernel development the end game and patches as moves.

    And thank you for patch, by the way. The diff command outputs the difference between two files. You wrote the patch command to take diff output and turn one file into another, including the ability to even go backwards and undo that change later. As someone who's had to package software for a Linux distribution this is critically important tool. Patch lets me preserve the original author's work. But patch (and quilt) lets me still apply needed changes and store those changes in obvious discrete packets of standard format that are diff files.

  • Use the best tool for the job they say. There are many areas that Perl excels at. But in your personal opinion, what kinds of scenarios, situations, tasks, and jobs are most ideal for Perl? What is it the best tool for?

  • Hi Larry

    Thank you for your contributions to the field of Computer Science.

    My question is: in your opinion, what are the most important things to consider when designing a new computer language?

"It may be that our role on this planet is not to worship God but to create him." -Arthur C. Clarke

Working...