News for hackers. Stuff that matters.
Re:Perl 5.26.0 released by tete on Thursday June 01, 2017 @04:41AM (#14458811)
Wow, I haven't looked at Perl in a while, but all sorts of numbers mentioned in the announcement really surprise me.

Btw., as mentioned in announcement. The actual changes are here, if you missed that:

https://metacpan.org/pod/release/XSAWYERX/perl-5.26.0/pod/pe...

Re:Perl 5.26.0 released by sverhagen on Thursday June 01, 2017 @05:43AM (#14459009)
Yes, impressive community effort for a language that... Well... I have heard nothing good about in any "at the water cooler" conversation that I was ever in, over the past fifteen years or so. Except, of course, that Perl is awesome at regular expressions, an advantage that most languages must have caught up on, no? Not for nothing Perl shows up in most hated-lists all around town (top 10 at Stack Overflow).
Re:Perl 5.26.0 released by joosters on Thursday June 01, 2017 @07:54AM (#14459492)
Perl 5 isn't a 'cool' language, because it isn't trying to rapidly change itself, instead it just works. I use it just about every day (by my own choice!) and it can be a fine language to develop in. The libraries available in CPAN contain support for pretty much any task you could think of.

Most of the horror stories that you'll hear about perl are from people who have tried to fix/maintain code that was written badly, which is no different from any other language. You can write horrific or easily-readable code in any language.

Perhaps perl has its reputation because it is often used as a quick kludge to do something that would be just too painful to do in shell script, and novice writers just cut & paste stuff from their searches online to get the job done?

Re:Perl 5.26.0 released by rootusrootus on Thursday June 01, 2017 @10:55AM (#14460744)
As a long time Perl programmer myself who has been doing Python for the last three years, I have to say that it is much easier to write unintelligible Perl code than Python. Not that you cannot write some gross things in Python if you try, but the language defaults towards readability and the community strongly encourages it.

I recall a great talk a couple years ago at OSCON that Damian Conway gave about how you could essentially turn Perl into a custom language that exactly fit your needs. I walked out of there thinking "wow! That is incredibly awesome, and yet I would never consider it for a business environment." Perl is an appealing language for people who like languages. I count myself as one of those. But I cannot deny that Python makes so much more sense for teams of more than one person.

Re:Perl 5.26.0 released by pyre on Thursday June 01, 2017 @10:59AM (#14460767)
The one thing that I miss in Python is true anonymous functions. Perl has them. JavaScript has them. Ruby has them. Python just has lambda functions which can only evaluate an expression.
Re:Perl 5.26.0 released by btilly on Thursday June 01, 2017 @11:11AM (#14460895)
Meh. In Python you can put a def inside of any scope you want and do anything that you want with it. The fact that it winds up with a name in that scope doesn't stop it from being anonymous everywhere else.

At that point the difference is just syntax.

Re:Perl 5.26.0 released by pyre on Thursday June 01, 2017 @12:31PM (#14461763)
You're declaring the function within that scope. You can do this in other languages too. In Javascript, I can declare a function within a scope too:

  function myFunc () {
    var myFunc2 = function () {};
    return myFunc3().then(myFunc2);
  }

This isn't some Python-specific thing.

> At that point the difference is just syntax.

Isn't that the case with most things? If I said that I missed curly braces, that's "just syntax" too.

Re:Perl 5.26.0 released by seertaak on Thursday June 01, 2017 @01:49PM (#14462625)
I think the parent poster was referring to the fact that the critical thing is that a) you can define a function within the scope of another function, and b) you can return the inner function. To do this requires something called a closure, which in general involves some of the local variables being transferred to the heap.

You're right that almost all dynamic languages have this feature, but to give you two notable languages that don't: C doesn't allow defining inner functions. Pascal allows to define inner functions, but doesn't allow you to return them. C++ does allow you to define inner functions (actually functor classes) and allows you to return them, but you need to be explicit about the capturing process.

Re:Perl 5.26.0 released by btilly on Thursday June 01, 2017 @03:02PM (#14463376)
Right. Anything that you could want to do with an anonymous function, you can.

It is less frustrating for me than the fact that the scoping rules for a var in JavaScript mean that you're likely to scope to the nearest function call rather than loop. Despite having anonymous functions, doing what I would want to do with them in JavaScript is often much harder than doing it in Python.

Re:Perl 5.26.0 released by vram22 on Thursday June 01, 2017 @06:57PM (#14465692)
>You're declaring the function within that scope. You can do this in other languages too.

>This isn't some Python-specific thing.

I think btilly meant that by the ability to do in Python what he described (define a nested function and then return it), you get (almost) all the same features as anonymous functions (and specifically, more than Python's lambdas give you, because they can only contain an expression, not statements) - in response to what you said:

>Python just has lambda functions which can only evaluate an expression.

In fact, IIRC, Guido (van Rossum, Python creator) has been known to say, to people who complain about the limitations of lambda in Python, to just use nested functions. And BTW they are quite powerful so you can do a lot with them.

He (btilly) was not implying that other languages cannot have nested function declarations (if I understood his comment right).

Re:Perl 5.26.0 released by pyre on Thursday June 01, 2017 @07:10PM (#14465790)
> And BTW they are quite powerful so you can do a lot with them.

I'm not saying that they aren't powerful. I'm saying that personally, I find declaring one-time-use functions in-line to be syntactically more pleasant / organized than sticking the function definition in the middle of functional code.

I'm not a newbie to Python, but after working with it for years, it's one of those things that I still wish existed. It's not necessarily a pain point or deal breaker or anything. I'm not even sure how it could work given Python's syntax.

Re:Perl 5.26.0 released by vram22 on Friday June 02, 2017 @10:11AM (#14469992)
>I find declaring one-time-use functions in-line to be syntactically more pleasant / organized than sticking the function definition in the middle of functional code.

Ok, I get what you mean now, and think you have a point there.

Re:Perl 5.26.0 released by mixmastamyk on Thursday June 01, 2017 @12:02PM (#14461456)
And better clarity---I've seen anonymous callback hell in .js, no thanks.
Re:Perl 5.26.0 released by pyre on Thursday June 01, 2017 @12:32PM (#14461768)
That's not a requirement of anonymous callbacks. That's just a symptom of poor coding standards. It can happen in Python too.
Re:Perl 5.26.0 released by mixmastamyk on Thursday June 01, 2017 @02:59PM (#14463349)
And yet the two go hand in hand. Have never seen it in Python, though have never used twisted either.
Re:Perl 5.26.0 released by pyre on Friday June 02, 2017 @09:50AM (#14469839)
> And yet the two go hand in hand.

It's a tool that can be abused. Saying that the number of tools available should be limited so that they can't be abused seems counter-productive.

Re:Perl 5.26.0 released by mixmastamyk on Friday June 02, 2017 @06:17PM (#14473705)
The trend toward limiting ultimately counter-productive language flexibility is getting stronger, not weakening.

See static typing, golang, and functional languages.

Re:Perl 5.26.0 released by nf05papsjfVbc on Thursday June 01, 2017 @11:53AM (#14461357)
I think perl invites a kind of mindset from how the language is and how the initial community was.

Why does it have something called 'say' instead of something more intuitive like 'println'. Then there are worse examples: carp, cluck, croak. These are commonly used. They are from the same module of course. There is also Moo, Moose. I'm not sure but was there something called 'Mo' too? Commonly used of course but as you can see from the names - you can't tell what they are for.

So, I think from some of the choices made in how the language is, it ended up being more drawn towards unreadability than readability by attracting a kind of mindset that wanted it to be 'fun' in a way that only a clique could relate to and now if the language doesn't have broad appeal, I think it shouldn't be that hard for them to accept that fact.

Re:Perl 5.26.0 released by perigrin on Thursday June 01, 2017 @01:04PM (#14462136)
I'm biased, I've release bits for Moose but ... Django, React, Rails, Spring, : can you tell what they are used for from the names? Does this mean that Python, Javascript, Ruby, and Java are "drawn towards unreadability than readability by attracting a kind of mindset that wanted [them] to be more 'fun'"?

In fact Moose, Catalyst, Starman, etc were all projects specifically named more fun _becasue_ their authors saw other communities not naming things "DBIx::Class" or "ExtUtils::MakeMaker" and wanted to bring some of that fun to Perl.

Re:Perl 5.26.0 released by yellowapple on Thursday June 01, 2017 @04:57PM (#14464633)
"Why does it have something called 'say' instead of something more intuitive like 'println'."

'say' is a lot more intuitive than 'println' for me. In the former case, I'm telling my program to say something. In the latter case, I'm telling it to... print? What if I don't have a printer? And what's a 'ln'? Line? Loan? Loon?

In other words, 'println' is not "intuitive". The word you're looking for is "conventional" or "familiar", and it's only either or both of those things if the programmer is coming from a different language.

Perl was the first programming language that really "clicked" for me, though, so I'm probably a bit biased there.

(as a side note, Perl has a 'print' as well, which actually predates 'say' by a considerable amount ('say' only became a thing in, what, Perl 5.10?). 'say' is pretty much just 'sub say { print "$_[0]\n"; }'.)

"Then there are worse examples: carp, cluck, croak."

'carp' and 'cluck' are weird, yeah. 'croak', however, makes sense in the context of 'die'.

"There is also Moo, Moose."

Both of which feature the letters "oo", which usually stands for "object-oriented". Not as obvious as I'd personally like, but once you spot that it becomes clear that both have at least something to do with Perl5's object system.

Re:Perl 5.26.0 released by cutler on Saturday June 03, 2017 @07:39PM (#14479104)
... which is basically just blessed hashes.
Re:Perl 5.26.0 released by yellowapple on Sunday June 04, 2017 @12:53AM (#14479941)
Blessed anything, really. One could bless a scalar or array if one so chooses (not that I would recommend doing so, but whatever).

But yeah. Perl 5's flavor of object-orientation is remarkable for exposing the inner workings of objects to the programmer. Fields are just hash table items. Methods are just subs that take the object as the first parameter. Classes are just namespaces/modules full of methods and constructors. Constructors are just ordinary subs that return blessed data structures.

It's all remarkably simple and elegant once you're used to it.

Re:Perl 5.26.0 released by dragonwriter on Thursday June 01, 2017 @05:01PM (#14464671)
> Why does it have something called 'say' instead of something more intuitive like 'println'.

"Say" is a common English verb that fairly directly communicates the action performed (with a bit of metaphor, sure.)

"Println" is, well it starts out with something which might be as good as "say" and then has some extra opaque consonants glued on the end.

The latter is only "more intuitive" from the perspective of someone whose used languages which happen to use it in the past.

Re:Perl 5.26.0 released by throwaway7645 on Friday June 02, 2017 @09:44PM (#14474497)
Exactly. "Print" originally made me think of an ink printer. "Say" makes alright sense. Strangest I've seen is the basic language PBASIC's "debug" statement for the BASIC STAMP controller.
Re:Perl 5.26.0 released by chromatic on Thursday June 01, 2017 @03:03PM (#14463392)
Why does it have something called 'say' instead of something more intuitive like 'println'.

Why is the Unix command `ls` not `list-directory-contents`? Sure, it's a lot more for everyone to type all the time, but you could get rid of a single line in the man page, meaning the name is much, much more intuitive!

Re:Perl 5.26.0 released by vram22 on Thursday June 01, 2017 @07:02PM (#14465731)
>Why does it have something called 'say' instead of something more intuitive like 'println'. Then there are worse examples: carp, cluck, croak. These are commonly used. They are from the same module of course. There is also Moo, Moose. I'm not sure but was there something called 'Mo' too? Commonly used of course but as you can see from the names - you can't tell what they are for.

I'm not a Perl expert, but have read books on it and done a bit with it. I think Perl tends to attract the kind of people who find these kinds of names (and many other things) fun, and are not put off by it - which is fine.

>worse examples

According to who(m)? Opinions differ.

Re:Perl 5.26.0 released by nf05papsjfVbc on Friday June 02, 2017 @05:37AM (#14468662)
EDIT: Please, before you get fixated on 'say', consider that perl already has 'print'. So, it has "print" and "say" - where "print" is "print" and "say" is "println".
Re:Perl 5.26.0 released by pyre on Thursday June 01, 2017 @10:57AM (#14460758)
> instead it just works

All of those other languages "just work" too. I'm not really sure what you're getting at with this comment.

I worked with Perl 5.x in for 4 years a while ago. It's not as bad as people really think it is. That said, there are a lot of things that can cause you to go wrong. For example: source filters. Super powerful, but if implemented wrong can make debugging a nightmare.

Re:Perl 5.26.0 released by liotier on Thursday June 01, 2017 @06:45AM (#14459236)
> I have heard nothing good about in any "at the water cooler" conversation that I was ever in, over the past fifteen years or so.

Whenever I think of something that has anything to do with batch data munging, there is usually half a dozen Perl modules that already do it. I have no opinion about Perl as a language but I like how rich the ecosystems is for that sort of project.

Re:Perl 5.26.0 released by sangnoir on Thursday June 01, 2017 @08:25AM (#14459650)
> I have no opinion about Perl as a language but I like how rich the ecosystems is for that sort of project.

CPAN was way ahead of the competition - it was elegant where other languages would require you to manually download dependencies archives and wrangle them like a barbarian.

Re:Perl 5.26.0 released by tete on Thursday June 01, 2017 @08:53AM (#14459801)
There is a feature I'd like to have in other languages. CPAN Testers. It's actually a really simple ideas. You randomly (or not) download packages and run their tests. The result will be uploaded.

This is a really nice alternative to CI services and it makes sure that your stuff works in other environments than your standard Ubuntu LTS systems.

It's pretty much crowd funded CI and I am pretty sure that a lot of people who don't have the most common system would love to run it.

What's cool about this is that you see problems on both the platform and the library side, that one wouldn't expect.

Something similar, also from ages ago, but an anecdote I like to tell is that I used to have access to a hppa64 (64 bit PA-RISC) system and while I didn't really have use for it I as a fun project installed OpenBSD on it and ran some test suites there. Despite OpenBSD/hppa64 15 years or so ago being an alpha release Rakudo (aka Perl 6) actually compiled and was able to run its test suite. In the end this found a bug in math.floor or something like this.

The point is that something like that tends to have unexpected benefits for both sides. It's like when someone decides to compile a project using a less common C compiler. That pretty often leads to people finding bugs in the given software, because of errors or warnings emitted by that compiler. Similar things happen with different architectures, etc. So in the end cross platform software ends up way more reliable. Something that I think some projects focusing on only one OS or even just one or very few distros really miss out.

Of course reducing your project to work on just one platform might safe you some time somewhere, but often it's a bit like saying not writing tests safes some time. And usually it's really little or no effort, which results in a lot more feedback and quality code contributions (people that port a lot of software tend to be pretty good programmers).

Re:Perl 5.26.0 released by falsedan on Thursday June 01, 2017 @10:10AM (#14460327)
CPANTS is the bane of my existence as a module author, it's also extremely rad to automatically get a test failure report for every possible combination of platform/language version.
Re:Perl 5.26.0 released by sethammons on Thursday June 01, 2017 @06:57AM (#14459291)
Perl's regex matching is faster than Go's, last I checked. At my work, we have a few large perl (and python) legacy codebases that are processing billions of messages a day. We are replacing them with far more performant Go. It is great to work with a senior Perl guy who can slam out solutions way faster than I can in any other language. However, for us, concurrency (and readability) is important. I like perl's AnyEvent better than python's Twisted, and python's Gevent better than both of those (in general). But these are nowhere near as awesome as Go's native concurrency primatives.
Re:Perl 5.26.0 released by cutler on Thursday June 01, 2017 @08:21AM (#14459636)
Go's regex implementation is inferior to Perl's, feature-wise. For performance Go eschew's a certain amount of backtracking as far as I remember. If you want Perl regex compatibility in Go you have to add a PCRE lib.
Re:Perl 5.26.0 released by klodolph on Thursday June 01, 2017 @05:56AM (#14459047)
Perl is still awesome at regular expressions compared to other languages. It has better Unicode regex support than almost any other language. If you need to do intricate Unicode regexes, then your main choices are Perl and libraries for other languages which port Perl features, not always well-supported.
Re:Perl 5.26.0 released by snarfy on Thursday June 01, 2017 @07:17AM (#14459357)
Unicode regexes is a pretty small edge case. Is it because Perl is awesome, or because Unicode sucks?
Re:Perl 5.26.0 released by ethelward on Thursday June 01, 2017 @07:29AM (#14459401)
> Unicode regexes is a pretty small edge case

Except for any other language than english.

Re:Perl 5.26.0 released by jandrese on Thursday June 01, 2017 @10:59AM (#14460770)
Most people who understand what a can of worms those systems are start leaking a little grey matter from their ears when someone mentions the phrase "Unicode Regex".

I have mental images of driving a wildly overpowered monster truck with no brake lines over a minefield. And then I start to consider the implications of passing the /i flag in...

Re:Perl 5.26.0 released by xeeeeeeeeeeenu on Thursday June 01, 2017 @12:38PM (#14461851)
Yes, and that's the reason why it's important to choose a tool that gets Unicode correctly. Perl is an example of such a tool.
Re:Perl 5.26.0 released by jandrese on Friday June 02, 2017 @01:56AM (#14467791)
Even if the language handles it correctly the lowly programmer is playing with white hot fire. Unicode adds so many edge cases it's basically a serrated knife in the middle of your code.

Will your regex match correctly in the case that the text shifts direction halfway through? Will the case insensitive search work in languages where case is ambiguous (where uc(lc(x)) != x)? Will you be able to match letters that are effectively identical but on different code points? Do you want to? Will it get confused by furigana?

Unicode's goal of encoding every language in the world as is means it encompasses every bizarre thing people have ever done to a written language. It is almost impossible to actually do anything with a block of unicode codepoints except treat it like a big binary blob and hope that you never have to personally deal with the strings contained therein. Most everybody gets it wrong in one way or another.

Re:Perl 5.26.0 released by ivanhoe on Thursday June 01, 2017 @10:26AM (#14460498)
How many of those "water cooler" conversations you had with someone who actually knew and used perl for at least a few projects? Most of perl hate I hear is from people who've seen like 2 perl one-liners in life and got scared by $, @, and %'s in syntax...
Re:Perl 5.26.0 released by dragonwriter on Thursday June 01, 2017 @12:37PM (#14461839)
> Except, of course, that Perl is awesome at regular expressions, an advantage that most languages must have caught up on, no?

If you mean at "parsing text", for which regexes are a tool, I don't think many other languages have caught up with Perl, which had (with Perl 6) gone beyond regexes to grammars.

But, even ignoring that, I think plenty of languages have regex engines less powerful than Perl's, and poorer ergonomics for using regexes in the language independent of regex engine quality so even on regexes as such Perl has an advantage.

Re:Perl 5.26.0 released by rcthompson on Thursday June 01, 2017 @08:09AM (#14459573)
Perl is still the only language I've seen that has a dedicated syntax for regular expressions. Every other language requires you to write your regexes as strings, which puts you squarely in backslash hell.

(I'm sure there must be other languages with dedicated regex syntax, but I'm not aware of any.)

Re:Perl 5.26.0 released by cutler on Thursday June 01, 2017 @08:17AM (#14459618)
Ruby is a direct descendant of Perl and borrows its regex syntax.
Re:Perl 5.26.0 released by MadcapJake on Thursday June 01, 2017 @11:08AM (#14460861)
Ruby used Oniguruma (and now Onigmo) for RegEx https://github.com/k-takata/Onigmo
Re:Perl 5.26.0 released by dragonwriter on Thursday June 01, 2017 @12:41PM (#14461884)
Yes (well, for MRI at least; I'm not sure other implemebtations use the same regex engine) and it used a different regex engine before Oniguruma. But engines and syntax are unrelated; Ruby has a dedicated regex literal syntax which was directly inspired by Perl.
Re:Perl 5.26.0 released by cutler on Thursday June 01, 2017 @01:00PM (#14462090)
As far as I can make out these regex engines are very close to Perl5.
Re:Perl 5.26.0 released by Ardren on Thursday June 01, 2017 @08:20AM (#14459630)
Javascript has regex literals

    /foo\sbar/i;
Is the same as:

    new RegExp('foo\\sbar', 'i');
Re:Perl 5.26.0 released by hoytech on Thursday June 01, 2017 @08:52AM (#14459796)
One thing that annoys me a bit about the JS syntax though: As far as I know, JS regexp literals don't have custom delimiter support. For instance in perl you can do this:

    $str =~ m{/some/path/\w+}
But in JS you need to escape the / characters, or use a normal string as an argument to Regexp, in which case you need to escape the backslashes:

    /\/some\/path\/\w+/
    Regexp("/some/path/\\w+")
Re:Perl 5.26.0 released by cesarb on Thursday June 01, 2017 @10:28AM (#14460523)
Some other languages have a "raw string" syntax which disables backslash processing. For instance, Python (see https://docs.python.org/3/library/re.html and https://docs.python.org/3/reference/lexical_analysis.html#st...) and Rust (see https://doc.rust-lang.org/reference/tokens.html#raw-string-l...).
Re:Perl 5.26.0 released by dragonwriter on Thursday June 01, 2017 @12:39PM (#14461867)
> Perl is still the only language I've seen that has a dedicated syntax for regular expressions.

So, you've never seen Ruby?

Re:Perl 5.26.0 released by rcthompson on Saturday June 03, 2017 @10:16AM (#14476473)
I've done a very small about of ruby programming which did not involve regular expressions.
Re:Perl 5.26.0 released by ilkkao on Thursday June 01, 2017 @08:17AM (#14459617)
Javascript is like Perl: /foo/i.test('foobar') is valid JS.
Re:Perl 5.26.0 released by baldfat on Thursday June 01, 2017 @07:22AM (#14459381)
> Perl is awesome at regular expressions

I don't know why Perl 1 to Perl 4 had messed up Regular Expression. Perl 5 actually redeemed themselves and returned to the normal good old regular expressions.

> Regexes in Perl are not he same as in Python, Ruby, or PHP, even if some of them call them "Perl 5 compatible Regular Expressions". https://perlmaven.com/introduction-to-regexes-in-perl

I would say the older Perl messed with RegEx and I wish everyone else would get on board. I HATED!!!!! doing my awk regex and then jumping into Perl it wouldn't work.

Re:Perl 5.26.0 released by rurban on Thursday June 01, 2017 @06:10AM (#14459095)
I wouldn't call it impressive. 2 months too late, too many bugs, horrible security, not much improvements, still doing more destruction than good.

Compare it to the "non-community" professional effort https://github.com/perl11/cperl/releases/tag/cperl-5.26.0 http://perl11.org/cperl/perl5260cdelta.html

regular expressions are much better with pcre2, which almost work (50% faster) with https://metacpan.org/pod/re::engine::PCRE2

Re:Perl 5.26.0 released by falsedan on Thursday June 01, 2017 @06:23AM (#14459144)
Reini, aren't you the sole dev working on cperl, the fork you set up because you disagreed with some of the patchs perl-porters accepted/rejected?
Re:Perl 5.26.0 released by rurban on Thursday June 01, 2017 @06:50AM (#14459252)
A single +1 developer is better than -5 developers. cperl got 10x more done in 2 years than p5p in 15 years, and the 10x factor is ongoing. In a few years nobody will use perl5 anymore, everybody will use cperl instead.

I didn't only disagree with some patches, I disagree with most of the feature decisions, management and bugfix handling. And esp. with their negative track record. perl5 deserves a properly managed project and the perl6 features, so I did it. At an important time, with :const, types and signatures upcoming. And perl5 should not be used in public services due to its lack of security (I am warning against it since 5.16), not talking about the feature mishandling.

See the perl11 blog.

Some numbers: In the last 2 years, p5p produced 12005 commits (2 releases), whilst I produced 6291 commits. That's >30%. The 2nd most prolific author did 3104 (unicode), the third 1689. And I squash commits into features and bugfixes and don't spread it out over 3-5 postfixes, because cperl works in branches, not posting directly to master. Of those 6291 commits you have nothing in perl5, but they continue to play stupid and take nothing. Features wise and security fixes it's more like 1000%, not 30%.

Re:Perl 5.26.0 released by yellowapple on Thursday June 01, 2017 @05:22PM (#14464910)
"In a few years nobody will use perl5 anymore, everybody will use cperl instead."

That seems like an awfully bold claim.

cperl is great, don't get me wrong, but if I'm going to move away from Perl 5 to a different Perl I'd rather just move to Perl 6 (and, in fact, I already have for some of my latest pet projects; so far, I've been very impressed).

Re:Perl 5.26.0 released by rurban on Thursday June 01, 2017 @08:32PM (#14466430)
Perl 6 is a different language, no chance for a replacement. It's also much slower and unusable for professional usage.

cperl is a not a different perl, it's a perl5 replacement, which is faster, more secure, less bugs and more features. types and using a modern perl is optional. 90% of the vm and toolchain is unmaintained by p5p, and taken over by cperl.

Re:Perl 5.26.0 released by yellowapple on Friday June 02, 2017 @03:31AM (#14468147)
"It's also much slower"

Perl was never intended to be fast for computers. It was intended to be fast for programmers. Perl 6 does a pretty darn good job of that, and additionally already has working and easy-to-use C/C++-compatible FFI that I can use today to offload things that really do require maximum computational performance (that latter point wasn't true for cperl last I checked; "extern sub ..." is still a "todo" item AFAICT, and I don't really see an equivalent to Perl 6's "is repr(CPointer)").

"and unusable for professional usage."

By what measure? More importantly, by what measure in which cperl fares any better?

"more features"

Not at all the impression I'm getting from perl11.org/cperl in relation to Perl 6. What you're saying is certainly true in relation to Perl 5, though.

Re:Perl 5.26.0 released by rurban on Friday June 02, 2017 @06:39AM (#14468919)
extern sub is actively being worked on. The technical problem is not the ffi, this is trivial, but to fix the broken attributes architecture beforehand. They are not usable at runtime (variable arguments) and Attribute::Handlers only makes it worse.

Of course cperl is lacking compared to perl6 features, user facing. Because I had to fight first p5p sloth, like broken designs for everything. cow, const, threads, attributes, regex, scalar, arrays, hashes, functions, types, lecical $_, objects, symbols, unicode, build system, warnings, exceptions, the VM, ... http://perl11.org/blog/p5p-incompetence.html is a short overview of the technical problems to be fixed.

Professional use: read cperlpod cperl. No security process and competence, lack of progress, lack of maintainance of critical modules (cpan is fine, p5p and toolchain authors are the problem), no types, no compiler, recommending worst practices to move towards Java, no technical management, just community leaders without any idea what they are deciding, loosing all competent devs in the last decades and with just the remaining dead wood vocally protecting their turf, with the usual racial and more unpleasant slurs of the leadership towards its users and co-devs. As company you wouldn't want to be associated with them, but their counter propaganda silencing and censoring the critics works well.

Re:Perl 5.26.0 released by chromatic on Friday June 02, 2017 @12:35PM (#14471204)
Are you open to taking patches to that blog entry?
Re:Perl 5.26.0 released by rurban on Saturday June 03, 2017 @06:52AM (#14475794)
Of course not. Only typos. Blog entries are one-time discussion entries, written by the author, not by chromatic. You are free to add comments.

While you censored me from adding comments to the old official discussion channels, I will not censor you on the new discussion channel /r/cperl or here. I just don't accept illegal comments as they used to happen on the old channels (asshole and such).

Re:Perl 5.26.0 released by petre on Thursday June 01, 2017 @04:07PM (#14464023)
Rieni, what happened to perl11 and p2 on potion? It looked like a very interesting project.
Re:Perl 5.26.0 released by rurban on Thursday June 01, 2017 @08:40PM (#14466468)
p2 was too much work to come up with a backcompat p5 library with all its problems. And I saw no easy way to add multithreading. Forking perl5 was easier in the short run.

In the long run switching out to a fast VM for tight loops like p2, rperl or spvm (formerly called sperl) is still being considered. Perl6 inline::perl5 is unfortunately not doing too good, and I see no way forward with their architecture.

perl11 is doing very well. Many perl6 features are already in cperl, many more not yet completed. The design is done and sound.

Re:Perl 5.26.0 released by throwaway7645 on Thursday June 01, 2017 @09:20AM (#14459988)
Looks like a good job.
Re:Perl 5.26.0 released by topkeker on Thursday June 01, 2017 @07:14AM (#14459348)
Reini, more importantly, do you like memes?
Re:Perl 5.26.0 released by peteretep on Thursday June 01, 2017 @06:22AM (#14459140)
Mmm, it'd be more honest to point out that "the effort" is your effort
Re:Perl 5.26.0 released by latenightcoding on Thursday June 01, 2017 @06:43AM (#14459228)
FYI rurban is a well known Perl programmer who hates almost everyone.
[dead]
Re:Perl 5.26.0 released by dragonwriter on Thursday June 01, 2017 @12:45PM (#14461916)
> They are the haters and trolls, who are doing the name calling.

At a minimum, that goes both ways. See, well, the above.