Serious question: Is “Directed Acyclical Graph” really an unknown term for people? The author harped on it pretty hard, but what it is…is pretty apparent, no? I mean, I’ve encountered the term often, but I don’t think I had any need to look it up…
I'm a computer engineer with more than a decade of development experience with embedded systems... I use C/C++/python everyday and "Directed Acyclical Graph" is never mentioned by name, no one in my experience says make me a DAG. Hell, I had to look it up when I read your comment and went "oh that's what those are called". I use em to show relationships between states or to descide a system that is best diagramed using a DAG. Do I or anyone I've talked to in my career call them DAG.. lol no.
Agreed. Why would a person need to look it up when the name literally describes it. Directed? Means connections are in a single direction. Acyclic? A-cyclic = non-cyclical, doesn't have cycles. Graph is... well a graph.
Which part does the author think an average programmer should struggle with?
It's very well-known and common knowledge. It's certainly something that I will talk about without feeling the need to define terms or something. I would assume anyone unfamiliar with it either didn't pay attention in school or never went to school to begin with.
Gradle is absolute rubbish, definitely the worst experience I've had with a build system. But Maven is also rubbish.
IMO a CLI should be the primary way of interacting with the build system (see e.g. Go, Rust, JS with NPM or Yarn, Python with Poetry) and manually editing the build file should be reserved for edge cases and extensions.
As someone who wants to use Kotlin or Scala, is there another way to get around these two? Coming from .NET or NPM I found both of these to be terrible.