Velmi podobné principy (i když trochu volnější) má i např. Python a spousta programátorů je dodržuje i pokud to není nucené jazykem (např. Qt a na něm postavené KDE, Gtk+ a GNOME a tak dále a tak dále). Java v tomhle rozhodně není sama, i když je trochu extrémní. Navíc takové řešení velmi usnadňuje hledání problému: pokud potřebujete najít definici nějaké třídy, ať už kvůli dokumentaci (slušný programátor napíše u definice Doxygen nebo podobnou dokumentaci) nebo importu (includování), víte přesně, kde se nachází a nemusíte mít kvůli tomu spuštěné žádné IDE nebo spouštět hledání.
Fakt? Kde?
Pokud máte na mysli, že chyba v jedné sdílené knihovně ohrozí všechny aplikace, tak naopak statická knihovna sice ohrožuje jen tu aplikaci, která ji používá, ale na druhou stranu má mnohem menší šanci, že bude opravena. A v reálném světě se už mnohokrát prokázalo, že první riziko je daleko nižší než riziko druhé; ve světě OSS je to dokonce několikanásobně více, než u Windows.
Pokud máte na mysli, že sdílené knihovny poskytují bezpečnostní problémy kvůli preloudu a podobným vymoženostem, tak to je falešné riziko. Žádná taková díra nelze použít, pokud se nepoužila jiná díra, která ale musí být tak velká, že je už potom zbytečné takhle obcházet nějaké knihovny.