News for hackers. Stuff that matters.
Re:Comparing Rust and Java by truncate on Sunday February 28, 2016 @07:52PM (#11193142)
Speaking of tooling, correct me if I'm wrong but one thing I miss when working on Java (I've not worked much on Java) is intuitive and build/package manager. Java build tools seems to be painful to use outside IDE. Cargo on other hand, I can get started working in minute.
Re:Comparing Rust and Java by chamakits on Sunday February 28, 2016 @07:58PM (#11193156)
I have found the opposite to be true in my experience. IDE's have some level of trouble with most popular Java build tools (Maven and Gradle), while they are quite capable command line tools, and they themselves know how to work well with the IDE's (They each have plugins to create the 'meta' files for the most popular IDE's)

What issues have you had with which build tool when using it outside the IDE?

Re:Comparing Rust and Java by EdwardDiego on Sunday February 28, 2016 @11:11PM (#11193528)
IDEA's Maven and Gradle support is pretty good. I haven't had to use any Maven plugins to generate project files for an IDE since IDEA 7. But yeah, mvn and gradle are the definitive, the IDE support is a nice to have.
Re:Comparing Rust and Java by mavelikara on Sunday February 28, 2016 @11:22PM (#11193564)
IDEA's native Gradle support is excellent. I haven't had to use Gradle's IntelliJ plugin (the Gradle bit that generates the IDE files) for at least two years now. All I have to do is (on Mac OS X):

    open -a /Applications/IntelliJ\ IDEA\ 15\ CE.app build.gradle
At work, we have a Gradle project with 346 submodules. We have about 200 engineers working on the codebase. Gradle/IDEA combination works well beautifully.

There are a few rough edges, especially when one uses custom source sets. IDEA 16 is going to get better support for that [1].

[1]: http://blog.jetbrains.com/idea/2015/12/intellij-idea-16-eap-...

Re:Comparing Rust and Java by reitanqild on Sunday February 28, 2016 @11:33PM (#11193595)
> IDE's have some level of trouble with most popular Java build tools (Maven and Gradle)

Can't speak for gradle but Netbeans has worked excellent with Maven for years.

Idea seems to work nicely as well (I haven't used it much for the last few years but my coworker across the table seems to like it with Maven as well.)

As for eclipse I haven't used it regularly since 2012 so I don't know.

Re:Comparing Rust and Java by sk5t on Sunday February 28, 2016 @10:11PM (#11193415)
Same here. Maven works great from the CLI, and Eclipse works great as a dumb-ish consumer of the dependencies and Maven reactor stuff in which to write code. But I don't use Eclipse for real build / test / package tasks, nor is the IDE a very nice place in which to configure the project skeleton.
Re:Comparing Rust and Java by firebones on Sunday February 28, 2016 @08:04PM (#11193168)
Package management with Cargo is one reason that the Rust ecosystem will evolve very rapidly. It reduces a lot of friction and makes it easy to test out new libraries and approaches. This will pay off in the long run as the community starts to fill in the gaps.

Another underrated part of the Rust ecosystem is their RFC process, the multiple development streams and the six week dot-release iterations.

Re:Comparing Rust and Java by lmm on Monday February 29, 2016 @04:31AM (#11194444)
Maven is the best build tool I've used, with any language. You have to really embrace its declarative, convention-over-configuration style, but once you do it's wonderful: just declare the projectId, groupId and version, and any dependencies, and there, you're done.
Re:Comparing Rust and Java by sunnyshahmca on Monday February 29, 2016 @04:36AM (#11194462)
I think, SBT is better than Maven. It allows interactive development.
Re:Comparing Rust and Java by lmm on Monday February 29, 2016 @04:44AM (#11194485)
Maven allows interactive development too when using the IDE integration. An IDE is in a better position to have that kind of information and integrate it well (e.g. an IDE can run tests on save without having to watch the filesystem for changes).

SBT is not adequately documented, relies too much on symbol-heavy syntax, and allows arbitrary code in build definitions.

Re:Comparing Rust and Java by koide on Tuesday March 01, 2016 @08:00AM (#11202269)
Symbol heavy syntax as opposed to symbol free xml? Could you elaborate?
Re:Comparing Rust and Java by lmm on Tuesday March 01, 2016 @06:38PM (#11207059)
XML uses three symbols: <, >, and /. And it's a well-known, documented standard. Looking at the last project I depended on, its build.sbt uses :=, %, %%, /, <+=, <<= (in addition to standard Scala symbols like +=, ++=, ++, =>, <=, >=, which an inexperienced developer wouldn't necessarily realise weren't part of SBT's own syntax). That's not an exhaustive list (I've used :+= and :++= as examples in another thread) and I have no idea where to find one. Heck, I've been a professional Scala developer for 5 years and I have literally no idea what <+= or <<= mean.
Re:Comparing Rust and Java by llogiq on Wednesday March 02, 2016 @05:42AM (#11209146)
You forgot &entities;

And there is an oft-documented overuse of custom operators among Scala programmers, however I don't have sufficient expertise to gauge the resulting problems in practice.

Re:Comparing Rust and Java by lmm on Wednesday March 02, 2016 @11:01AM (#11210728)
> You forgot &entities;

I did; in fairness I don't think I've ever seen one in a maven pom.xml

Re:Comparing Rust and Java by hauleth on Monday February 29, 2016 @06:42AM (#11194888)
You should try Cargo
Re:Comparing Rust and Java by moonchrome on Sunday February 28, 2016 @09:45PM (#11193364)
Gradle is the best general purpose build system I've seen, a bit of initial overhead but as soon as you need something more than basics you're very glad it's done the way it is. Not without flaws but better than other "API" build systems I've used (WAF, CMake)
Re:Comparing Rust and Java by pjmlp on Monday February 29, 2016 @01:50AM (#11193971)
Assuming you have a quad-core and enough GB to spare.

I am yet to see Gradle perform as fast as Ant and Maven without fine-tuning and background daemons tricks .

Re:Comparing Rust and Java by avita1 on Monday February 29, 2016 @11:33AM (#11196391)
What are these fine-tuning and background daemon tricks? I have yet to see gradle run as fast as ant period.
Re:Comparing Rust and Java by pjmlp on Monday February 29, 2016 @11:44AM (#11196471)
What Gradle advocates present on their sessions about leaving a running daemon, configuring the JVM memory, changing the way the build is done and so on....

Still, the end result is as you say.

Re:Comparing Rust and Java by krotton on Sunday February 28, 2016 @10:23PM (#11193436)
I like Gradle too, although I very much recommend having a look at QBS (Qt Build Suite, although unlike Qmake it's not really bound to Qt and can be used for general build scripting). I've used it about a year ago and was really amazed to see what was probably the first sane build tool I've used for years. Of course Gradle is rooted in (yet not limited to) the JVM ecosystem and QBS started as a C++ build tool, so they are not really equivalent, but comparing the ease of use, predictability and the overall impression, QBS beats Gradle by a full grade in my opinion.
Re:Comparing Rust and Java by vorg on Monday February 29, 2016 @06:59PM (#11199767)
You do know Gradle uses Groovy as the syntax for its build files, right? The people behind Groovy had a problem a year ago where they were retrenched from their jobs working on Groovy, and haven't found any businesses since then who'll pay them to continue improving Groovy. Gradle doesn't mention Groovy much on its gradle.org website, perhaps out of embarrassment.
Re:Comparing Rust and Java by guelo on Monday February 29, 2016 @01:16AM (#11193892)
No matter what all the other commenters are saying here maven and gradle are awful. Cargo is much more pleasant to use.
Re:Comparing Rust and Java by dikaiosune on Monday February 29, 2016 @02:45AM (#11194134)
In my opinion cargo > maven/Gradle > most other build/dependency systems I've used, including setuptools, cmake, and others.
Re:Comparing Rust and Java by _asummers on Monday February 29, 2016 @09:17AM (#11195543)
I didn't have terribly many issues with Gradle and consider it pretty good. What about it do you consider awful and how does Cargo solve those issues? What features does Gradle lack that stick out to you in Cargo?