Man lever så länge man lär

Inlägg taggade ‘Java SE’

Att kunna är icke att få eller göra

Om det verkar för bra för att vara sant så är det förmodligen det också.

Det må vara att vi numera använder WLS 12 och JDK 8 i projektets miljöer, men det är ändå inte fritt fram att använda det nya som nu erbjuds. Vi ska ännu en tid skriva koden enligt Java 6 – förstå hur gammalt det är! Förhoppningsvis släpper man dock handbromsen någon gång framåt, eller strax efter, jul.

Jobbmässigt gäller annars påfallande ofta principen om ett steg fram och två tillbaka. Så snart det mot alla odds anas en strimma ljus vid horisonten, och man hunnit börja hoppas igen, får man ånyo en slemmig torsk rätt i nyllet.

Jag funderar en del över vad jag ska ta mig för framöver och känner på några trådar, men inget är bestämt och jag vet inte ens själv vad det är jag vill. Men det går säkert att ta reda på – som alltid är det viktigaste att ta ett nästa steg.

Och under tiden är det bara att bita ihop och köra på och göra det bästa av det som är. I morgon ska jag jobba hemifrån i förhoppning om att kunna fokusera ordentligt och få min aktuella uppgift effektivt utförd – jag behöver göra mig av med den och det finns inget bättre sätt att uppnå det än att göra jobbet. Vissa saker är jobbigare än andra, men om man inte börjar blir man heller inte klar.

Problemet med just den här uppgiften är dels att den är ganska omfattande och kräver en hel del koncentration, vilket är varför det känns så jobbigt att börja. Och så det faktum att det är i samma härad som jag varit i förut (och blev trött av då också) så det är lite känslan av ”been there, done that”. Fast egentligen har jag bara varit någonstans i närheten, så det här gör det jobbigt också för att jag behöver sätta mig in i ännu en tämligen okänd och komplex funktionalitet. Idag lusläste jag specifikationer och identifierade diskrepanser dem emellan, vilket resulterade i en lista om nästan 25 punkter skickad till upphovsmännen. I morgon påbörjar jag implementation och hoppas på respons innan den är klar.

Jobbigt blir det, som sagt, men jag vet ju att när jag väl är igång handlar det nästan bara om att vara systematisk och tålmodig. Och noggrann. Jobbar jag testdrivet slipper jag dessutom hålla alla detaljer i huvudet utan kan förlita mig på mina tester – allt jag då behöver tänka på samtidigt är den mindre mängd funktionalitet som bor i just den del eller det lager jag för tillfället jobbar med. Precis så som jag läst om i artiklar om hur en liten hjärna kan hantera stora modeller. Utifrån en viss abstraktionsnivå zooma in och zooma ut efter behov. Visualisering och rationalisering. Fokus på det centrala, ignorera det som stör.

Jag kan tänka länge på hur jag ska göra, för det innebär att jag slipper börja.

Annonser

Socialstyrelsen rekommenderar: Java SE 6 → 8

Äntligen!

Från och med nästa vecka kommer jag att i tjänsten att kunna utveckla i/med/för en nyare version av Java, tack vare uppgradering av applikationsservern till en version med stöd för Java SE 8 (och Java EE 7). Det vill säga, vi kommer att göra en tidsresa från 2006 till 2014 om man tittar enbart på Java SE-versionen. Sedan i september finns ju även Java SE 9 att tillgå, men WLS-stödet saknas.

Så vad innebär det här för oss? Ja, WebLogic Server går från 11gR1 (10.3) till 12cR2 (12.2), vilket i sin tur medför att Java SE 6 → 8 och Java EE 5 → 7.

I min värld innebär själva WLS-uppgraderingen ingen större påverkan för mig – eller rättare sagt: jag vet inte vad den innebär. Uppgraderingen av Java SE, däremot, gör det lättare för oss att skriva bra kod. Programmera funktionellt!

Förändringarna i själva programmeringsspråket för både Java SE 7 och 8 listas på What’s New in JDK 8, men de jag främst ser fram emot är följande:

Java SE 7

  • Binary Literals
  • Strings in switch Statements
  • The try-with-resources Statement
  • Catching Multiple Exception Types
  • Underscores in Numeric Literals
  • Type Inference for Generic Instance Creation

Java SE 8

  • Lambda Expressions
  • Method references
  • Default methods
  • Collections: Stream API

Vad Java EE från 5 till 7 innebär är jag lite osäker på, men Wikipedia anger: ”Java EE 7 added Java API for WebSocket, Java API for JSON Processing”.

Jag ser verkligen fram emot att börja använda det nya som nu blir tillgängligt. Delvis för att jag tror att innebär att vi kan skriva säkrare och mer lättläst kod, och delvis för att det är roligt med nya möjligheter. Det kan nog bli lite som att lära sig programmera på nytt, om man vill. Jag ska definitivt försöka tänka mer funktionellt. Jag tror att det är väldigt nyttigt för oss gamla, lätt skabbiga rävar.

Givetvis har jag [sedan länge] förberett mig genom att läsa Functional Programming in Java och tittat på videos som Refactoring to Java 8 by Trisha Gee (Devoxx 2016) och en bunt andra från Devoxx, JavaOne och liknande.

Let there be Monday!

Etikettmoln