Hlavní navigace

Názor ke zprávičce Vzdálená zranitelnost Log4j ohrožuje Minecraft i jiné Java programy od Filip Jirsák - Supplier je rozhraní z Javy 8, ve starších...

  • Aktualita je stará, nové názory již nelze přidávat.
  • 13. 12. 2021 18:23

    Filip Jirsák

    Supplier je rozhraní z Javy 8, ve starších verzích není – takže když ho bude vyžadovat nějaká metoda jako parametr, na starší Javě takovou metodu nespustíte. Že jsou lambdy jen syntaktický cukr pro anonymní vnitřní třídy ví snad každý. A vzhledem k tomu, že nikdo neměl potřebu používat dříve anonymní vnitřní třídy pro logování, lze se bez nich obejít i dnes.

    Nemusíte se opakovat. Já chápu, co píšete. Akorát vy zřejmě nechápete, že knihovny – a zejména takové, které jsou úplně vespod hierarchie a jsou používány jinými knihovnami – musí ke zpětné kompatibilitě přistupovat jinak.

    Apache Commons není žádná knihovna, je to skupina různých knihoven, které se vydávají nezávisle na sobě a mnohé zamrzly v době Javy 1.4. JUnit vydal zcela novou generaci, která má jako minimum Javu 8. Vedle toho je ale stále udržována verze JUnit 4, která se pořád dost používá, a ta drží kompatibilitu s Javou 5. Spring držel kompatibilitu s Javou 6 ve verzi 4.3 do konce roku 2020. Micronaut nikdy nic staršího než Java 8 nepodporoval.

    Ale myslím, že nemá smysl se dál dohadovat, vy nepřesvědčíte mne, já nepřesvědčím vás. Myslím, že po uplynulém víkendu si spousta lidí rozmyslí, jestli chtějí používat logovací framework, který má co nejvíc cool fíčur, nebo jestli chtějí raději takový, který jenom loguje a nesnaží se dělat nic jiného.

    Možná příště zkuste uvést příklady, která nepotvrzují má tvrzení, ale ta vaše.