pondělí 28. května 2012

Pět a jeden absurdní důvod proč nemáme v JDK podporu JSON

Pokaždé když pracuji v Jave s JSON mám pocit, že jsme stopadesát let za opicemi. Většinou sice používám skvělou knihovnu Jackson (pozor nejedná se o pohrobka ikony pop music Michaela Jacksona), ale i její použití je jako jíti s kanonem na vrabce. Mám úplně jednoduchou strukturu {"l":"0","u":"1","v":1338207547}, kterou bych rád deserializoval do mapy. Opravdu nerozumím tomu proč už v standardním JDK Javy neexistuje stupidní jednoduché API, které mi to umožní. Napadá mě několik vysvětlení.
  • Někoho rajcuje představa 100MB WARu k jehož dosáhnutí není potřeba vytvářet složitou aplikaci, ale vývojář si vystačí s pár základními problémy.
  • Tvůrci Apache Jakarta Commons nevědí co dělají. Nicméně to nebrání většině aplikací používat právě jejich knihovny.
  • JCP proces pro rozšiřování Javy je úplně k ničemu, neboť přidávání nových a potřebných API nefunguje. Mimochodem jak dlouho už čekáme na nové API pro práci s datumy? 
  • Nevylučuji ani možnost, že moje požadavky na něco čemu se říká JDK, tedy standardní vývojový kit,  jsou značně přemrštěné a všichni si posledních deset let vystačíme přibližně s jedněmi a těmi samými prostředky.
  • Práce na JSON je pro mě z nepochopitelných důvodů vázaná na Java EE. Touto logikou by ovšem v JDK nemohl skončit například HTTP server a nebo JAXB. O nesmyslech typu embedované databáze ani nemluvě.
  • JSON je technologie, o které nikdo v Oracle neslyšel. Případně si jí spojuje s konkurencí v podobě JavaScriptu.
Opravdu tomu nerozumím. Přidání nových API a rozšíření JDK je totiž oproti změnám syntaxe jazyka věcí zpětně kompatibilní. Můžeme se zde točit na faktu, že i nafouknuté JDK by bylo problém, ale z toho důvodu přece voláme po jeho modularitě.  Vlastně je to takový deadlock a teď se pomalu čeká na to kde to vyhnije.

Tam kde je možné Javu inovovat za cenu menšího rizika se to neděje. Namísto toho se její autoři pouští to riskantních podniků změny syntaxe.