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."
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."
When is the Slashcode port to^H^H^H^H^H^H rewrite in Perl 6 going live?
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.
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!
to help us with time off. I havenâ(TM)t had a single real vacation since 1983.
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
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.
And they found it empty.
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.
The old brown matter in there would explain the syntax.
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.
Ah Learning Perl, the book that has put many to sleep.
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.
I would have thought it was full of spaghetti and meatballs.
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
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.
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.
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.
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"
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 ;)
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."
How do you shoot yourself in the foot with enough rope?
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;
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.
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 ]
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.
Is the video like the Malkovich movie?
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
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.
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
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!
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.
Please have a look at my article about it: https://www.linkedin.com/pulse...
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.
Why do you sometimes choose to leave the subject out of a sentence?
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?"
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.
Exactly - we went from doing projects in well-supported Perl 5 to well-supported Python 3.
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 ]
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