4 ms·
I hope it's permissible to contribute to an explicitly "opinion" subthread. Given that premise, here's my 2c: I'm not a lover of Scala, in fact I tried it and
by Elrac 11y ago
I hope it's permissible to contribute to an explicitly "opinion" subthread. Given that premise, here's my 2c:
I'm not a lover of Scala, in fact I tried it and gave up on it because I didn't like its ratio of cleverness to simplicity (again, a personal opinion). But that said, and also being reasonably familiar with Perl, I would say that Scala is still much cleaner, more consistent, less idiosyncratic than Perl. I've seen some beautiful, expressive, masterful Perl code but I find that Perl really doesn't encourage me to write that way, while Scala works a bit harder to nudge you to write elegant code.
- raiph 11y agoMany things are simpler in Perl 6 than in Perl 5. My guess is you are thinking of the original Perl family.
- Elrac 11y agoAbsolutely! I hadn't looked at Perl 6 before the OP's presentation. But isn't Perl 6 a full superset of Perl 5? That would mean the full clutter is still underneath, and some people will continue to code Perl 5 in Perl 6.
- cygx 11y ago> But isn't Perl 6 a full superset of Perl 5? Nope, it's a new language but with a similar look & feel. Interoperability is currently supported through embedding a Perl5 interpreter.
- raiph 11y ago> isn't Perl 6 a full superset of Perl 5? That depends on what you mean. Perl 6 is carefully designed to be able to smoothly use other programming languages and their compilers and/or libraries. The most advanced implementation of this concept is (re)use of Perl 5: use Inline::Perl5; use DBI:from<Perl5>; my $dbh = DBI.connect('dbi:Pg:database=test'); # etc. The first line happens to be valid Perl 5 syntax as well as valid Perl 6. But the next two are Perl 6 code that calls Perl 5 code behind the scenes. In principle those who write such Perl 6 code don't need to know any Perl 5 whatsoever. (In practice current API docs assume use of Perl 5 so there's that.) The same is true for Python code etc. (though the sugar isn't yet as sweet): use Inline::Python; my $py = Inline::Python.new(); $py.run('print "hello world"'); So Perl 6 is either a superset of Perl 5, Pythons, Java, Lua, etc. or it's not a superset of any of them, just good at working with them, depending on how you look at things.