For "easy":
* Difficult: This is a general opposite of easy.
* Hard: Similar to "difficult", but often implies more physical effort.
* Challenging: Implies a mental or emotional test.
* Strenuous: Means requiring great effort.
* Intricate: Means complex and detailed.
For "soft":
* Hard: This is the direct opposite of soft in terms of texture.
* Rough: Implies a surface that is uneven and uncomfortable.
* Firm: Indicates a solid and stable quality.
* Stiff: Means lacking flexibility.
* Unyielding: Indicates something that won't give way to pressure.
Combining "easy" and "soft":
* Tough: This combines the difficulty of "hard" with the firmness of "unyielding."
* Rigorous: Implies strictness and demandingness.
* Unforgiving: Means lacking compassion or leniency.
To choose the best word, consider the specific situation and the nuances you want to convey.