Live data from Hacker News

Is Perl 6 Being Renamed?

blogs.perl.org

331–340 of 424 posts

Re: Is Perl 6 Being Renamed?

#331

Earlier quoted context omitted.

Off the top of my head: 1. CPAN was great 20 years ago, but it's a joke compared to modern dependency management systems. 2. Functions don't have explicit parameters, and still shift off of @_. (This can be kind of a catch-all for all the "things that are useful for scripts, but suck for programming in the large" design decisions in Perl 5, because I honestly don't remember all of them at this point.)

> 1. CPAN was great 20 years ago, but it's a joke compared to modern dependency management systems. How so? I use npm/yarn daily and think they are mostly giant insecure playgrounds for teenagers with too much time on their hands. Browsing through node_modules on a large project is enough to make you give up software development and take up heavy drinking. Half the code I see in node_modules wouldn't pass a PR review…

1. Absolutely my experience. NPM is pain.

2. Whether you go positional or use an options hash, you still need to carefully unpack your args at the top of the subroutine. And do it consistently. There are a ton of libraries to help with this, too.

The most important thing is to pick a house style and do it everywhere that doesn't need to be different.

Re: Is Perl 6 Being Renamed?

#332

Serious question: what does Perl 6 bring to the table? What advantage does it provide over Perl 5, Python 2/3 or Ruby? I could google this (which I will), but give me the HN summary. What do you think is a good reason to use Perl 6?

Add to these multiple dispatch and support for literate programming.

There's also a nice interface for writing command line utilities that takes advantage of the above.

See my Christmas themed 2018 Perl6 Advent Calendar article on the topic: https://perl6advent.wordpress.com/2018/12/16/day-17-checking...

Re: Is Perl 6 Being Renamed?

#333

Earlier quoted context omitted.

I don’t know where you’ve been looking, but none of that is particularly interesting or new at this point. I worked with Perl daily and find CPAN even more of a wasteland than NPM. The average package there hasn’t been updated in a decade and has ancient dependencies to match; takes months / years for clients to be written for new tech.

What's wrong with a package not being updated for 10 years? Languages like perl--like common lisp, and c--are Stable. They change, some, but you can count on old code working. If a 10-year-old package Works, what reason is there to update it? I wrote a c library which has seen no updates in about 2 years--because it doesn't need them. It already does everything I need it to do.

I'm not talking about the 'reached perfection' case. In ten years the language, standards and it's patterns, underlying libraries, hardware, performance, all change. There is also no value in having a working, stable implementation of say, md5 when the entire world has moved on.

Often I'll just not find the library I want since nobody using that tech is actually writing Perl. For example, complete lack of a working GraphQL package until late 2017.

CPAN search in particular is unbelievably bad. The first result for 'Postgres' is a package last updated in 1998 (not joking), try to find a usable driver here: https://metacpan.org/search?q=postgres. Even the widely used DBI package has last seen an update almost a year ago.

Re: Is Perl 6 Being Renamed?

#334

Earlier quoted context omitted.

What's wrong with a package not being updated for 10 years? Languages like perl--like common lisp, and c--are Stable. They change, some, but you can count on old code working. If a 10-year-old package Works, what reason is there to update it? I wrote a c library which has seen no updates in about 2 years--because it doesn't need them. It already does everything I need it to do.

I'm not talking about the 'reached perfection' case. In ten years the language, standards and it's patterns, underlying libraries, hardware, performance, all change. There is also no value in having a working, stable implementation of say, md5 when the entire world has moved on. Often I'll just not find the library I want since nobody using that tech is actually writing Perl. For example, complete lack of a working G…

It is pretty unfortunate that so many people used "PostgreSQL" and "Postgres" in their module name and DBD::Pg didn't, so it gets ranked lower for those queries. But ranking is a hard problem when there is no curation. The MetaCPAN team does want to improve this if possible.

As for DBI, it's definitely in the "stable" category and isn't trying to keep up with anything; the DBD::Pg driver though was last updated this month.

Re: Is Perl 6 Being Renamed?

#335

Earlier quoted context omitted.

I very specifically pointed out that some of it was based on the relationship between the projects. I wasn't defending the situation, as much as providing context of why it was done that included non-technical reasons. To spell it out, Parrot the project started around the same time as Perl 6 the project. Initially, a lot of Parrot's purpose in reality was to be a VM for Perl 6, but Parrot also had a goal of being a…

Initially, a lot of Parrot's purpose in reality was to be a VM for Perl 6, but Parrot also had a goal of being a good general VM for dynamic languages. This was, initially, for two reasons: * allow Perl 5 code to run in process with Perl 6 code (without linking in libperl) * provide a unified VM on which Perl 5.12 could become Perl 6

Sure. I just remember a lot of (possibly a bit pie-in-the-sky) talk about how it could be a VM for Perl and Python both. That the more concrete initial plans and to some degree work was to allow good interop between major versions of Perl doesn't surprise me.

I'll defer to your memories if they contradict that though, I know you were involved to varying degrees for the first decade or so, and all I did was lurk.

Re: Is Perl 6 Being Renamed?

#336
post #22

Maybe Perl 5 should be renamed to Perl 7...

This is a great idea. If Perl 6 got a new name, some new branding, and Perl 5 added a few new features and polish, the language would suddenly awaken from its 20 year nightmare.

https://en.wikipedia.org/wiki/Perl_5_version_history

New features have been coming out with yearly releases since 2010's release of version 5.12.

But by 2010, many people already thought Perl5 was dead because Perl6 still hadn't shipped.

The really interesting stuff is actually happening on CPAN, with great extensions like:

* Type::Tiny https://metacpan.org/pod/Type::Tiny

* Kavorka https://metacpan.org/pod/Kavorka

* Moo https://metacpan.org/pod/Moo

* the Test2 suite of unit testing tools https://metacpan.org/pod/Test2::Suite

(edited for clarity, hn formatting is a pain)

Re: Is Perl 6 Being Renamed?

#337

Earlier quoted context omitted.

Initially, a lot of Parrot's purpose in reality was to be a VM for Perl 6, but Parrot also had a goal of being a good general VM for dynamic languages. This was, initially, for two reasons: * allow Perl 5 code to run in process with Perl 6 code (without linking in libperl) * provide a unified VM on which Perl 5.12 could become Perl 6

Sure. I just remember a lot of (possibly a bit pie-in-the-sky) talk about how it could be a VM for Perl and Python both. That the more concrete initial plans and to some degree work was to allow good interop between major versions of Perl doesn't surprise me. I'll defer to your memories if they contradict that though, I know you were involved to varying degrees for the first decade or so, and all I did was lurk.

I think no one was more surprised than Simon himself that his April Fools joke turned out to be the plan.

Re: Is Perl 6 Being Renamed?

#338
post #244

Earlier quoted context omitted.

perl6 has a REPL just like python if you just type perl6. There is a package manager called zef. It has some of the best and most human-readable compiler errors I have ever seen in a compiler. It has one of the simplest FFI to C I have seen to interface with the rest of the world. If there is anything perl6 got wrong, it wasn't ergonomics.

Yes, perl6 does a lot of things right. It's a great language and ecosystem that deserves more adoption. But all the things the parent comment listed, particularly branding, are in my mind part of developer ergonomics. And there is room for improvement. They wouldn't be talking about renaming the language if this wasn't the case.

Yup, definitely agree a rename is in order. I tell people, "You must try perl 6" and they go "Oh, I tried that long time ago in the 90s". They just don't here the "6" after the perl.

Re: Is Perl 6 Being Renamed?

#339
post #206

Earlier quoted context omitted.

> But why do people talk about ParrotVM and Rakudo as if they're different things? Java has a compiler and a VM, they're called "javac" and "jvm." Bad example: Java actually has many VMs available for it: Oracle, OpenJDK, Zing, and IBM come to mind. (EDIT: And "Dalvik", for all the Android fans). I'm unsure if Java has multiple compilers, but its quite possible. Python has CPython 2.0, CPython 3.0, and Jython at leas…

> Bad example: Java actually has many VMs available for it And it always had a single official and complete reference implementation in the form of the Sun JVM and later the OpenJDK. kbensons description makes it look as if Perl 6 had/has neither. > And "Dalvik", for all the Android fans Dalvik was intentionally incompatible in many ways and wont run a spec conform jar no matter how hard you try. Might as well call C…

> And it always had a single official and complete reference implementation in the form of the Sun JVM and later the OpenJDK. kbensons description makes it look as if Perl 6 had/has neither.

It had and has a spec. It's been evolving over time though. It was ambitious enough that no one implementation ever fully implemented it until recently, if ever (I stopped following the project actively a few years back. I'm not sure if any current implementation is fully compliant). That's not a surprise, it's an amazingly complex set of features that are describes, and there's many specs that are never fully implemented, and it's not uncommon to have an aggressive specification run up against reality when people try to implement it. For example, I've heard that the IMAP spec has never been fully implemented, or at least the later ones versions of it.

So, they have a spec, and have had one for a very long time. They have implementations that do the vast majority of the stuff you'll want from that spec, and they've been in that state for a few years.

Post reply on HN