Java makes me cringe. But my understanding is Java programmers use IDE's with autocomplete. They don't do much typing.
As for your pipe comment, are you a whiz with passing file descriptors? What do you think about chaining programs together in this way? Would that solve your pipe needs?
Maybe you could accomplish what you want using lex? The general paradigm is pattern-action, just like awk. Lots of flexibility in what you can create. You could create your own interpreter.
I like writing simple filters. I guess I have succombed to the UNIX voodoo. I think of everything as a stream of text.
I'd be interested to take a crack at your "capture group" problem, if you can give me an example of what it looks like.