i finally figured out one of the main surface reasons i find bazel to be a tad frustrating. i mean, there's never going to be an ideal build system, we have to all acknowledge that, but that doesn't mean we should stop striving for improvements.
sort of like scala's ux fail of having "val" vs. "var" or how most languages fail of "get" vs. "set" - although at least there the single-character-difference is at the start rather than at the end of the string - i find that bazel using starlark is annoying because it puts the type of the thing (e.g. cc_library) before the name of the thing. yet, the names are what we use as dependencies. by pushing the name down a level i find the readability and usability kind of take a real, avoidable, hit. it feels too much like the machine's needs winning out over the humans' needs.