The fact that you don't know how to make your tools easy to use doesn't justify making them complex nightmares.
UNIX (and open source software in general, with a few notable exceptions) is difficult because it's built by thousands of hackers with no user experience goals in sight. The goal is solving a problem for that particular person, as fast as possible. It's rarely getting more people to use the product.
> The goal is solving a problem for that particular person, as fast as possible. It's rarely getting more people to use the product.
I would say that the incredible versatility of the majority of stock UNIX tools and the philosophy that encourages combining them is evidence against this. Trying to predict every use case is a waste of time so make it simple and pipe. The alternative is software that is restrictive for some subset of users, no matter how elaborate it is.
UNIX (and open source software in general, with a few notable exceptions) is difficult because it's built by thousands of hackers with no user experience goals in sight. The goal is solving a problem for that particular person, as fast as possible. It's rarely getting more people to use the product.