Slashdot Mirror


New Video Peeks 'Inside the Head' of Perl Creator Larry Wall (infoq.com)

"I was trained more as a linguist than a computer scientist," says Perl creator Larry Wall, "and some people would say it shows." An anonymous reader describes Wall's new video interview up on InfoQ: "With a natural language, you learn it as you go," Wall says. "You're not expected to know the whole language at once. It's okay to have dialects... Natural languages evolve over time, and they don't have arbitrary limits. They naturally cover multiple paradigms. There are external influences on style... It has fractal dimensionality to it. Easy things should be easy, hard things should be possible. And, you know, if you get really good at it, you can even speak CompSci."

Wall also touched on the long delay for the release of Perl 6. "In the year 2000, we said 'Maybe it's time to break backward compatibility, just once. Maybe we can afford to do that, get off the worse-is-worse cycle, crank the thing once for a worse-is-better cycle." The development team received a whopping 361 suggestions -- and was also influenced by Paul Graham's essay on the 100-year language. "We put a lot of these ideas together and thought really hard, and came up with a whole bunch of principles in the last 15 years." Among the pithy principles: "Give the user enough rope to shoot themselves in the foot, but hide the rope in the corner," and "Encapsulate cleverness, then reuse the heck out of it.."

But Wall emphasized the flexibility and multi-paradigm nature that they finally implemented in Perl 6. "The thing we really came up with was... There really is no one true language. Not even Perl 6, because Perl 6 itself is a braid of sublanguages -- slangs for short -- and they interact with each other, and you can modify each part of the braid..."

Wall even demoed a sigil-less style, and argued that Perl 6 was everything from "expressive" and "optimizable" to "gradually-typed" and "concurrency aware," while supporting multiple virtual machines. He also notes that Perl 6 borrows powerful features from other languages, including Haskell (lazy evaluation) Smalltalk (traits), Go (promises and channels), and C# (functional reactive programming).

And towards the end of the interview Wall remembers how the original release of Perl was considered by some as a violation of the Unix philosophy of doing one thing and doing it well. "I was already on my rebellious slide into changing the world at that point."

