I fully integrated raku’s built-in build system with gentoo linux with less than 80 lines of code. In gentoo linux packages for raku modules, I just need to specify other raku modules as dependencies.
Raku has only one built-in build system which presents a concise way to build and package modules and build C shared libraries which are included in raku modules. The built-in build system is install-dist.raku which itself is just one small script. Raku has only one built-in module system which is used by install-dist.raku and zef. Zef is a development build system like JVM maven and haskell stack. install-dist.raku is used to integrate with operating systems.
JVM has multiple convoluted module/build systems including OSGi, ant, maven, …
Ant creator apologized to people for creating a convoluted build system.
JVM doesn’t have any good built-in module/build system, and external module/build systems failed to properly compensate for inadequecy of JVM’s internal ones.
For java packages, gentoo linux had to write its own JVM build system in shell script. The build system is about 4870 lines. Gentoo linux packages for java modules have fragile complexity because JVM wasn’t designed to integrate with operating systems.
From my direct experiences, raku module system is simpler and more advanced than JVM ones.
The lesson is that if a language doesn’t have good built-in module/build systems, external module/build systems can’t compensate.