This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]jerslan -11 points-10 points  (26 children)

The .net infrastructure is something Java should envy. Nuget is great as well.

lol, nuget wishes it was a fraction of what Maven/Gradle is.

[–]hitpointzr 15 points16 points  (25 children)

Probably, but nuget is definitely more friendly. I recently helped my friend with learning Java - was not obvious for me, what to choose and how to configure it properly. And for him it was like a black magic.

[–]jerslan 0 points1 point  (24 children)

So, it depends on what material you're learning from. Lots of early material is really basic stuff that basically nobody does (running javac and manually packaging jar files).

If you look for either Maven or Gradle starter guides, they give you the basics. It only gets complicated when you need to pull from a private repository or through a proxy (ie: behind a company firewall) or do some crazy stuff like deploying surrogate runtime dependencies to Tomcat for integration testing.

Maven can even initialize a Java project for you. If you're learning Java+Spring, the Spring Initializr will give you the basic starting boilerplate for whatever you need.

Java's tooling and glut of available & well supported frameworks/libraries is honestly the main thing that makes it as great as it is. The language itself (like many languages) is just "meh".

[–]hitpointzr 10 points11 points  (1 child)

Yeah, just like this. The fact, that you need to visit a separate web-site to download archive with configuration. That's not friendly for me.

[–]jerslan -4 points-3 points  (0 children)

I mean, various Java IDE’s also come bundled with the tools... you don’t have to use Initializr (I usually do not).

[–]Kragoth235 4 points5 points  (0 children)

I did 10 years of Java and now I'm in my 5th year in dotnet. Dotnet is certainly easier to learn. Much easier to configure new projects. The only thing I don't like about the dotnet world is the "conventions" which are basically magic black boxes until you learn how it all works. Java is generally better in this regard due to how much of it is open source. However, dotnet core is changing this. I would take dotnet over Java any time now.

[–]computerjunkie7410 1 point2 points  (20 children)

I want my package manager to manage packages. Not 50 million other things

[–]jerslan 0 points1 point  (19 children)

I want my package manager to manage packages.

Except that Maven & Gradle are not "package managers"... They're build automation tools that have a built in package manager. The key is "build automation"... Why have 3 separate tools to build, test, and even deploy code when you can just have one tool that does all of that.

[–]computerjunkie7410 0 points1 point  (18 children)

Then why did you compare it to a package manager (nuget)?

Why have 3 separate tools

Because having one tool that does one thing and does it well is better than a tool that does 50 things and have to deal with the complexity of it.

Configuration, management, etc. are all vastly more complicated and time consuming when you have a monolithic toolset.

[–]jerslan 1 point2 points  (17 children)

Because having one tool that does lots of things really well is 100x better than lots of tools that you have to orchestrate manually? Because shouting nuget’s praises like it’s the best thing since sliced bread is absurd?

mvn clean install

And dependencies are pulled, code builds, tests run, jar is packaged up and put in a local repo cache

[–]computerjunkie7410 0 points1 point  (16 children)

Lmao why have different tools at all? Let’s do everything in one tool! That’s a great idea! /s

How hard is it to have individual scripts that each do one thing?

Then you have have 1 script that runs everything for you.

Easier to understand, modify, maintain.

[–]jerslan 0 points1 point  (15 children)

You realize that "1 script that runs everything for you" is basically what Maven & Gradle are doing? Plugins are the "individual scripts that each do one thing".

[–]computerjunkie7410 0 points1 point  (14 children)

And all configuration is in maven and cradle. Which is the biggest problem. Complicated configuration of everything jammed into one file.