S kolegy se zabývám rozdíly mezi binární kompatibilitiou a kompatibilitou zdrojových kódů v Javě. Tedy mezi tím co je zkompilovatelné, ale způsobí chybu za běhu a naopak. Předpokládáme, že tyto rozdíly nejsou mezi programátory příliš známé, což je problém při tvorbě zpětně kompatibilních aktualizacích knihoven.
Vytvořili jsme s kolegy dva testy, v případě nedostatku času se dá vyplnit kratší verze testu, pro získání co nejvíce informací je lepší vyplnit delší verzi
kratší verze
https://www.surveymonkey.com/s/LibEvolutionPuzzlersSE
delší verze
https://www.surveymonkey.com/s/LibEvolutionPuzzlers
Test je koncipován tak, že je vždy předložen kód klientského programu, aktuální knihovna a nová verze knihovny. Testovaná osoba odpovídá zda je aktualizace možná bez překompilování, je nutná rekompilace a případně zda se změni chování programu.
Všem kdo se o rozdílnost interpretace Java compileru a virtual machine zajímají, kdo si chce oveřit znalosti, nebo se naučit něco nového doporučuji test vyplnit.