Earlier quoted context omitted.
To be blunt, nothing. The issue is that most people in jvm land are on a closed bubble and haven't seen anything else. This is true for build systems as is for non OO design for example. Most simply don't know better and the rest of us are simply stuck. Ant and then Maven started simple enough but people always find a way to justify adding more stuff. Gradle already started complex enough and they keep adding more st…
To be blunt, if anything it might be you who live in a closed bubble. Builds that require ad-hoc functionality is the default. It’s extremely rare that everything fits nicely into “cargo build” or other single language build tools’ model. And while these often have escape hatches, at that point you have to write imperative code with no caching and parallelization that is literally the job of a build tool.
Mill: A fast JVM build tool for Java and Scala
51–60 of 168 posts
Re: Mill: A fast JVM build tool for Java and Scala
#52Author here! Hope you take a look at the project and find it cool. There's a lot of interesting stuff here. In particular, the Video linked on the landing page is a great intros from a Java developer point of view, and the following video is a great intro from a Build Tool Architect point of view: * https://www.youtube.com/watch?v=UsXgCeU-ovI While Mill is focusing on JVM for now, it is very extensible and I have a s…
Good luck for your project!
Re: Mill: A fast JVM build tool for Java and Scala
#53Re: Mill: A fast JVM build tool for Java and Scala
#54Nice try, I'm still not going to write scala code.
It's a lot easier to build a language that works great, but only in the hands of a single skilled careful owner, than a language that stands up to the abuse of many careless temporary users, and still gets from point A to point B reliably.
Like the difference between a sportscar and a rental company or police fleet sedan.
Scala was a porsche, but most of us need camrys.
Re: Mill: A fast JVM build tool for Java and Scala
#55What tends to be complex about build requirements that necessitates special purpose tools? Golang seems to be doing fine with just go build and go test. What else are people doing with gradle/maven that requires static typing, DAGs, plugins etc.?
In JVM world, the de factor equivalent to `go build` and `go test` are `mvn compile` and `mvn test`, which works 99% percent of the time. Other build tools and plugins just compete/fill in for: * improved build speed / test speed: using background daemon to reduce strtup speed, intelligent caching / task reordering to avoid redoing, etc.. * extra functionalities like code generation, publishing or deployments. As cod…
I guess it's better than the nightmare over in the front-enders' world...
Re: Mill: A fast JVM build tool for Java and Scala
#56Author here! Hope you take a look at the project and find it cool. There's a lot of interesting stuff here. In particular, the Video linked on the landing page is a great intros from a Java developer point of view, and the following video is a great intro from a Build Tool Architect point of view: * https://www.youtube.com/watch?v=UsXgCeU-ovI While Mill is focusing on JVM for now, it is very extensible and I have a s…
Re: Mill: A fast JVM build tool for Java and Scala
#57Has anyone at the senior level recently moved on from Scala to other languages recently? Any issue finding jobs or learning the new role?
Re: Mill: A fast JVM build tool for Java and Scala
#58Sorry to hijack this thread a bit, but I currently work at a Scala shop and have grown to like writing it. I worked at Clojure heavy place previously. This tool looks neat. Has anyone at the senior level recently moved on from Scala to other languages recently? Any issue finding jobs or learning the new role?
Re: Mill: A fast JVM build tool for Java and Scala
#59It's not clear to me how this is better than Gradle. And I hate Gradle. At first glance, Mill looks like it has many of the pitfalls of Gradle: - Plugins: Creates the temptation to rely on plugins for everything, and suddenly you're in plugin dependency hell with no idea how anything actually works. - Build scripts written in a DSL on top of a new language: Now I have to learn Scala and your DSL. I don't want to do e…
Author here! The issue here is that builds, and many other "just configuration" scenarios, are fundamentally complex. So many projects that start off as "just XML" or "just YAML" end up implementing their own half-baked programming language interepreter inside of their XML/YAML/JSON/whatever. Examples: * Github Actions Config Expressions https://docs.github.com/en/actions/writing-workflows/choosin... * CloudFormation…
(Though, debugging complicated Starlark code can still be difficult.)
So why not use Starlark? :)
Re: Mill: A fast JVM build tool for Java and Scala
#60Why not compare it to bazel/pants/buck2 as well? Mill seems to have taken some inspiration from those as well.
Author here. It does! I started working on Mill when I started learning Bazel, during my first months at Databricks. There's a lot of cross-pollination of ideas there, from my 7 years adopting and maintaining the Bazel build at Databricks, but I haven't had time to do a proper head-to-head comparison. Hopefully someone else can though!
I would expect anyone considering migrating away from a "legacy" tool like maven would consider a "modern" tool like Bazel first.