Yeah, I agree with this sentiment. The boilerplate was oddly helpful when I was starting out.
The answer is: infinitely much. You could have to write each character in strings as separate characters for example. It would be absolute utter madness but it "would make sense later".
As we become more and more acquainted with programming, a lot of what we do why we do it is incoherent nonsense to a beginner, but important nonetheless.
The limit is actually your time and effort. But nobody likes to write optimal assembly by hand, the balance has to be struck somewhere.
You can't really escape String[], which imo is fine. It's better than argv/argc in C at least.