[x^2 for x in lst]

Functional Programming in Java

Author: Venkat Subramaniam

Review created: 2014-08-07

Functional Programming in Java är en ganska kortfattad (161 sidor) men ändå relativt djupgående introduktion till funktionell programmering i Java 8. Den börjar med att gå igenom fördelar med att programmera funktionellt. Kodexempel skrivna på gammal, traditionell Java förändras i flera steg där varje steg för koden lite mer åt det funktionella hållet. Detta är ett bra sätt för att förklara fördelarna med funktionell programmering tycker jag.

Kapitlet går även igenom vad lambda expressions är och vad de används till, vilket är det mesta som har med funktionell programmering i Java 8 att göra.

Vidare fortsätter boken med att gå igenom hur man kan använda de nya metoderna på collections som kom i Java 8 för att programmera funktionellt. Det finns en uppsjö med nya metoder, så det finns en hel del att gå igenom.

Senare kapitel handlar om hur de nya funktionella metoderna i API:t kan användas för att hantera filer och kataloger, lat evaluering och hur tail call recursion kan implementeras.

I ett av de sista kapitlen ges med exempel på hur man kan parallellisera körandet av funktionellt skrivna program. För mig var det en ögonöppnare att se hur enkelt detta kunde göras.

Boken avslutas med ett kapitel om hur man skall tänka för att lyckas med funktionell programmering samt med ett antal appendix som bland annat ger en överblick av den nya syntaxen och listar ett urval av funktionella interface som finns med i API:t.

Boken är skriven på ett mycket lättläst sätt som gör att det är ett nöje att läsa den. Boken innehåller kodexempel i precis lagom mängd för att illustrera de koncept som gås igenom. Listningarna är av typen kodsnuttar, inte fullständiga program så för att få ihop körbara program så måste man lägga till lite boiler plate-kod. Detta är dock inget problem då koden som behövs läggas till oftast är kort och okomplicarad.

Jag tycker att boken ger en mycket bra genomgång om hur de nya funktionerna i Java 8 kan användas för att programmera funktionellt. Det känns som om den ger en både bred och djup introduktion till ämnet. Dessutom är den lättläst och rolig att läsa. Ytterligare en fördel är att den är kort ;) Med lite fokus så hinner man lätt läsa ut den på en vecka även om man skriver övningsprogram för alla saker som gås igenom i boken.

Functional Programming in Java är ytterligare en bok som jag varmt kan rekommendera!

Betyg: 5 av 5.