Stockholm Jfokus 2016, del 1/3

Almiray Asciidoc Asciidoctor Azul Canoo ECMAScript 6 Frege Gradle Haskell Isomorphic JDK JET JQuery JVM Java JavaScript Knockout.js Lambda MVC-based Markdown Maven Nashorn Netflix Oracle PMD POJO-centric React Require.js SonarQube TripLingo …

Första anhalt på Jfokus 2016 var en keynote (”inledningspresentation”?) av Brian Goetz (språkarkitekt för Java på Oracle): ”Move deliberately and Don’t break anything”. Webbplatsen IDG nämnde särskilt denna keynote (i rubriken hade de ”Försvarstal…”) aningen kortfattat: http://techworld.idg.se/2.2524/1.649760/oracle-jfokus

Brian Goetz talade om att vid uppstarten av ett projekt så är friheten att välja lösningar för den önskade funktionaliteten som störst. När systemet efterhand börjar växa till sig kodmässigt så beskärs alltmer framtida lösningar. Systemanvändarna kräver dessutom ofta fler funktioner samtidigt som bakåtkompatibiliteten är viktig för dem.

Ibland lämnas t.o.m. buggar kvar i systemen därför att många användare och programvara förväntar sig att de finns… I projekt som startar under stor tidspress så görs ofta misstag som lätt försvårar framtida förbättringar, en s.k. ”Teknisk skuld” (Scrum-begrepp) byggs då upp. Se ex http://jimmyjanlen.com/2010/05/10/teknisk-skuld-ar-mera-an-bara-ful-kod/

De ansvariga i Oracle -teamet för Javas arkitektur lägger stor vikt vid att nya ”finesser” inte ska kunna innebära framtida överraskande sidoeffekter. Arkitekten Brian Goetz tog upp exempel på områden där Javas prestanda fortfarande (inklusive Java 8) lämnar en hel del övrigt att önska.

Oracleteamet siktar därför på att radikalt förenkla och därmed snabba upp hanteringen av vissa datatyper som har överdrivet komplexa konstruktioner. Se ex ”Generic Specialization” för de som vill läsa vidare (kommer tidigast i Java 10): http://www.jesperdj.com/2015/10/12/project-valhalla-generic-specialization/

Java kan i nuläget inte konkurrera prestandamässigt med t.ex. C eller C++ i många realtidsapplikationer som exempelvis ”Big Data”. Wikileaks, f’låt Wikipedia ;-) har en bra förklaring på fenomenet Big Data: https://sv.wikipedia.org/wiki/Big_data.

En bra länk som visar på de problem som Java har med betungande objekthantering finns på http://programmers.stackexchange.com/questions/162546/why-the-overhead-when-allocating-objects-arrays-in-java.

Be First to Comment

Lämna ett svar

E-postadressen publiceras inte. Obligatoriska fält är märkta *