Hacker News new | ask | show | jobs
by jrbran 5595 days ago
This is really, Scala (and any of those extra JVM languages) considered a harmful addition for large java projects which makes a lot a sense. It surprises me a bit that it needs to be said, and said in such fashion.
1 comments

The obvious comeback being large Java projects considered harmful.
Obvious but not worthwhile, as the issue isn't Java, it's multiple languages on a project.
But I think this argument with respect to Java is flawed anyway, or was for a long time. EJB 3 and JPA is enormously much better, but back in the bad old days of J2EE you had these 'no go areas' anyway. You kind of slapped a couple of interfaces down, and then hoped that the magic code generator of the App Server would do the right thing (if configured properly).

How is that any different from having a "if you don't know what you're doing, don't mess with these bits" area for the Scala stuff to sit in?

J2EE isn't the only example of this. Plenty of frameworks had their 'here be dragons' sections, the fiddling with which was considered a dark art.

I'm no fan of the language myself, but you're going overboard to try to dig a reason to trash Java out of this.
??? I'm not trashing Java. Did you read the article? I was making an analogy between the risk of having a language like Scala, which would mean there was stuff the Java-only people would not understand (which is what the article claims), with the black box auto-generated code produced by early J2EE (which is similarly a no-fly zone).

Believe me, you'll know when I'm trashing Java, because I'll use the g word.

"...with the black box auto-generated code produced by early J2EE"

If this comparison were analogous, your point would make no sense, since it would boil down to in the bad old days, we got stuck with code we couldn't understand and lived with it, so now, code we can't understand isn't a problem.

And it's not analogous. We're not talking about black-box generated code nobody on the project understands, but instead people on the project making code that other people on the project don't understand. To harp on the one detail of incomprehensible code ignores huge differences in those situations. So, it's gratuitous to evoke that.

Well more to the point, single large monolithic projects are best avoided in general. The only reason Java is brought into it is that codebases in Java tend to get pretty big before they do anything useful.