These days really many people (in the software development world) are fascinated by Scala. And on the other hand it’s practically impossible to find someone feeling similar about Perl. This is somehow surprising for me as I see similarities between these 2 programming languages. I think one of these similarities is rather unquestionable:
Well, I don’t like it. And I don’t understand why people do accept one language having such things (Scala) but not the other one (Perl). I’ve found many comments about Scala that it’s modern and fresh. Each time I hear that I think it’s just trendy to use Scala. However “trendy” is something belonging to the world of fashion, not to the world of engineers. On the other hand people often find Perl as programming language hard to read. I guess thanks to these default variables (but maybe I’m wrong).
In that one I would agree: programs written in Scala and in Perl are unreadable (my opinion). And hard to maintain. Or at least it’s really easy to write programs in these languages that way. Such that it’s really unfeasible to fix a bug in such a program for someone not being Scala/Perl fanatic.
Actually I would say Perl has some advantages over Scala. It doesn’t need a JVM. It’s fast. It’s portable. It’s available almost everywhere (in the world of professional IT servers are driven by Unix/Linux which almost always has Perl installed). And Perl has one big disadvantage: it cannot easily use Java frameworks or libraries (what Scala can).
I had to use Scala for integration tests for one project I was working on in 2015. These implicit parameters were my nightmare. So in the huge mass of enthusiastic opinions about Scala I’m really happy there exist others who can take a critical look on it – see the article I Don’t Like Scala by Bozho.
PS. Perl has one funny application of “special variables”. They’re crucial in “Perl golf”!