Určitě byste měl znát vše (tím myslím jazykové konstrukce a povědomí o tom, co je ve standardní knihovně), co je ve verzi 8, ta je dnes nejrozšířenější. Pak je dobré mít alespoň ponětí o tom, co se přidalo (nebo u 11 odebralo) do novějších verzí (9 – 11), až na jeden případ jsou to drobnosti. A průběžně sledovat, co se bude přidávat do nových verzí.
Ta výjimka, co není drobnost, je modularita v Javě 9 – určitě je dobré alespoň vědět, co to je. Opravdu porozumět modularitě je užitečné do budoucna – jednak se to bude postupně používat, jednak je dost možné, že se dostanete do nějakého týmu, kde budete jediný, kdo tomu bude opravdu rozumět, a můžete to naučit správně používat ostatní. Na druhou stranu porozumět dobře modularitě nebude snadné, protože je to krok k větší čistotě kódu, čemuž se spousta programátorů bude samozřejmě bránit a budou mít tisíce důvodů, proč zrovna v jejich projektu je nečistý kód správné řešení a předvedou vám velmi nápaditá špatná použití modularity, aby dokázali, že to opravdu nejde používat. Navíc ve spoustě starších projektů opravdu modularitu použít reálně nejde, protože to znamená i architektonické změny – a na tom, že se dříve nepoužila lepší architektura, není nic špatného, protože prostě nebyly k dispozici potřebné nástroje. Tohle se třeba bude týkat všech Springových aplikací… Další problém je, že dneska pro modularitu v Javě chybí nástroje – např. buildovací nástroje, IDE nebo knihovny. Zatím jsou ve stavu, že jim jednoduché použití modularity moc nepřekáží, ale rozhodně se to nedá nazvat podporou. Gradle bude mít něco, čemu by se dalo říkat základní podpora, od verze 5.0 (už je ve fázi RC), IntelliJ Idea pokud narazí na modulový projekt, dá všechno na module-path, což je dobré leda tak na hraní, ale ne pro reálné aplikace, atd. Také k tomu zatím chybí oborové best-practices, a u některých věcí (třeba jednotkové testy) zatím vůbec není jasné, jak se vlastně mají s modularitou dělat správně. Ale přestože jsem teď vyjmenoval spoustu problémů, určitě se vyplatí se tím zabývat, i když to dnes třeba v praxi nevyužijete, protože vás to naučí i lépe uvažovat o architektuře aplikace.