106 comments

  1. Acid test by Anonymous Coward · · Score: 1

    When is the Slashcode port to^H^H^H^H^H^H rewrite in Perl 6 going live?

    1. Re:Acid test by markana · · Score: 1

      It's not done until warp is ported to it...

  2. You don't want a natural language by lucaiaco · · Score: 2, Insightful

    While it may be useful for a programming language to somehow resemble the syntax of a natural language, you want to stay far away from pretty much everything else.

    Having dialects, semantic ambiguity, or whatever a 'phonology' of a programming language could be is bad, because a programming language is created to speak to a computer/compiler, not to a human. The two computational system have very different requirements. It's the same reason you don't want to use humanoid robots in a warfare scenario. Yes, they are cool, but a tank does the job much better.

    1. Re:You don't want a natural language by epine · · Score: 1, Insightful

      Having dialects, semantic ambiguity, or whatever a 'phonology' of a programming language could be is bad, because a programming language is created to speak to a computer/compiler, not to a human.

      You're probably not as aware of the ambiguities of the C language at the machine level as you ought to be.

      Logic is underappreciated and overvalued. Few programmers are really good at logic (the underappreciated part), and it isn't the whole story, either (the overvalued part). I assure you, Larry understands that permissible ambiguities in programming languages are orders of magnitude smaller than for human language.

      To quote Moneyball: it's a metaphor.

      I'll be happy if Perl 6 is someday redeemed as an important, if eccentric, stepping stone on the path forward. At my age, though, I'm less optimistic about still being alive to see this happen.

      And I'm not even that old.

    2. Re:You don't want a natural language by hord · · Score: 2

      $you->can(not have('clear')) && read ABLE, $source, ~~ q[code]
          unless $you->include('natural')('language');

    3. Re:You don't want a natural language by Aighearach · · Score: 5, Insightful

      a programming language is created to speak to a computer/compiler, not to a human.

      Hogwash. The conversation is between the programmer and the programmers who wrote the next layer down, repeated a few times, until those programmers eventually have a conversation with the circuit designer or engineer, who speaks a few different languages used by engineers, eventually speaking to engineers who designed machines that build circuits. And it keeps going down, and it is all humans talking, all the way down, until you get to apes grunting.

    4. Re:You don't want a natural language by K.+S.+Kyosuke · · Score: 1

      You're probably not as aware of the ambiguities of the C language at the machine level as you ought to be.

      Seems like an assumption is made here somehow that C is the pinnacle of language design, or somehow relevant to the problem in another way. How is the current state of C, or any particular language, relevant to the topic of what formal languages should strive for?

      --
      Ezekiel 23:20
    5. Re:You don't want a natural language by K.+S.+Kyosuke · · Score: 2

      The old proverb by the great Sussman that "programs must be wrien for people to read, and only incidentally for machines to execute" always applies. But it probably doesn't help when the two humans conversating understand the language differently from the computer.

      --
      Ezekiel 23:20
    6. Re:You don't want a natural language by Anonymous Coward · · Score: 0

      Semantic ambiguity is the last thing you want in a programming language. It reminds me of the way Perl treats lists in different contexts and the bugs and security vulnerabilities that caused. It's hard enough to reason about a program's correctness as it is, without having to take ambiguity and quirks in the language itself into account.

      On a more positive note, Larry Wall is finally letting go of those moronic sigils. 29 years late, but better late than never I guess.

    7. Re:You don't want a natural language by Anonymous Coward · · Score: 0

      i think the opposite. here's an expensive example of lack of clarity in natural language is
      costly: (missing oxford comma costs million+ bucks)
      https://www.nytimes.com/2017/03/16/us/oxford-comma-lawsuit.html

      and yet when we have attempts at clarity in language, such as terms and conditions, or
      software licenses like the gpl, we lose both ways, the license is not clear enough to prevent
      grsecurity's attempt to work around the gpl, and still super complex and hard to read.

    8. Re:You don't want a natural language by Aighearach · · Score: 1

      Sorry, you didn't quite catch it.

      The computer is an inanimate object. When the computer "reads" your code, it is actually the engineer who designed the computer that you're talking to. So no, the humans and the computer don't have a different understanding; the human on one side is simply more knowledgeable about the machine than the human on the other side, who is rightly more focused on the use case.

    9. Re:You don't want a natural language by K.+S.+Kyosuke · · Score: 1

      Sorry for the metonymy. Having said that, even the "human on one side" clearly doesn't always say what he means to say in the design language in question, otherwise there's be no hardware or foundational software bugs ever.

      --
      Ezekiel 23:20
  3. How's that Perl 6 going? by Anonymous Coward · · Score: 0

    Feel like an idiot yet? I can't believe someone with the (supposedly) years of experience as this guy didn't see what an absolute fucked up shit idea Perl 6 was. I mean come on, how stupid can you be? Now Perl is dead. Thanks a lot, dickhole!

    1. Re:How's that Perl 6 going? by Anonymous Coward · · Score: 0

      The same way Python 3 killed Python? Nah, it's just been ignored.

    2. Re:How's that Perl 6 going? by Anonymous Coward · · Score: 2, Informative

      Ignored? LOL! Python 3 is thriving! One of the most elegant languages, it really is a joy to use. Perl, on the other hand, is on par with brainfuck. And that's why it's dying.

    3. Re: How's that Perl 6 going? by Anonymous Coward · · Score: 0

      Love python, hate perl too.

    4. Re:How's that Perl 6 going? by Anonymous Coward · · Score: 0

      LOL, python has always been ignored, no matter the version. That is one fucked up language! Sure, the millennial dumbasses love it and keep creating terrible shit with it but they're the same idiots that couldn't program themselves out of a wet paper bag with holes poked in it and Chuck Norris himself giving them advice.

    5. Re:How's that Perl 6 going? by Aighearach · · Score: 2

      You don't understand what Perl 6 is.

      Perl 4 was very popular.

      Perl 5 was Larry Wall's rewrite of Perl 4, and was widely seen as a huge improvement and a mature language.

      Perl 6 was the community's rewrite of Perl 5.

      That the horse committee didn't improve the design should be no surprise, and it certainly shouldn't reflect on Larry Wall. People really wanted a lot of those features, but more people don't want it to get that complicated and won't use it. Personally, I switched to Ruby.

    6. Re:How's that Perl 6 going? by fahrbot-bot · · Score: 1

      You don't understand what Perl 6 is.

      Perl 4 was very popular.

      Perl 5 was Larry Wall's rewrite of Perl 4, and was widely seen as a huge improvement and a mature language.

      Perl 6 was the community's rewrite of Perl 5.

      That the horse committee didn't improve the design should be no surprise, and it certainly shouldn't reflect on Larry Wall. People really wanted a lot of those features, but more people don't want it to get that complicated and won't use it. Personally, I switched to Ruby.

      In short: Perl 5 is, simply, good enough.

      --
      It must have been something you assimilated. . . .
    7. Re: How's that Perl 6 going? by Hognoxious · · Score: 1

      Perl might look like a drunken cat ran across your keyboard, but at least it's visible.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    8. Re: How's that Perl 6 going? by LightningBolt! · · Score: 2, Insightful

      Uh, no. I've been coding for about 35 years. I'll take Python any day over the mess that is Perl. There's no comparison.

      --
      Old people fall. Young people spring. Rich people summer and winter.
    9. Re: How's that Perl 6 going? by Anonymous Coward · · Score: 0

      Perl is complete garbage. It's not a programming language, it's an aborted combination of line noise and shell scripting language pretending to be a real programming language.

      Python, OTOH, is simple and elegant, which is why it is hated by /.ers. They hate anything that is good, like Python and Java.

    10. Re: How's that Perl 6 going? by yes-but-no · · Score: 0

      It's what you don't say that matters. Larry never talks about python. Wonder why..

    11. Re: How's that Perl 6 going? by K.+S.+Kyosuke · · Score: 1

      Python used to be simple and elegant, but I over the past two decades, I found it increasingly baroque both when it comes to the means of expressing things and the documentation describing it. (About Java, I have very few good things to say that are related to the language, the best perhaps that it isn't nearly as bad as C++.)

      --
      Ezekiel 23:20
    12. Re: How's that Perl 6 going? by Anonymous Coward · · Score: 0

      I like Perl and Java, but hate Python. I wish Perl 6 and Java 9 had been invented 10 years earlier.

    13. Re: How's that Perl 6 going? by q_e_t · · Score: 1

      A large number of monkeys with keyboards stand more chance of creating a Perl program than Shakespeare, perhaps.

    14. Re:How's that Perl 6 going? by Anonymous Coward · · Score: 0

      Perl 5 is very good. Most of my paid projects are written in it. I've tried to get into perl 6 but man is it hard to get my head around it. Lots of very cool concepts that would make some of my work much easier. But so, so hard to learn. I keep trying but so far I've given up everytime.

      It doesn't help that documentation isn't readily available, at least not like it is for version 5. I really need a Camel Book for 6...

    15. Re: How's that Perl 6 going? by Anonymous Coward · · Score: 0

      Reading comprehension. Try it. Was I talking to you or the self described untrained ignorant millennial?

      35 years of what? I've been programming just as long. Perl was popular in its day and still is for a reason but a religious nutball wouldn't see that.

      "Oh noes! It elegantly handles regexes natively and otherwise looks like C without pointers! The horrors!" lol I laugh at your ignorance and religious stupidity.

      It's just a language, fool, it serves a purpose other languages don't but I guess when you only know the fotw languages like you then perl looks bad. I'm sure it's cool to say that in your java echo chamber where it takes 4G of ram to print hello world.

      print "hello, world!\n";

      How big is your java version?

    16. Re: How's that Perl 6 going? by Anonymous Coward · · Score: 0

      Take your dick out of your mouth...

    17. Re:How's that Perl 6 going? by Anonymous Coward · · Score: 0

      I switched from Perl directly to Python 3, and could not be happier. The way Python 3 handles character encoding [a major difference from Python 2] has been a salvation at my company, where multiple heritage systems systematically fuck it up in a multitude of ways.

  4. He has done nothing... by Anonymous Coward · · Score: 0

    to help us with time off. I havenâ(TM)t had a single real vacation since 1983.

    1. Re: He has done nothing... by Anonymous Coward · · Score: 0

      +1

      That son of a bitch.

    2. Re: He has done nothing... by Anonymous Coward · · Score: 0

      I havenâ(TM)t either since I got my comp eng degree in 1989. I wish I could go on a damn cruise.

    3. Re: He has done nothing... by Anonymous Coward · · Score: 0

      Tech considering the overhead of communication just canâ(TM)t be allowed any time off.

    4. Re: He has done nothing... by Anonymous Coward · · Score: 0

      He is a leader but has done nothing to help us.

    5. Re: He has done nothing... by Anonymous Coward · · Score: 0

      True. I have never been allowed time off. If a leader like him stood against that then it would mean something.

    6. Re: He has done nothing... by Anonymous Coward · · Score: 0

      Never had more than one consecutive day off, but I donâ(TM)t understand why you Microsost people add tm in random places to your email and posts.

    7. Re: He has done nothing... by Anonymous Coward · · Score: 0

      Why the TM? Microsoft adds that at random.

    8. Re:He has done nothing... by Anonymous Coward · · Score: 0

      havenâ(TM)t

      Stop using Microsoft garbage.

  5. Sorry, no mental bandwidth left for Perl by Anonymous Coward · · Score: 0

    Well maybe I'll investigate it but only after the 1000 other things on my list, Summaty actually listed some of them Haskell, Go, Smalltalk, now add on Rust, and a legion of JavaScript frameworks, so yeah, probably not going to get to Perl because by the time I whittle down the list some new shit is going to come along, guaranteed

  6. I actually remember those early Unix days. by hey! · · Score: 5, Insightful

    The idea that Perl doesn't do one thing well just goes to show people haven't changed; they latch onto a catch phrase then go running around seeing who they can whack with it, apparently proving to themselves how clever they are.

    PERL's wheelhouse from back in the day was right there in the name: practical extraction and report language. People who actually did that stuff for a living had no difficulty grasping PERL's significance: it made your job easier.

    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
    1. Re:I actually remember those early Unix days. by Anonymous Coward · · Score: 2, Insightful

      Wall himself characterized Perl as starting out as "awk on steroids" and that's still it's best use case. Trying to write shell scripts that invoke pipelines with awk, sed, and cut can be extremely tedious, especially on Windows with its file paths like "c:\\Program Files (x86)\\..". Perl to the rescue.

    2. Re:I actually remember those early Unix days. by CrashNBrn · · Score: 1

      To each their own, but I always preferred awk|gawk for "practical extraction and reports."

    3. Re:I actually remember those early Unix days. by Anonymous Coward · · Score: 0

      Perl just looked ugly to the uninitiated because of the # and @ symbols on data types, but it really wasn't any worse than python or whatever. It's too bad Wall let it die with his stupid Perl6 crusade. I was sad to sell off my collection of all the O'relly Perl books from back when O'really books were still decent, but I realized I would never use Perl again, and I needed the space.

    4. Re:I actually remember those early Unix days. by hey! · · Score: 3, Informative

      Up to a point, sure. For what in relational terms would be selection, projection, and aggregation of delimited input, awk works great. PERL slots in where you'd start thinking about writing a C program instead.

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
    5. Re:I actually remember those early Unix days. by arth1 · · Score: 2

      One of the seriously underutilized areas of perl is the r, reports. The format/write concept really makes life easier when it's reports you have to generate. But it's a completely different concept from how it's done in other languages, Even those who use perl regularly seem to forget about it, and use it as if it was just a more convenient awk. Which has no useful capabilities for reporting except an END clause.

    6. Re:I actually remember those early Unix days. by phantomfive · · Score: 2

      Still is the best language for that. I wish other languages wold take some of Perl's good ideas instead of focusing on functional nonsense (not saying that all functional programming is nonsense, but a lot of what people want is not particularly helpful).

      --
      "First they came for the slanderers and i said nothing."
    7. Re:I actually remember those early Unix days. by Hognoxious · · Score: 1

      I would learn awk, but I know it'll lead to me hitting myself in the face going "Why oh why did you do that with sed?!?!".

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    8. Re:I actually remember those early Unix days. by q_e_t · · Score: 1
      Functional programming would seem to be an ideal paradigm for report generation.

      report=create_report(thing_into_other_thing(fuse(data1,data2))

    9. Re:I actually remember those early Unix days. by phantomfive · · Score: 1

      I think you are right as far as that goes. The primary difficulty is easily outputting it in a way that the formatting is pretty and pleasing to the eye. Perl has some good utilities for that.

      --
      "First they came for the slanderers and i said nothing."
    10. Re:I actually remember those early Unix days. by Anonymous Coward · · Score: 0

      It's not PERL, there's no such thing. The language is called Perl. The interpreter is perl.

  7. and? by Anonymous Coward · · Score: 0

    And they found it empty.

  8. Still crazy after all these years... by Anonymous Coward · · Score: 0

    It's a minor miracle to have created a language that still exists and which people have used over a number of years without the aid of overt coercion (university professor keeps assigning it, corporation sponsor keeps pushing it, etc). That said, I don't use Perl, except when I have to debug someone else's bad Perl problems, and I don't foresee ever choosing it as the right solution for what I do.

    1. Re:Still crazy after all these years... by Anonymous Coward · · Score: 0

      So of course the creator keeps changing it until he's happy, but no one wants to use it anymore. Just a matter of time.

  9. Re: I looked by Anonymous Coward · · Score: 0

    The old brown matter in there would explain the syntax.

  10. What a mess! by Gravis+Zero · · Score: 5, Funny

    Why would you use anything besides Malbolge?
    Seriously, just look how straightforward things are in Malbolge!
    (I feel silly having to explain this but) this is obviously a "Hello World!" example.

    (=<`#9]~6ZY32Vx/4Rs+0No-&Jk)"Fh}|Bcy?`=*z]Kw%oG4UUS0/@-ejc(:'8dc

    This is a mess of a "Hello World!" example in Perl 6.

    print "Hello World!"

    Talk about a write only language!

    Seriously, the future has always been Malbolge. Why are people bothering with any version of Perl?

    --
    Anons need not reply. Questions end with a question mark.
    1. Re: What a mess! by Anonymous Coward · · Score: 0

      I wonder if that last line of code is bug-free in Perl6. I know it is wrong in Perl5.

      In Perl5, you'd have to include an escaped newline char at the end of your string.

      The simple way to avoid this so-common programmer error would have been to include in the Perl5 language a convenience function named "println" that would automatically add a newline to the end of the string. This is what other languages do. But oh no, this is perl which lives for unnecessary convolution and therefore added bugs. Perl programmers think it's a clever language, but in reality the "cleverness" is just a pile of poorly thought out hacks thrown together without a good overall design.

      Did I have to wait for Perl6 to get this fixed? How do "say" and "print" differ in Perl6?

  11. Sominex by Anonymous Coward · · Score: 0

    Ah Learning Perl, the book that has put many to sleep.

    1. Re:Sominex by Anonymous Coward · · Score: 0

      TAOCP Vol 1. After using it for that very purpose for many years, I've gotten through page 11.

    2. Re:Sominex by Anonymous Coward · · Score: 0

      "Think Perl 6" is a newer, probably better book.

  12. nope by Anonymous Coward · · Score: 0, Interesting

    As a daily user of Perl I can say conclusively that I have no desire whatsoever to peek inside Larry Wall's head, nor into any other part of his body for that matter.

    Any language that requires you to understand how the creator of the language thinks is bound to be a shitshow of epic proportions.

    Perl is even worse than C++, and that's saying A LOT. Two of the most idiotically fucked up languages ever invented.

  13. Re:I looked by slickwillie · · Score: 1

    I would have thought it was full of spaghetti and meatballs.

  14. The problem with breaking backward compatibility by 93+Escort+Wagon · · Score: 4, Informative

    When you choose to remove backward compatibility, those of us who've been using perl for a while basically will (or at least should) evaluate our need for a new language from scratch. And, compared to other languages (e.g. python, php) perl 6 has several strikes against it - two big ones being the lack of an installed base and the relatively small number of fellow coders.

    People who haven't already used perl in the past will likely not be inclined to try perl 6; and not everyone who's written perl to this point will choose to pick perl 6 as their "new" language going forward. Speaking only for myself, I've got a fair bit of existing perl 5 code, which will be maintained or upgraded as perl 5... and going forward I'll probably pick something other than perl 6 for new work.

    --
    #DeleteChrome
  15. Want to try it one day by Anonymous Coward · · Score: 2, Interesting

    Been meaning to give Perl 6 a try for years but never got around to it.

    I use Perl as a utility language to automate small tasks and get things done quickly. Yet would never write real software in Perl. Not because the language is somehow defective or incapable of handling it. It's because what makes Perl most useful to me would be disastrous when applied to non-trivial software and when I stop and do it right Perl's convenience no longer outweighs use of other languages.

    Sat in on one of Larrys talks years ago and quite frankly most of what he had to say whooshed right over my head. I'm afraid Perl 6 may be sufficiently clever and advanced that when I finally do seriously get into it..it will prove to be too much/not worth it or simply beyond my capability to understand. I do really appreciate some of the features.. promises and the ability to modify language itself (NQP). A lot of why I like Perl has to do with the ability to quickly use it to run my crappy configuration languages.

    My own view of the future of programming is general solutions are fools errands no matter how clever you are. The only meaningful progress short of AGI will come from implementation and integration of domain specific languages.

    If I want to write music I use music language. If I want to manipulate graphics I use graphics languages. If I want to do statistics I use a stats language. If I want to organize or manipulate information I use a data language. If I want to write a wire protocol I use protocol language. It's the making glue as seamless and easy as possible... allowing users to create their own domain specific language to better address specific issues... that will mark real progress in terms of language design.

  16. Re: The problem with breaking backward compatibili by Anonymous Coward · · Score: 0

    If your thinking was in any way meaningful then we'd never get new languages and still all be using assembly or Algol or something.

    No installed base? So fucking what. What was the installed base for C before it was published? Zero.

    Duh.

  17. Re:The problem with breaking backward compatibilit by Aighearach · · Score: 1

    I remember a Larry Wall interview from 98 or 99 that was streamed on realmedia. I never found a transcript or archive but in it he said that if you want to do everything using Object Oriented Programming then Ruby is a better language than Perl. Of course, he also studies Japanese, and there weren't English language books or documentation yet. So a few years later when the books had come out I switched.

    It turned out the best thing about the change for me wasn't the language differences, but the improvements in C integration. Then Ruby is just a C API. Totally seamless. Glue anything easily.

  18. Use as intended by Pikoro · · Score: 4, Interesting

    The problem I've always seen with PERL is that nobody seems to use it as it was intended. If you have to take massive amounts of data (usually text), extract information from it, manipulate it, and then output it into a meaningful result, the PERL does this. It is VERY good at this. it's when people start tacking on shell scripts, a tcl/tk ui, and using it as the base for a program that doesn't do those things, that we run into problems.

    I once worked for a telecom in Japan and one of my jobs was to take billing data from a couple hundred subsidiaries, normalize the data, dump it into a formatted table, calculate usage and totals, then output a properly formatted paper bill. (this was in the early 90s) PERL was the obvious and best choice for this back then.

    The data we got was in various formats from CSV to excel sheets, to plain text files with various fields defined (or not). PERL also has an excellent template system for outputting data to fixed width columns and doing output formatting.

    --
    "Freedom in the USA is not the ability to do what you want. It is the ability to stop others from doing what THEY want"
    1. Re:Use as intended by Anonymous Coward · · Score: 0

      Exactly, PERL stands for Practical Extraction Report Language, I used it to scrap data from huge logs (with incredible ease), I found people used it as a script language to make transformations in make scripts, even some web search pages were made with PERL because generating web pages dynamically was easier with it, when I was learning matlab (I didn't like matlab) I found out that its language was like PERL.

      PERL is fine for what it does, now I headr that PERL6 is a different language so I don't know about it.

    2. Re:Use as intended by Anonymous Coward · · Score: 0

      The problem I've always seen with PERL is that nobody seems to use it as it was intended.

      That's a nice problem to have, and a sign of popular software.

      It's also the reason why popular software stagnates and turns into a spaghetti of different ideas/paradigms, because you can't break backward compatibility.

  19. Re:The problem with breaking backward compatibilit by Anonymous Coward · · Score: 0

    People who haven't already used perl in the past will likely not be inclined to try perl 6; and not everyone who's written perl to this point will choose to pick perl 6 as their "new" language going forward.

    They said the same thing about Python 3 - it ended up being purely nonsense ;)

  20. Re:The problem with breaking backward compatibilit by phantomfive · · Score: 1

    At this point, basically all the good features from Python3 have been backported to Python2, so there's no real motivation to upgrade anymore.

    --
    "First they came for the slanderers and i said nothing."
  21. Waht? by Anonymous Coward · · Score: 1

    How do you shoot yourself in the foot with enough rope?

    1. Re: Waht? by Zero__Kelvin · · Score: 1

      The same way you look seriously at PERL and say: "That looks like a language I should really invest my time learning!"

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
  22. Re: The problem with breaking backward compatibili by Hal_Porter · · Score: 3, Interesting

    Blasphemy!

    C is the pinnacle of human intellectual achievement and Perl is heresy!

    --
    echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
  23. Misconception by mattr · · Score: 4, Interesting

    Now I know why people want to rename Perl 6. That trend even had made me a bit uncomfortable, though the latest candidate "P6" sounds better to me.

    Perl 6 is a totally different language and yet almost all the posts here are by people who rail against Perl 5.

    Perl 6 is already released and it works. It is an incredibly exciting and eminently useful tool that is aimed squarely at the 21st Century. The code is very readable, and probably much more concise than whatever you are using. It is written in Perl 6. It has the best Unicode and regular expressions in the world, full object model, and chained processing, while also mixing in functional and reactive programming styles, plus keywords that make it easy to compose parallel processing for both calculations and UI. It provides exact mathematical results with rational numbers. You can extend the language with your own symbols, and it feels more awesome the more you study it. For example just this past month I learned about how the compiler actually optimizes your code by simulating it before running it. There is a lot more room for it to grow, but it is already awe-inspiring. Not scary awe, but damn! I gotta get me some of that! excitement.

    The community is also very helpful and welcoming. At this point, if you are looking for a tool powerful enough to realize your visions or just to mess around with, I would recommend reading more about it. I'm hooked and am convinced it is the best tool for prototyping mine.

     

    1. Re:Misconception by iggymanz · · Score: 1

      forget perl 6, almost no one is using it. Larry had his chance and blew it by doing a 4 year project in 17 years.

      perl 6 is going into the tar pit of history

    2. Re:Misconception by konradish · · Score: 1

      The first link I clicked on in Best of Rosettacode Perl 6 examples was https://examples.perl6.org/cat...
      You can create your own grammars in Perl 6! Many times I have wanted to implement a DSL for my programs, but the barrier to entry is so high with learning YACC and LEX. I think it's worth taking a look at for this alone, and that was just the first thing I clicked on. If it weren't for your comment I don't think I would have taken the time to check it out. Thanks!

    3. Re:Misconception by redlemming · · Score: 1

      You can create your own grammars in Perl 6! Many times I have wanted to implement a DSL for my programs, but the barrier to entry is so high with learning YACC and LEX. I think it's worth taking a look at for this alone, and that was just the first thing I clicked on. If it weren't for your comment I don't think I would have taken the time to check it out. Thanks!

      There hasn't been much reason to learn YACC and LEX for a long time.

      ANTLR is a much better choice. It's a lot simpler than YACC and LEX while still being extremely powerful.

      If you understood the basics of how ANTLR works, then you can build your own parser for simple languages pretty easily. ANTLR can generate code in a number of major languages, but not Perl (though you could certainly come up with a way to run it from Perl if you really wanted to use it from Perl for some reason - the output of a parser is just a tree, and you can certainly represent a tree as text).

      Some of the advanced features of ANTLR are complex and will take some time and practice to understand - but most folks won't need these.

      If you're looking for more resources on parsing, Ronald Mak's book is an excellent introduction to the general topic of parsing (and interpreting) computer languages - far more readable than most, with an emphasis on how to do it rather than on abstract theory - certainly a better first book in the subject than the ones that usually get selected for courses.

      It's not that math is bad, but too much too soon is bad for those that learn by doing, which is most of us - a point a lot of professors have trouble grasping.

  24. Awk and reports by DrYak · · Score: 2

    and use it as if it was just a more convenient awk. Which has no useful capabilities for reporting except an END clause.

    Actually, like many other languages (including shell, including Perl, including PHP and even including Python where they are first-class citizens), AWK has support for C-style formating (printf, etc.) and thus allow some form of formatting.

    Of course it's not as beautifully integrate into the core language as perlform, and isn't visually clear (As in "%-10s" vs "@") and neither as versatile (you're going to abuse a lot of function calls and passing variables and hashes around to achieve a poor man's replacement of declaring formats).
    But still it has some limited formating capabilities.

    On the other hand, in the modern days (where terminal is seldom the final output of a program, and instead JSON message sent to some Javascript WebApp is increasingly the norm), this kind of formatting is becoming less useful.

    (Just like PHP's ability to interweave static blocks (e.g.: of HTML) with dynamic code isn't making much sense with modern nearly entirely dynamically generated websites).

    --
    "Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
    1. Re:Awk and reports by 93+Escort+Wagon · · Score: 1

      Yeah, my end users generally want the option to pull everything into an Excel spreadsheet or to view it on a web page. So nowadays I end up relying on various modules far more often than I use perl's own built-in formatting capabilities.

      --
      #DeleteChrome
  25. AWK SED GREP... by ze_foster · · Score: 2

    I was using SVR and BSD unixes from '88 forward. Just about everyone used awk(1), sed(1), and grep(1) to get non-dataplane work done. Perl came along in the early 90's so the propeller heads who brought us awk(1) improved awk's regular expression handler and you could accomplish everything with awk/sed/grep that perl could do. So few of my coworkers switched to perl: it was yet another "flavor of the month" scripting language that you could easily avoid. Oh: and perl wasn't distributed in money-making unixes of the time, and Linux hadn't initially even come out yet, so using perl meant you had to install it and manage it on every server in the farm across many unix flavors. Talk about de-motivation.

    I admit it: I am a developer, I worked in C in 1988, and I work in C today. Back in 1993 when perl first darkened my e-mail inbox, the guy in charge of administering ClearCase wrote a ton of perl scripts to make ClearCase do whatever trickery we needed. I've never quite understood why he snorted the kool-aid and went with perl, but I'm guessing he was bored... with ClearCase administration... and perl gave him something to poke a sharp stick at.

    Fast forward to 2017. I'm still an engineer and my hands are dirty with C code. More than 50 languages have come and gone since the late 80's, but I still butter my bread with C, and for trivial scripting or shell work, I still use awk/sed/grep, and now python. Python is exceptional, but I don't want to go into that: I'm talking about perl.

    I completely skipped perl, and I am glad: any time I have to debug someone else's perl code usually its because it broke in some mysterious way because the author wasn't much of an engineer to begin with, doesn't work here anymore, or was stubbornly holding onto perl because they put so much effort into learning it and tries to avoid responsibility for the old ratty perl code they wrote. The perl developer often hates python with a religious passion, and that's a little weird. And the perl developer doesn't like to use comments in their code, or adds snarky/4-letter-word comments, or leaves dead comments around like little land-mines that distract the next poor sot who has to debug it.

    So as far as perl goes, I'm not a fan: perl has brought me more time-wasting bugs than any other language I have done code-clerk mopping up operations for. So please go away, perl, so I can get some work done. I'm too old to waste the time.

    1. Re:AWK SED GREP... by Anonymous Coward · · Score: 1

      I was using SVR and BSD unixes from '88 forward. Just about everyone used awk(1), sed(1), and grep(1) to get non-dataplane work done. Perl came along in the early 90's so the propeller heads who brought us awk(1) improved awk's regular expression handler and you could accomplish everything with awk/sed/grep that perl could do. So few of my coworkers switched to perl: it was yet another "flavor of the month" scripting language that you could easily avoid. Oh: and perl wasn't distributed in money-making unixes of the time, and Linux hadn't initially even come out yet, so using perl meant you had to install it and manage it on every server in the farm across many unix flavors. Talk about de-motivation.

      The nice thing about perl was having the same code everywhere. I dealt with some shells not having functions, awk incompatibilities and name differences. Perl was relative easy to install everywhere (and I had 500+ systems)

      I admit it: I am a developer, I worked in C in 1988, and I work in C today. Back in 1993 when perl first darkened my e-mail inbox, the guy in charge of administering ClearCase wrote a ton of perl scripts to make ClearCase do whatever trickery we needed. I've never quite understood why he snorted the kool-aid and went with perl, but I'm guessing he was bored... with ClearCase administration... and perl gave him something to poke a sharp stick at.

      Clearcase has a version of perl built in. See above

      Fast forward to 2017. I'm still an engineer and my hands are dirty with C code. More than 50 languages have come and gone since the late 80's, but I still butter my bread with C, and for trivial scripting or shell work, I still use awk/sed/grep, and now python. Python is exceptional, but I don't want to go into that: I'm talking about perl.

      I completely skipped perl, and I am glad: any time I have to debug someone else's perl code usually its because it broke in some mysterious way because the author wasn't much of an engineer to begin with, doesn't work here anymore, or was stubbornly holding onto perl because they put so much effort into learning it and tries to avoid responsibility for the old ratty perl code they wrote. The perl developer often hates python with a religious passion, and that's a little weird. And the perl developer doesn't like to use comments in their code, or adds snarky/4-letter-word comments, or leaves dead comments around like little land-mines that distract the next poor sot who has to debug it.

      So as far as perl goes, I'm not a fan: perl has brought me more time-wasting bugs than any other language I have done code-clerk mopping up operations for. So please go away, perl, so I can get some work done. I'm too old to waste the time.

      I'm a sysadmin and have done my share of perl that I & others can't read & debug. I stopped using perl awhile ago and python has caught up with perl's modules.

    2. Re:AWK SED GREP... by DCFusor · · Score: 1

      You can write just as bad code in C, you know, or very nearly. All your complaints seem to be about bad software engineers, and I share them. But I don't blame the language for the idiots.
      It's debatable whether the drive to make it so "anyone can code" was a good idea. If you do that, then you get anyone coding and anyone usually sucks at it.
      Just my never humble opinion.
      Perl was a step along that path, but it's pretty easy to argue that drag drop "VB" class and .net are a step further yet along with those so terrible their names won't be named.
      And no, a web developer isn't a real programmer, at least not in my book. Certainly not a system architect or admin, at least not automagically - I'm aware of people who are good at all that, but they don't have to mess with html, their other skills make them too valuable to waste the time on that.
      And yes, I myself have been at this game since before integrated circuits and do a lot of C too. So, most of y'all can now remove yourselves from my lawn.

      --
      Why guess when you can know? Measure!
    3. Re:AWK SED GREP... by Rutulian · · Score: 1

      so the propeller heads who brought us awk(1) improved awk's regular expression handler and you could accomplish everything with awk/sed/grep that perl could do.

      I use all four on a regular basis and I can assure you this statement is not true at all. Awk is certainly nice, don't get me wrong, especially when you need just a quick one-liner to do some filtering, but there isn't much out there that can meet Perl in regexp support.

  26. Being Larry Wall by q_e_t · · Score: 2

    Is the video like the Malkovich movie?

  27. Re:The problem with breaking backward compatibilit by ggoebel · · Score: 5, Interesting

    I think you ought to test/validate your assumptions and consider evaluating what Perl 6 has to offer. Many of the core Perl 6 developers had little experience or interest in Perl 5. The pace of development and number of committers seems to be accelerating.

    Performance has gotten about 4 times faster in the last year.

    The developer ecosystem is maturing. CPAN6 is here.

    Perl 6 provides Inline::Perl5. Which allows backward compatible access to and mixing of Perl 5 and Perl 6. It also allows you to specify a versioned dialect of Perl 6. So in ~10 years when Perl 6.i is released. Your code targeting Perl 6.d functionality which has been deprecated in 6.e and removed in 6.f will still work.

    The design and implementation of Perl 6 is clean and heavily influenced by Paul Graham's essay on The Hundred-Year Language. Most of Perl 6 is written in both Perl 6 and a subset of Perl 6 called Not Quite Perl (NQP). Which means Perl developers don't need to learn another language to become core developers.

    Larry said that acceleration beats velocity. Perl 6 certainly seems to be accelerating. If you watch the video... there's a lot of exciting things baked into Perl 6. However the focus is on getting things right, clean, and fast (in that order). If/when performance gets within ~10-20% of Perl 5, Python, etc... I think the expressiveness and strangely consistent and clean language design will prompt many to re-evaluate their concept of Perl.

    --
    Life is like an egg better scrambled than fried. -- Ken Sawatari
  28. Perl 5 is fine by dskoll · · Score: 1

    I am the lead developer on a largish commercial spam-filtering product written mostly in Perl. The code is well-structured, readable, easy to modify and well-documented. So I do like Perl 5. As with any language, you have to be disciplined to write good software in it.

    Having heard Larry Wall speak, I have to say he comes across as a slightly mad rambling scatterbrain. Hit talks are as much philosphy and theology as computer science, and that shit just bores the hell out of me.

    From what I've seen of Perl 6 (admittedly this impression is a few years old) it's a complete mess. It's not only Larry's mad ramblings---it's the mad ramblings of hordes of Larry wannabees, resulting in a massively over-engineered too-clever-for-it's-own-good pile o' shite.

  29. Impersonating me? Weak... apk by Anonymous Coward · · Score: 0

    See subject: Whoever the fool is attempting to "impersonate me" is only proves that I've REALLY 'gotten to them' somehow (thanks).

    * I am with you on something though - there is a TON of bogus downmoderation but as the saying goes? "When all your opposition has is censorship you've obviously won" (& I am highly against the LOON(s) who shot all those folks up in Vegas - I think it's somekind of falseflag OR an attempt @ further dividing our nation up ala the KING of bogus evil in that capacity, George Soros paying off groups like BLM & Antifa to do so...)

    As far as "AssFux" Ash-Fox? That whimp's a weasel who ALWAYS starts w/ me (he's 'butthurt' I've busted him up on tech issues is all that is)...

    APK

    P.S.=> Provoking weasel reactions like yours is all the satisfaction anyone needs... apk

  30. Being good vs following rules. by DCFusor · · Score: 1

    Perl 5 pretty much lets you do things your way TMTOWTDI. This means a great programmer can write well structured code that is super easy to read and maintain, and a monkey can write monkey-code and have it still work, kinda - This is one school of thought, and all the complaints about perl 5 I see are about the latter class, which sadly, seems to be the majority of coders - only a few are really good and disciplined. No one's complained about the code I post on my site, ever, it's so obvious how it works, well documented and so on - you can use freedom to make it good too - it's a matter of choice and the bad stuff out there is more a comment on how crappy/lazy humans are rather than the language itself. Along comes the opposite, more or less, Rust, and many people think that a restrictive rule set guarantees better code. Vain, aren't we? You really thought of every way to get it wrong and made a rule about every single way to mess up? Boy could I have some fun with you... Granted, the sheer compiler-warning-error noise will keep away some of the monkeys, and that's probably a good thing, but then again, the fact that it's nowhere near as rich a language means that it's a tool fit for a class of jobs most of us don't do. I'm forced to program in a number of languages, I use perl a lot when I don't have to care, which is more and more of the time (hint: use Inline::Python to steal one-off code - from that language, perl supports many other languages and sometimes runs them faster than natively). Given a choice, it's perl for ease to get to an answer - save programmer time, and C++ for resource or time tight applications where it's worth the extra sweat to get it just so. The rest you can keep. Nope, haven't tried perl 6. I agree it should be named something else. I am somewhat impressed with it as a comp sci excercise, especially through the work of Damian Conway (look up his talk at YAPC "On the shoulders of giants" - it's good and it's hilarious). If Larry is the absent minded professor, and he is, Damian is the mad scientist...

    --
    Why guess when you can know? Measure!
  31. I have looked into Perl by Anonymous Coward · · Score: 0

    Several times. It gave me vertigo. Every single time. It made me very queasy. Every single time. The good news: I have been able to pursue a satisfying career as a software engineer without having to suffer the ignominy of coding in Perl. Thank goodness.

  32. PERL6 wont be a sidenote on the book of languages by aod7br7932 · · Score: 2

    Please have a look at my article about it: https://www.linkedin.com/pulse...

  33. time to get over it by Anonymous Coward · · Score: 0

    After being announced in 2000, 2003 would have been good timing for it's release, not 2015 yeas by which time most of the world had just stopped giving a fuck.

    Seriously, the development cycle for Perl 6 was actually longer than Duke Nukem Forever.

  34. You write like a blue-collar tradesman speaks by Anonymous Coward · · Score: 0

    Why do you sometimes choose to leave the subject out of a sentence?

  35. lemonade by Anonymous Coward · · Score: 0

    Perl bashers don't use real editors and like using a mouse. They fall for the hype every time and cry foul when they don't get a gold star for just participating.

    Larry Wall doesn't talk about Python because instead of moving us forward it repeats historic mistakes -- even Fortran gave up on logic being indent-aware. Old timers see "indent aware language" and think "Wow, didn't that suck go away decades ago?"

  36. Larry Wall and Bjarne Stroustrup by Anonymous Coward · · Score: 0

    Two losers way past their expiration date. They keep beating a dead horse and trying to convince everyone that the horse isn't dead; it's just pining for the fjords.

  37. Re:The problem with breaking backward compatibilit by Anonymous Coward · · Score: 0

    Exactly - we went from doing projects in well-supported Perl 5 to well-supported Python 3.

  38. Excel spreadsheets by DrYak · · Score: 1

    Excel spreadsheet {...} So nowadays I end up relying on various modules far more often than I use perl's own built-in formatting capabilities.

    Story of my life.

    We arrived at the conclusion that Excel Spreadsheets (with drop-down selectors) is the best ever interface that our lab technician would dream of for the LIMS of our high throughput sequencer.

    (Ended up using XLSXWriter and co, so that the LIMS could spit out Excel Spreadsheet and accept re-uploads of them).

    --
    "Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
  39. irrelevant by Sniffy2 · · Score: 0

    Perl6 is irrelevant; in the late 90s there weren't a lot of better alternatives but that's changed; the language's time has passed