It's not much different from any other high level programming language. Just a different set of compromises to accept.
Yes why would anyone choose to make a fool of themselves when they could choose to build instead?
Yes why would anyone choose to make a fool of themselves when they could choose to build instead?