Dobře, jestli pod “obtížný” rozumíme “neuvěřitelný bordel”, pak ano. Haskell je naopak velmi elegantní a uspořádaný, akorát ho běžný vývojář moc nepobírá. Možná je problémem právě absence bordelu a stupidit, jako v C++ a Javě?
IMHO zásadní problém je v tom, že C++ i Java jsou imperativní jazyky. Je možné pozorovat vývojáře, kteří prostě "vyřeší problém" místo toho, aby ho popsali. Udělají ciklus, nějaké ty podmínky, prostě dosáhnou výsledku. Jednou jsem viděl krásnou anketu, kde se dotyčný ptal, zda při návrhu nějaké systému používají papír nebo rovnou programují.
Haskell a spol jsou více na to dobře si promyslet co chceš. Protože zapsat to pak je na pár řádek. A možná požadavek na větší teoretický rozhled. V Javě ani v C++ nepotřebuješ prakticky nic znát.