4 ms·
A lot of this applies to other JVM languages, like Scala. Although I think Scala does some of this stuff better, there are still a lot of pain points for the n
by mjw 16y ago
A lot of this applies to other JVM languages, like Scala.
Although I think Scala does some of this stuff better, there are still a lot of pain points for the newbie when it comes to different build systems, java toolchain, classpath, library dependencies, binary compatibility issues etc.
On the one hand it's great that tonnes of toolchain options already exist for Java which can be used with these languages. On the other hand, when coming from (say) the Ruby or Python world you just want and expect there to be one main widely-used/well-documented way to do basic things within a language's ecosystem, like installing libraries and so forth.
Rather than first having to figure out how the java world works, then make some arbitrary-seeming choices of java tools without much guidance, and then figure out how to work with the new JVM language on top of those.
It's about making sure this new crop of JVM languages feel like first-class citizens, rather than just add-ons for a java ecosystem which you're implicitly expected to know a lot about.
- frio 16y agoAs someone moving into Scala, with previous work experience mainly in Python and a University grounding in Java (which only briefly touched on Ant, Maven etc.)., I could not agree more. Getting Scala up and running cleanly and figuring out how to properly lay out and start a new project has been somewhat nightmarish, especially on Windows. That said, however, when I moved from Maven to sbt, everything became a lot easier.
- mjw 16y agoYep, sbt is nice. Hopefully it'll get official blessing at some point. sbaz (their package management / repository system) was a bit of a disappointment, though, in that people aren't really using it (the last time I checked anyway). And you end up having to learn maven anyway (or at least maven repositories?) in order to depend on other java or scala libraries that use it.
- technomancy 16y ago> And you end up having to learn maven anyway (or at least maven repositories?) Minor nitpick, but there is a big difference between learning Maven vs learning how to use maven repositories.