As an outsider who hasn't written perl code in more than a decade this all makes a lot of sense to me. I think of Perl 5 as something "outdated" because I know that there is a language called Perl 6. When I think of Perl 6 I am not particularly interested in it because I assume it's more or less the same as the "old" Perl, which I don't use and didn't really like back in the day. Renaming Perl 6 to something else wou…
If Perl 6 is renamed, Perl 5 could skip to Perl 7 in the next version to avoid confusion.
Is Perl 6 Being Renamed?
211–220 of 424 posts
Re: Is Perl 6 Being Renamed?
#212Earlier quoted context omitted.
Yet you have to know both versions of them all, and be able to recognize and understand both kinds when reading other people's code. How does it improve the language to be so top-heavy and chock-full of obscure unreadable arbitrary syntax, 95% of which nobody every uses, but that everyone still needs to memorize and understand in order to read? That's exactly why Perl's philosophy of TMTOWTDI is intellectually bankru…
> Yet you have to know both versions of them all, and be able to recognize and understand both kinds when reading other people's code. You have to be able to understand that if it's a two character variable of all punctuation you may need to look it up to figure out what it is. Typing `!perldoc $"` into duck duck go sent me to https://perldoc.pl/variables/$%22 ... which is roughly equivalent to `!g [docker error]` wh…
$ perldoc '$'
No documentation found for "$"
I hope perldoc search improved on Perl6, because it only used to match section titles, and none of the line noise vars are there.(Yes, after a while one should learn yo search for the section that explains all the vars, at least if he's coding Perl all day. But it's a ton of useless trivia to keep in mind anyway.)
Re: Is Perl 6 Being Renamed?
#213To my mind, the blockers for Perl 6 adoption in order of importance have been: 1. The name, saddling it with the legacy of Perl. (I say this as someone who really liked working with Perl back in the waning years of the old millennium, and believes that Perl was visionary in pointing the way to the state of modern programming... but also that it had some limitations that have only become more glaring over the years.)…
Feels like the big blocker is that it seems to only be useful if you insist on a language that is Perl-like but also modern, but most Perl programmers probably moved to other languages already and don't care about whether their language is Perl-like, and the remaining ones are probably mostly maintaining Perl 5 codebases that they don't want to rewrite. Ignoring the Perl angle, it's a language with a small ecosystem…
Here's your perennial reminder that the word "modern" is a thought smell.
> it's a language with a small ecosystem that doesn't seem to provide any groundbreaking advantage compared to existing languages
I'd almost prefer this conception went uncorrected, because Perl6 is not just Ruby or Python in different clothes, and it's not just Perl5 with nicer aesthetics, and I don't mind enjoying niches or competitive advantages.
Re: Is Perl 6 Being Renamed?
#214Routinely I see in numerous online discussions that people refuse to even consider Perl 6 because they hate Perl. Or there are younger people who think of Perl as "their grandfather's language" (in much the same way people in my generation view COBOL). I am not a fan of Perl, but this feels tragic to me. Perl was so radically different. I remember being on Perlmonks way back in the day, and someone would post a quest…
> The analogy to natural language carried further into practice than Larry Wall could have dreamed. Over the years I've seen this mantra repeated a million times but I've yet to have anyone actually explain what it means beyond a piece of marketing fluff. What actually is this analogy in concrete terms?
There's a scalar vs. list context when calling a subroutine. Some Perl builtins return different things in the different contexts. Your subroutines can as well, for example by using wantarray() in your code. For example, in list context returning an array or assigning an array to something copies the array. In scalar context an array's value is its number of elements. The readline operator reads a line from the file with file $filehandle in either context. However, in scalar context it reads the "next line" (depending on line ending settings and seeks and such). In list context it reads and returns the list of lines in the file. This has the great benefit that a while loop with reads one line at a time into memory and sets a variable (either one you specify or by default $_) to the line just read. A foreach loop with reads all the lines into memory then operates on them, which is sometimes preferable.
There are operators for numbers and for strings and a single scalar variable can be accessed in either context. This allows for easy coercion from the string "42" to the numeric value 42 or back. It's possible with some trickery to set these two values independently, but don't do that.
There are the pronouns $_ and _ which recall the most recent subject in some situations. There's a magic array @_ which is the list of arguments passed to a subroutine or method. There are match variables for regular expressions, which refer back to the matches. There are the variables $a and $b which are reserved "magic" variables used to support user-defined comparator blocks for the built-in sort(). There are variables for which line of an input file you just read.
Re: Is Perl 6 Being Renamed?
#215Earlier quoted context omitted.
I doubt it. "Raku is an interesting new language with some neat features..." will be met with "Oh, you mean Perl 6? lol." If Perl is dead, renaming the last version isn't going to change anything.
It's not the last version. There are two latest versions of Perl, the perl5 variant, currently at 5.30.0, and the Perl 6 variant, but they use the Microsoft convention of years in the name. Both have huge problems, perl5 being effectively dead and the most hated language amongst devs. (I'm still trying to save it via cperl though). And Perl 6 interesting (I was the parrot backend maintainer, until they ditched it), b…
Maybe add a few default warnings for using "ugly" features - maybe just in a linter - perhaps not affecting the runtime at all?
One of TypeScript's strengths is that it is JavaScript, but you can configure tslint to help detect certain "bad" JavaScript. Or you can switch on stricter checks (and TypeScript could be just a name for a default list of strict error checks, depending on how you use it!).
Re: Is Perl 6 Being Renamed?
#216Earlier quoted context omitted.
Perl isn't dead. It's a perfectly good, stable language with excellent library support. It's just not sexy and new, so there's no buzz about it. Perl6, on the other hand, is effectively another language altogether, and I hope they rename it completely to stop the confusion.
I am not a developer, but a sysadmin, and I don't know much about perl since I haven't used it much in the last 15 years. But I do know that if you have to run commands for CPAN to install some packages your developer says are required, your in for a bad day.
Re: Is Perl 6 Being Renamed?
#217Earlier quoted context omitted.
>The world has moved on. Except that it hasn't. What other language does everything P6 does? (Or even tries, let alone does it as well or better.) What language does "most" or "a lot" of it? To be honest, I would have expected that after a couple of decades, there would be other languages that stole a lot of P6's thunder, but if there is anything remotely comparable, I haven't heard of it. P6 is an surprisingly ambit…
> What other language does everything P6 does? Why would any language do what Perl 6 does? Languages do what they need and typically do at least some things Perl 6 doesn't do and at least some things do better than Perl 6 does them. Sometimes such things are much more important to people than everything Perl 6 does.
Re: Is Perl 6 Being Renamed?
#218Earlier quoted context omitted.
> Yet you have to know both versions of them all, and be able to recognize and understand both kinds when reading other people's code. You have to be able to understand that if it's a two character variable of all punctuation you may need to look it up to figure out what it is. Typing `!perldoc $"` into duck duck go sent me to https://perldoc.pl/variables/$%22 ... which is roughly equivalent to `!g [docker error]` wh…
$ perldoc '$' No documentation found for "$" I hope perldoc search improved on Perl6, because it only used to match section titles, and none of the line noise vars are there. (Yes, after a while one should learn yo search for the section that explains all the vars, at least if he's coding Perl all day. But it's a ton of useless trivia to keep in mind anyway.)
A glance at "man perldoc" (or "perldoc perldoc") will tell you of the very useful other switches, such as -f and -q.
Re: Is Perl 6 Being Renamed?
#219Earlier quoted context omitted.
Bash still uses the same variable names. Are you saying nobody writes shell scripts anymore? Plus, you can always "use English;" if you want less cryptic names.
Bash didn't exist when Perl was invented in 1987. Bash was first released two years later in 1989. In 1987 there was the Bourne shell sh, and there was csh and derivatives like tcsh, and there was the Korn shell ksh and its derivatives, and they each had their own unique quirky menageries of subtly nuanced punctuation and syntax and variable names. And of course there was sed, and awk, and C, and even BASIC.
Re: Is Perl 6 Being Renamed?
#220I think it was CPAN that killed Perl, at least that was a major nail in the coffin for me. I have no idea what the CPAN of today is like, but back in the mid-late 90's it was horribly unreliable. There were dozens, if not hundreds of modules that did the same thing, and a lot of them had major bugs. But installing one was the big issue, as it would always choose the latest release of any module in the dependency chai…
I suggest looking into local::lib and then either a combination of cpanm and a Cpanfile or using perlbrew.