5 ms·
In multiple organizations I have primarily seen Perl applied to very large, complex and established code bases that also make significant use of things like rea
by makecheck 11y ago
In multiple organizations I have primarily seen Perl applied to very large, complex and established code bases that also make significant use of things like reading/writing Perl data structures.
Simply put, there will not be any grand push to re-sigil every stored data structure and make massive, sweeping changes to nearly every line to end up with the same program that looks, if anything, arguably less intuitive.
This shows a profound unawareness of how Perl 5 was actually used in practice.
- perlgeek 11y agoPerl 6 developer here. Perl 6 is not an automatic upgrade path from Perl 5. We don't expect anybody to rewrite huge amounts of Perl 5 code in Perl 6. Perl 5 is going to be maintained separately. We do provide tools to augment Perl 5 code with Perl 6 code, and the other way around. There's Inline::Perl5 for Perl 6, and Inline::Perl6 for Perl 5.
- mirceal 11y agoIMHO Perl 6 will not catch on / be even mildly successful without a clear upgrade path from Perl 5. The ask for people to use Perl6 is a huge one given it's basically a completely different beast that just resembles Perl5. Without pointing out where Perl6 excels (in comparison to Python/Ruby not Perl5) this will probably be a non-starter for most people. (this is from somebody who did his fair share of Perl5 in the old days and would not go back to Perl5 / try Perl6 unless there would be an extremely clear differentiator that would make it worth it.
- kbenson 11y agoDid you actually look at Inline::Perl5[1] and Inline::Perl6? If may not be what you assume, and may change your opinion on whether an upgrade path is required. In short, Inline::Perl5 it's a way to interop cleanly with Perl 5 modules from Perl 6 using native Perl 6 syntax, and supports XS modules as well. I'm not sure I can imagine a more painless transition than what that allows. 1: https://github.com/niner/Inline-Perl5 https://github.com/niner/Inline-Perl5
- deleted 11y ago[deleted]
- smacktoward 11y agoThis is entirely a naming problem. Calling it "Perl 6" implies that it's a linear descendent of Perl 5, which it most certainly is not. Perl 6 is something else entirely. Which would be fine, if the name indicated that. But it doesn't, which is perverse. The name implies something different than what the product actually delivers. It's the "New Coke" (see https://en.wikipedia.org/wiki/New_Coke https://en.wikipedia.org/wiki/New_Coke) situation all over again. When Coca-Cola rolled out New Coke back in the '80s, lots of people actually preferred the taste of the new formulation to the original, "classic" Coke. But it failed anyway, because it came in a can labeled "Coke" but tasted very different than what people thought the contents of a can labeled "Coke" would taste like. Their brains never made it to the "hey, this tastes better!" part, because they were too busy raging over thinking they were getting one thing when they were actually getting another. It's been clear for more than a decade now that Perl 6 was going to be a big, discontinuous change instead of an incremental step up from Perl 5, so why they've persisted with calling it "Perl 6" all this time is beyond me. Just call it something other than Perl and 90% of the gripes about it will vanish overnight.
- kbenson 11y agoI think it's entirely possible it may shift in naming slowly after released. To do so beforehand would be to doom it to obscurity through even more confusion. People might start referring to it by the implementation (Rakudo), which I would be fine with. Maybe a year or two after release it would be possible to do officially do something like this. Prior to that and I think there's far more downsides than upsides (and even after that time who knows what would happen if the name actually changed?)
- deckard1 11y agoyep. As a Perl 5 dev, it always frustrated me that Perl 6 was around. It made it real easy for people to throw rocks at. "Oh look, Perl is dead because Perl 6 is not released." Never mind the fact that Perl 5 continued to be updated, has features some languages only wish they had (superior Unicode support, CPAN, etc.), and is probably the most stable language we have ever seen, thanks to a decade of mostly maintenance releases. Turbo Pascal/Object Pascal was able to become "Delphi". Delphi was still Pascal, as Perl 6 is still a "Perl". Maybe it's still possible to rename it? It will be a hell of a PR battle now.
- kamaal 11y agoSorry I don't get it. Why would I rewrite an entire ecosystem in a new language, especially when Perl 5 is very well supported. Perl 5 code will remain as is. Perl 6 is for new projects. And if I'm familiar with Perl 5, it makes all the more sense to use it for my new projects. For non Perl programmers it makes a nice new language to learn.
- sanderjd 11y agoI'm curious, because I haven't seen much discussion on this point: Ignoring that it is called Perl 6 and has it's lineage in a well-known language called Perl 5, what are some of its advantages over some of the other languages it will be considered alongside? If I'm starting a new project, and I'm familiar with a bunch of other languages (including, but not limited to, Perl 5), what should draw me to Perl 6?
- kbenson 11y agoAt this point Perl 6 is new enough that the use cases is excels at may not be well defined. If you want to learn something new, and not be hampered by a feature in some other language not being supported (at this point the main feature is that it basically has all the features of all the languages), then trying out Perl 6 may be worth while. If nothing else, you've prototyped your project, found out what programming paradigms make sense and work well for your use case, and can switch to another language that offers that which achieves some other unmet goal of yours. So, I guess that's a possible use case. Prototyping where you aren't sure what language features would be really useful and provide benefit later. Channels? Threads? Async? Promises? Lazy lists? Operator overloading? Roles? Grammars?
- perlgeek 11y ago> IMHO Perl 6 will not catch on / be even mildly successful without a clear upgrade path from Perl 5. Why can't it be successful based on its own merits? Go didn't have a clear upgrade path from anywhere. Rust doesn't, nor do Julia and all the other new, hip languages that I just forgot about.
- a3n 11y agoIs there a Perl 5 EOL being discussed? Or, if Perl 5 and Perl 6 really are two completely separate languages separated by a similar syntax, then what comes after Perl 5 in the Perl 5 language? Will it forever be 5.N, 5.N+1, ...? (And, I guess, will there forever be 6.N, 6.N+1, ...?)
- kamaal 11y agoIts ridiculous to imagine any EOL for Perl 5, given how large that ecosystem is. Co existence is the way forward. I think a good deal of Perl 6 features will seep into Perl 5 over time, while maintaining backwards compatibility.
- systems 11y agoi think if Perl6 becomes popular enough, most perl5 devs and shops will just move to perl6 while perl6 is truely a new languages not an upgrade to perl5 perl5 devs for a while have been under pressure to make perl5 more popular, using a popular language adds a padding of security, a cushion, perl5 devs are surely hungry for this and if you like perl5 you will love perl6 as they seem to share the same values both languages that are syntax heavy, and languages that work the way you do, instead of forcing you to think a certain way .. like say functional languages Perl6 is probably the complete opposite of say .. Haskell, but I believe in a good way ... it will be popular, i think it will be an agile language .. and many devs will love the flexibility
- Moto7451 11y agoPretty much. Perl 5 and Perl 6 have different maintainers and will continue on separately for the foreseeable future. Some in the Perl 5 community wouldn't mind a name change just so the Perl 5 v.s 6 naming scheme isn't an issue but it's not likely to happen.
- bpmedley 11y agoIn my opinion, no, an EOL is not being discussed. What is being discussed is the excitement brewing from the all the work that has transpired via the Modern Perl movement. We have modern web frameworks (Mojolicious, Dancer, PSGI/Plack); YEARLY releases of Perl 5; CPAN has never been easier to work with (cpanm, cpanfile, carton); a healthy and supportive community; and modern infrastructure to work with OO (e.g. Moose). There are several of other things I haven't mentioned. For example, if you want to try a web app with one of the latest perls: $ curl https://raw.githubusercontent.com/tokuhirom/Perl-Build/master/perl-build | perl - 5.20.3 /opt/perl-5.20 $ curl -L https://cpanmin.us | /opt/perl-5.20/bin/perl - App::cpanminus Mojolicious $ /opt/perl-5.20/bin/mojo generate lite_app all_the_awesome.pl $ /opt/perl-5.20/bin/perl all_the_awesome.pl daemon ... Goto a browser and visit http://127.0.0.1:3000 http://127.0.0.1:3000 The above command assumes you have a system perl that can bootstrap your user perl into /opt/perl-5.20. Thank you for asking.