Sono curioso di sapere cosa pensi dell'api di C # / .NET, btw, per quanto ne so è on-par se non migliore di Java. (Senza pregiudizi, io sono un ragazzo Java io stesso)
Per quanto riguarda la tua domanda, ho alcune teorie. Le librerie C ++ sono costruite con la vecchia libreria C e l'STL in aggiunta. Quando, era una delle prime librerie standard e uno dei primi linguaggi di programmazione orientati agli oggetti (preceduto da Smalltalk e probabilmente pochi altri - non ho molta familiarità con la cronologia delle lingue di OO). Ciò significa non troppe esperienze ancora, tra le altre cose.
Ciò che rende le API / librerie / documentazione di Java (e .NET) migliori sono due cose:
- L'esperienza
- Supporto aziendale
Esperienza in quanto erano in grado di iniziare con una lavagna pulita al momento: non era richiesta alcuna retrocompatibilità con le librerie esistenti, in modo che potessero creare una libreria standard basata sulle migliori idee del passato, e poi alcune. Naturalmente, la qualità effettiva delle librerie API / standard si è deteriorata, principalmente a causa del mantenimento della compatibilità con le versioni precedenti (ad esempio le vecchie classi Collection come Vector e Hashtable, che sono state sostituite da List e Map ma sono ancora nell'API per motivi di compatibilità con le versioni precedenti.
Il supporto aziendale è molto importante qui, poiché ciò significava che c'era un gruppo di persone che poteva trascorrere l'intera giornata lavorativa scrivendo la biblioteca e la documentazione. Questo è contrario alle lingue / alle biblioteche senza supporto aziendale, che si basano su volontari e su una comunità.
Sono abbastanza sicuro che sia anche una questione di cultura. Anche Java (e .NET) sono molto "aziendali" - alta sicurezza, compatibilità con le versioni precedenti, ecc. Python e Lisp e così via sono più rivolti alla comunità degli "hacker" (per generalizzare, non posso pensare di una parola migliore). Non si vede molto Java nel mondo * Nix (e nessun .NET vale la pena menzionare, per quello che conta), ma una quantità enorme di Python, Lisp e what-have-you.