11 ms·
Interview with Larry Wall
- forinti 10y ago>Why isn't PERL more windows friendly? Really? I've had tons of fun with Perl+OLE automating the processing of Excel and Word files.
- niftich 10y agoSame; I've always had more problems with Python on Windows, rather than Perl. With Perl 5, both ActiveState's and Strawberry Perl just worked, whereas Python can't even print to the console [1] without workarounds or an extra library that's not installed by default. [1] http://stackoverflow.com/questions/5419/python-unicode-and-the-windows-console http://stackoverflow.com/questions/5419/python-unicode-and-t...
- jandrese 10y agoI've grown somewhat disillusioned by ActiveState, but StrawBerry Perl has been quite good to me.
- munificent 10y ago> Perl+OLE automating the processing of Excel and Word files. There's a phrase you don't often find in a sentence containing "fun".
- SwellJoe 10y agoIt's a historic feeling, that is no longer accurate, at all. I just bought a new computer, and until a new flash drive arrives, I'm stuck running Windows. I installed Strawberry Perl, and my Mojolicious projects and some other stuff Just Works, like immediately, with no fucking around at all required. It is, admittedly not a huge project with a huge variety of dependencies, but it does have some XS modules among other things, and they all were functional without trouble. My most recent Ruby project still won't run from the source tree using bundler (though it runs fine if i install the gem for the app). So, in my experience, Perl is currently doing better than Ruby on Windows. Or, at least it is a reasonable comparison. I just saw there's a new version of berrybrew, as well, so you can do perlbrew things on Windows. I'm not sure if plenv works on Windows (but rbenv seems broken, too), as I haven't tried it yet, and I have been using perlbrew on Linux, anyway. In short: The world has shifted quite a bit when it comes to developing with Perl 5 on Windows. It's actually pretty fine these days. As I understand it, Perl 6 is also fine on Windows.
- dtamhk 10y ago>Why isn't PERL more windows friendly? That he probably didn't google hard enough. On top of StrawberryPerl, there is also BerryPerl which is perlbrew for Windows. http://blogs.perl.org/users/steve_bertrand/2016/07/berrybrew-the-perlbrew-for-windows-rewritten-and-enhanced.html http://blogs.perl.org/users/steve_bertrand/2016/07/berrybrew...
- yeowMeng 10y agoMy experience with Perl: We (a corporate shop) have a lot 'legacy' scripts in Perl. I am assigned to maintain such scripts as no one else wants that role. I discover, Perl is powerful. Every 'legacy' script I find can be trivially regression tested (These scripts always have the same pattern, take some input, produce some output). Managers want to move away from Perl. I want to move closer to Perl.
- protomyth 10y agoThe sad thing is about 90% of normal back-end computing at enterprises is take data source A,B,C,etc and generate data file Z. Cobol lives because it could do that well. Perl did that amazingly well[1]. Its really trivial to write easy to maintain code that does that in a very standard (across programs) way. 1) Data Munging with Perl was a pretty good book for it
- digi_owl 10y agoWork is receive input, mangle input, send output once you generalize it enough. but the devil will definitely be in the details.
- protomyth 10y agoOh yeah, the details are the problem. Worse, its a technical problem and a people issue for some kinds of output. Report Writing has all of the problems of graphic design and date munging with none of the rewards. Lord help you if the friggin DBA & Application Developers built the database or other data sources for transactional processing and didn't provide any help (e.g. summary tables, other data source) for batch (set) processing. I now follow a simple law when setting up a data source: If I need attribute X from an item then I better have a way to find all items with attribute X in a hurry.
- Bromskloss 10y ago> Cobol lives because it could do that well. Can't every language do that well?
- themihai 10y agoIsn't quite late for a JS backend given that we have WASM now?
- niftich 10y agoIn an IRC chat [1] on 2016-04-15, pmurias, the lead developer of rakudo-js [2] said: > Perl 6 -> wasm won't be happening any time soon > for now wasm is just bytecode asm.js > if we really wanted to compile to it we would have to use enscripten and run MoarVM on top of wasm [1] https://irclog.perlgeek.de/perl6/2016-04-15/text https://irclog.perlgeek.de/perl6/2016-04-15/text [2] https://github.com/pmurias/rakudo-js https://github.com/pmurias/rakudo-js
- themihai 10y agoJS as target will always be slower and bigger(as payload) than WASM as target so my point is that JS as compilation target is no longer relevant once WASM is supported(i.e. most likely by the end of the year). It makes little sense to start a javascript backend now unless you are looking for very short term benefits.
- niftich 10y agoThe github repo for rakudo-js dates to September 2012. You're correct, but it looks like this effort has been in development for longer than WASM has been around.
- themihai 10y agoyeah but there was no stable Perl 6 in 2012. Perhaps `dead on arrival` would have been better said than `too late`.
- smitherfield 10y agoIt's JavaScript that's a much smaller and faster payload if you need garbage collection. There's talk of putting a generic garbage collector into WASM but that's still well into the future. WASM also doesn't have direct access to the DOM - right now it's more like Flash or Java applets than it is JavaScript.
- greyman 10y agoI wish the language the best, but I find it a bit confusing to call it Perl 6. It is basically a new language, something different than Perl (5).
- PeCaN 10y agoThat's basically everyone's sentiment in the Perl community right now. Perl6 is a nice language (I mean, I'm not a huge fan, but it's not bad either) but it's a language that has some Perl influences but is definitely not Perl. It's like if Ruby was called Smalltalk 2.
- Diederich 10y ago> everyone's sentiment in the Perl community right now Definitely not 'everyone'. And I strongly suspect it's not even 'most'. There has been a relatively small but very vocal group with this point of view.
- Mithaldu 10y agoIt is not just a sentiment, but a fact that Perl 6 being called Perl 6 has hurt Perl 5. The only reason you don't have a lot of people telling Larry to stop being stubborn about this issue is that the milk is already spilled.
- Diederich 10y agoI wonder if you can share the data behind this fact? I'm always looking to add missing datapoints to my brain. Much appreciated!
- Mithaldu 10y agoThe data is obvious online, in that many many people have to be explained that they're different languages, with a good part of those also stating that they gave up on Perl 5 since "Perl 6 is coming"; as well as in direct talks with companies as early as 5+ years ago already when many german companies told me they're delaying further investments in Perl 5, since "Perl 6 is coming".
- a3n 10y ago> my @values = [1 .. 20]; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 > say @values[0,2,4 ... *]; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Wall says this should print all the evens, but it prints all (this is in the perl6 repl).
- JadeNB 10y agoWhich version are you using? I happen to have 2016.04 installed: $ perl6 -v This is Rakudo version 2016.04 built on MoarVM version 2016.04 implementing Perl 6.c. and I see: > my @values = [ 1 .. 20 ]; [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20] > say @values[0, 2, 4 ... *]; (1 3 5 7 9 11 13 15 17 19) (Of course it's the odd numbers, not the even numbers, but it just happens that the odd-valued entries are in the even-indexed positions in this list.)
- a3n 10y agoperl6 --version This is perl6 version 2013.12 built on parrot 5.9.0 revision 0 Installed from the Mint/Ubuntu/... repository. Wow, that's really old. Is there anything like Python's Anaconda, but for Perl6?
- liveoneggs 10y agotry rakudobrew or just building it yourself from rakudostar
- a3n 10y agorakudobrew worked fine, thanks.
- AnimalMuppet 10y agoSome gems: > It turns out if you accept the 90% of each paradigm that is practical, and reject the 10% that puritanically rejects other paradigms, you can get a pretty decent general-purpose language out of it > But there's a long history of people confusing "general-purpose" with "Turing-complete". Yeah. Things that are formally equivalent are not (usually) equally easy.
- chubot 10y ago"Perl has always considered itself primarily a programmer-centric language, while Python has always considered itself to be more institution-centric. So in a sense it's a bit dumbed down, much like Java. You'll note both of those languages make their greatest appeal to managers. :-) " Huh? I was using Python when Perl was more popular, and this seems completely fabricated. He's trying to lump Python in with Java, which is bizarre because those 2 camps have pretty big philosophical differences. I think that the main reason that Python became more popular because it has both clearer syntax and clearer semantics than Perl. It is compact AND readable -- not just compact. The data structures in Python also behave more like those you would see in a CS textbook. I'm working on my own language, and I just read over the Camel Book ("Learning Perl"). Honestly I don't see much in there that I want to borrow, except maybe for ~= automatically introducing variables. What else is good about Perl, which is 1) not in Python/Ruby/JavaScript (like hash tables) 2) overly terse/clever? (Honest question) Perl's regex syntax seems to be it's biggest influence and legacy, with Python/Ruby/Java/PCRE all adopting its syntax. And -e in Perl is also useful -- Python/Ruby/etc. aren't really good for one liners like Perl. This provides a nice gateway into the language. But a lot of other features were rightly ignored by other languages IMO. Also, with regard to the previous sentence, I actually consider Python OO kind of weak, but it's definitely better than Perl's AFAICT.
- PeCaN 10y ago> What else is good about Perl, which is 1) not in Python/Ruby/JavaScript or 2) overly terse/clever? (Honest question) Scalar/list/hash context. It makes zero sense and the syntax seems to change randomly… until you understand it. Then contexts make a great deal of sense. Also, having dealt with a good deal of Python, I'm inclined to lump it in with Java too—less verbose and dynamically typed, but still focused on code that's superficially easy to read or understand. There's a big difference between being able to read a function or class definition (whatever the hell it means to ‘read’ code; I don't even know anymore) and understand where that falls in the big scheme of things. Python and Java read from the bottom-up; individual methods make sense but then you have to piece everything together. Perl, APL, and Lisp-family read from the top-down. You start with some abstractions and idioms and work your way down to individual functions, which may be hard to grok but what matters is what they do, not how. Perl makes writing those really, really fast, and allows building abstractions easily.
- stinkytaco 10y agoSlightly off topic, but I've been thrust into working with some perl code and am looking for a good learning option. I like Code Academy's interface and there are also a few good Markdown tutorials out there[1][2]. Does anyone know of a similar experience for Perl? [1]: http://www.markdown-tutorial.com/#/ http://www.markdown-tutorial.com/#/ [2]: http://agea.github.io/tutorial.md/ http://agea.github.io/tutorial.md/
- Mithaldu 10y agoThe best learning option is to head to http://perl-tutorial.org http://perl-tutorial.org and check out what the most recent things are. Reason for that is that due to Perl's sheer age and rate of evolution, many of the older learning resources are outright damaging to newbies.
- mywittyname 10y ago> LW: PHP is both the motivational poster child for worse-is-better, as well as the demotivational poster child for worse-is-worse. Somehow PHP has managed to convince a horde of programmers that if their programs are flakey or hard to maintain, it must somehow be the programmer's fault. It couldn't possibly be because they've been frog-boiled. I've never heard the term 'frog-boiled' before, but it's the most succinct description of PHP I've ever heard.
- 616c 10y agoIt is hard not to like him. But as a recovering linguist (not the programming kind), I find him strangely approachable. I wish I had his code and programming abilities. He seems like such an interesting guy. Every once in a while Perl6 comes up. I read about it, and like Perl 5 but more so (at least Perl 5 I have used from time to time), but it seems like such an impressively rigorous build-up of work by hardcore veterans. Most of his jokes come off as sarcastically arrogant, and I enjoy how he pokes fun at his work and himself. I only kind of worry about the Perl Jam security talks his "doctor it hurts when I laugh" retort, because malicious doctors force you to laugh all damn day and steal PII and run up your bills online with malicious transactions. I do not want to dismiss TIMTOWTDI, but if you have a limited set of bad ways to do it, you cannot expect people to ignore it. This shows a weird kind of idealism to me in the one area we know idealists do not lurk. Jokes aside, I will always see him in a special light. If only I could honor him better by churning out some Perl!
- xaduha 10y agoWith all due respect to Larry Wall he shouldn't be a source of info or inspiration when it comes to Perl6. Watch this instead, it's pretty damn great https://www.youtube.com/watch?v=Nq2HkAYbG5o&feature=youtu.be&t=274 https://www.youtube.com/watch?v=Nq2HkAYbG5o&feature=youtu.be...
- zenlot 10y ago"Which large companies are still using Perl in production? I can name Booking.com, but do you know any others?" - it's worth mentioning DuckDuckGo of course, which is quite young and chosen Perl as a way to go.
- rsync 10y agoOh By[1], the universal shortener, runs solely on perl CGI. We wouldn't have done it any other way. [1] 0x.co
- dingo_bat 10y agoThat URL isn't even being converted into a link by my browser, it's so short ;)
- rurban 10y agocPanel does everything in perl
- MilnerRoute 10y agoIronically, I believe Slashdot is also using Perl.
- mirchibajji 10y agoYahoo's infrastructure - Packaging, deployment, configuration management, monitoring etc. - was all Perl about a year ago when I was there, and most likely still is. The recommended tech stack was: Java for large applications, Perl for smaller ones, and any kind of scripting. In other words, any library that accesses infrastructure would be available as a Perl Module. To me, it was interesting to see the same developers diligent about unit tests etc. when dealing with Java code don't exercise the same level of discipline when it comes to Perl.
- sevensor 10y ago> Software interprets lawyers as damage and routes around them. I feel like it's 1999 again, finding a quotable Larry Wall statement on Slashdot.
- merpnderp 10y agoAt my current job we've started using Node.js for a lot of windows based migration jobs and shell scripts, historically where we would have used Perl. We're mostly C#, but data munging and migration is just a lot easier and faster in Node.js or Perl. I'm curious on what we're missing out on by using node instead of perl?
- cutler 10y agoRead David Blank-Edelman's "Automating System Administration with Perl" (O'Reilly) and you'll see.
- SwellJoe 10y agoNode is getting pretty good. I'm a Perl developer of many, many years, and it is still my go to for command line scripts (and also web, but only because I really like Mojolicious and it happens to fit into existing systems). But, building command line tools in Node is no longer a crazy idea. It's still gonna be more verbose, by a lot, than Perl, for many classes of problem (data munging, file operations, almost anything that needs to interact with the OS), but the language has gotten nice with ES6. The libraries are pretty good. It's really hard to beat the built-in "while <>" semantics of Perl for writing concise, clear, programs that take something in from a file or STDIN and spit it back out. Perl is effectively a DSL for writing command line scripts that live in a UNIX environment (they work OK on Windows these days, too, now that Windows has a reasonable shell with reasonable semantics for scripts like that). If you want to write many small commands that are composable, Perl is a perfect fit. If you want to write one big application that does a bunch of things, the benefits of Perl look smaller and may even be outweighed by the bigger ecosystem of JavaScript/Node/npm; you can amortize out stuff like options handling and file/stdin handling across all of the functionality and it won't look like such a big part of your program anymore, compared to Perl (which gives you most of those things practically for free with one or two lines of code).
- 2501 10y agoOh, cool, finally :) Now it's the time to read it. :D Edit: have been waiting for it after seeing it on /.