News for hackers. Stuff that matters.
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.