Nu har jag skrivit åtta artiklar om nyheterna i Java 1.5 och det har blivit dags att sammanfatta det hela. Utan tvekan är den nya versionen den största förändringen av Java någonsin.
Mycket i Java 1.5 är jättebra. Generics, enum, annotations och den nya for-loopen ger oss möjlighet att skriva bättre program genom att det blivit lättare att uttrycka vad man egentligen menar. Det finns naturligtvis detaljer i utformandet av konstruktionerna som skulle kunna vara bättre, men på det hela taget är det mesta bra. Undantag är de mindre lyckade konstruktionerna static import och varargs.
Allt det nya trevliga är dock inte helt problemfritt. På köpet har vi fått betydligt högre komplexitet i språket. Jag har för första gången på länge fått felmeddelanden från kompilatorn som jag haft allvarligt svårt att förstå. Som ett exempel på den högre komplexiteten kan vi ta definitionen av klassen Enum: class Enum<E extends Enum<E>>. Hur många programmerare förstår vad den innebär? Konstruktionen autoboxing är trevlig på så sätt att den spar tangentnedtryckningar och ger oss kortare kod att läsa och förstå, men man måste förstå hur den arbetar under ytan för att kunna använda den. Annars kan den ge upphov till svårhittade fel. Java är nu mycket långt ifrån att vara ett enkelt nybörjarspråk. Livet har blivit trevligare för dem som väl lärt sig Java, men vägen dit är längre. En del av enkelheten som varit en av Javas fördelar jämfört med C++ har försvunnit.