this post was submitted on 06 Feb 2025
22 points (86.7% liked)

Programming

18164 readers
306 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 2 years ago
MODERATORS
 

I know little about gradle and have only just started exploring it, so this is just a question out of curiosity.

It's supposedly a language agnostic dependency manager and builder, yet it seems to have only found its niche in Java. C/C++ projects could definitely do with dependency resolution...

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 41 points 6 days ago* (last edited 6 days ago) (3 children)

Here are a couple of reasons:

  • C and C++ projects often predate Gradle by decades they will not change their build system without a compelling reason.
  • Gradle is written in Java and requires a Java Runtime.
  • At least for C++, CMake has pretty much become the standard build tool.
  • Dependency resolution on Linux was 'solved' by relying on the distribution. Today, there also exist package managers for C and C++ like vcpkg or conan and they also integrate with CMake.
[–] [email protected] 13 points 6 days ago

Cmake tends to be the upgrade path for sure, gradle is... hideous, i have having to use it for android.

[–] [email protected] 1 points 6 days ago (3 children)

Are vcpkg and conan widespread in your experience? Mine has still been majorly "works on my machine with unnamed debian version and unrestricted library version", which still breaks like 90% of the time.

Anti Commercial-AI license

[–] corsicanguppy 1 points 5 days ago

What you do is you put "compatible with Debian 2024 and Ubuntu 202502 and rocky8 over its entire lifetime" because you tested it and you don't rinkydink with bizarre custom shit because it makes a really frail platform that causes everyone headaches.

This "you have to use this library from this particular week's release" is very CPAN; and not in a good way.

[–] [email protected] 4 points 6 days ago

I know a bunch of larger C++ apps that use vcpkg for cross-platform (Windows/macOS/Linux) builds of their dependencies and it seems to work pretty well

[–] [email protected] 2 points 6 days ago

I worked on a couple commercial C++ applications that used vcpkg. It's not as convenient as nuget, cargo or npm but it think it is a massive improvement over manually hunting for dependencies.