3 ms·
People make the same criticisms about Scala, but many people use Scala in production. My point is that we're talking about opinion here, not fact.
by muraiki 11y ago
People make the same criticisms about Scala, but many people use Scala in production. My point is that we're talking about opinion here, not fact.
- Elrac 11y agoI 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.
- CuriouslyC 11y agoIt is worth noting that like C++, Scala use in production tends to come with guidelines in terms of what subset of the language people should use.
- jerf 11y agoScala has additional considerations going for it with its integration into the JVM ecosystem. That said, may I observe that the hype seems to have died down for Scala. Everyone I personally know who was into it has dropped it. None of them would have shipped anything into production. Anecdotal, sure, but that's all we ever really have. My guess is that its own complexity is indeed strangling it. Only time will tell, but I'm not sure Scala is really that great an argument. And, also, for consistency, yes, absolutely, I wouldn't want to suddenly be handed a Scala system to professionally maintain either.