Conversation
There are many things I hate in Gradle, but among the most offending ones is the fact that it has no notation of where things are declared.

Like `Foo` doesn't work, because you forgot adding the `Bar` plugin, but there is no indication `Foo` being defined by `Bar`, and obviously the error message won't give you any clues either.

gcc (which isn't exactly the champion of helpful error messages) at least tries to give you hints that you'd need `stdio` for `printf()`.

#programming #java #gradle
2
2
3

@buherator Maybe I just got you wrong, but how would it know you mean the Foo of the Bar plugin if the Bar plugin is not there so the information about Foo is also missing?

1
0
0
@Aron Good point! What I would expect is some form of namespacing that would force you to be explicit about where your identifiers are defined. E.g. in Python you would either write `Bar.Foo` or at least do a `from Foo import *` somewhere. This would be especially important, because Gradle examples consistently fail to give proper context (e.g. what plugins are in use).

I they would take the extra mile, they could build in some knowledge about the most common errors (like gcc).
0
0
0

Sven Slootweg 🔜 eth0 ("still kinky and horny anyway")

@buherator There's a surprising amount of programming languages that have the exact same problem, and as a result it's misery to try and understand code written in them...

0
0
1