‘Think, be reasonable and enjoy’ – Adam Bien’s visie op programmeren

“Ik werk al met Java sinds 1995 en geniet daar nog steeds erg van.” Zo introduceerde Adam Bien zichzelf bij zijn lezing bij het MeetingPoint van JPoint op 11 juni. Door de vele lezingen en workshops die hij geeft, is hij bij veel programmeurs bekend.

Wat is eigenlijk zijn boodschap? “Ik ben freelancer, ik heb hoef geen boodschap te hebben. Er zit niets dieps in mijn lezingen, het is gewoon leuk”, is zijn eerste reactie. Toch blijkt hij wel degelijk iets aan zijn luisteraars mee te willen geven.

Bien is in de eerste plaats programmeur. Hij programmeert sinds 1995 en werkt sinds 1997 als freelancer aan allerlei grote en kleine projecten. Daarnaast geeft hij lezingen en workshops. “Er zijn zoveel misconcepten. Ik maak van de gelegenheid gebruik om tijdens de lezingen die misconcepten onderuit te halen.”Dat doet hij terwijl hij de mogelijkheden laat zien van bijvoorbeeld Java EE, HTML5 en sinds kort ook Java EE 7. Terwijl hij life programmeert en daarbij ingaat op vragen en suggesties van het publiek, heeft hij dus tussen neus en lippen door wel degelijk een missie: misconcepten uit de weg ruimen.

Hard to simplify

Een voorbeeld van zo’n misconceptie is de gedachte dat Java moeilijk en gecompliceerd is en dat het teveel tijd kost om te leren. Bovendien zou werken met Java niet productief zijn. “Dat was misschien ook wel zo, voor de komst van Java EE, “geeft Bien toe, “maar simpeler dan Java EE kan het niet. Eigenlijk is alles al gereduceerd tot het minimum.”Het mag duidelijk zijn dat Bien groot fan is van Java EE. “80% van alles is in Java EE gestandaardiseerd. Dat scheelt heel veel werk”. Voor ‘distributed computing’ is Java EE dan ook ideaal. Bien werkt zelf normaal gesproken met een 20/80 distribution bij Java (SE/EE/FX) projecten.

Onnodig ingewikkeld

Toch is lang niet iedereen enthousiast over Java EE. Bien benadrukt dan ook allereerst dat Java EE niet hetzelfde is als J2EE. Iedereen klaagt erover dat J2EE zo complex is. Maar J2EE is al sinds 2006 geschiedenis. Sindsdien kun je ‘schone’ applicaties bouwen. Het gekke is dat niemand dat doet. Iedereen gebruikt de oude troep uit 1995 met veel XML en 50 lagen en patterns en herhaald zichzelf steeds. Omdat veel applicaties vol met troep zitten, delete Bien dan ook veel geïmplementeerde code. Hij laat dat direct aan het begin van zijn lezing al zien, wanneer hij een nieuw project start en vrijwel alle code direct verwijderd.

“Java EE is dus helemaal niet zo ingewikkeld en niet-productief. Voor sommigen lijkt dat zo door de gekke architectuur die mensen bedenken bij projecten. Ik heb projecten gezien waarbij 15 lagen werden gebruikt om een knop zichtbaar te maken. Als je in Ruby of PHP of andere platforms  en daarbij het gekke idee zou krijgen om 500 patterns en 20 layers te gebruiken, zou het ook mislukken.” Het probleem zit volgens Bien dus niet het gebruik van de taal, maar de manier waarop je ermee omgaat. In zijn lezingen en workshops laat Bien dan ook graag zien dat het, ook met Java EE, minder ingewikkeld kan.

Kiezen voor logica

De laatste jaren is er een duidelijke verschuiving zichtbaar van de standaard front-end technologie JSF naar meer op zichzelf staande JavaScript en frameworks zoals jQuery en pure Ajax-communicatie. Over de vraag waar die verschuiving in de toekomst naartoe zal gaan, denkt Bien even na. “Dat is moeilijk te zeggen, want het hangt er maar net vanaf wat je wil bouwen.” Als hij voor zichzelf een simpele applicatie wil bouwen, begint hij altijd met JSF omdat dat de simpelste keus is. Het is lekker snel. De meeste enterprise systemen zijn niet zo gecompliceerd. JSF is ideaal, omdat je daarmee snel een werkende web-applicaties kunt bouwen. Het is veel lastiger om daarmee cutting-edge webapplicaties te bouwen. “Als je pixelperfecte singlepage web applicaties wil maken zou ik zoiets gebruiken als AngularJS.”

Bang voor JavaScript

Volgens Bien zijn veel Java-ontwikkelaars niet productief, omdat ze niet van JavaScript houden. “Dat is te verklaren vanuit de geschiedenis. JavaScript was verschrikkelijk. Het was niet gebouwd op grote projecten, maar vooral leuk om mee te spelen.” Ook de drama’s die ontstonden doordat JavaScript niet in iedere browser werkte, zorgden voor het slechte imago van JavaScript. “Bij de meeste projecten was het gebruik van JavaScript zelfs verboden.”

Inmiddels zijn veel van die problemen opgelost en is JavaScript heel bruikbaar geworden. “De meeste oudere ontwikkelaars willen niet meer beginnen aan JavaScript, vanwege dat slechte imago.”Maar de jongere ontwikkelaars, die die geschiedenis niet meer zo bewust meekregen, kunnen JavaScript snel aanleren en er veel handige dingen mee doen. “Dat verklaart wel waarom de één kiest voor Java en het laat vertalen naar JavaScript, terwijl de ander ervoor kiest om in de back-end te werken en alles zelf in JavaScript te schrijven.”

HTML 5

Zelf gebruikt Bien vooral HTML en JavaScript. “HTML5 is echt de toekomst. Ik denk dat dan 80% van de projecten in HTML 5 wordt gedaan. Binnen bedrijven zou ik echter kiezen voor JavaFX, omdat dat sneller gaat, maar voor internet is het abosluut HTML5. De vraag is dan of je JSF of andere frameworks wil gebruiken om de JavaScript abstract te maken, of dat je gewoon JavaScript zelf wil gebruiken.”

In zijn lezingen probeert Bien op dit soort dilemma’s in te gaan. Op 11 juni deed hij dat, voor het eerst, met behulp van Java 7, waar hij zelf net wegwijs in aan het worden was. “Het idee voor deze lezing is pas een dag oud. Ik wil ook niet teveel voorbereiden. No risk is no fun.”

Passie

Wat Bien aan de Nederlandse ontwikkelaars mee wil geven is vooral: wees gepassioneerd, geniet van wat je doet. “Ik zie dat veel ontwikkelaars gewoon anderen volgen, zonder zelf na te denken, waardoor ze soms onnodig moeilijk en ingewikkeld doen.” Daarom geeft hij het volgende advies: “Wees creatief, denk na bij wat je doet, en geniet daarvan.” Wat je vooral niet moet doen? “Gekke gewoonten van anderen volgen en daar achteraf over klagen. Met een beetje zelf denken wordt programmeren vaak eenvoudiger, sneller én leuker”.

Wie is Adam Bien?

Adam Bien mag dan bekend zijn binnen de Java-wereld, toch bleken er ook bij de meeting van JPoint genoeg mensen te zijn die hem niet kennen. Adam Bien is een Duitse programmeur. Hij geeft trainingen, lezingen, workshops en programmeert. Hij begon met programmeren met Java in 1995 en werkt sinds 1997 als freelancer sinds JDK 1.0 en Servlets/EJB 1.0. Hij was editor van verschillende boeken over JavaFX, J2EE en Java EE en schreef zelf de boeken Real World Java EE patterns – Rethinking Best Practices en Real World Java EE Night Hacks – Dissecting the business Tier. Verder schrijft hij veel artikelen.

Daarnaast is Bien Java Champion, NetBeans Dream Team Founding Member, Oracle ACE director, Java Developer of the Year 2010, JavaOne 2009 en double 2011 Rock Star.

Workshops

Voor wie de lezing van Adam Bien heeft gemist of graag meer van hem wil zien, kan kijken op zijn website: adam-bien.com. Op zijn weblog plaatst hij niet alleen veel artikelen, maar ook filmpjes van lezingen die hij gehouden heeft.

Daarnaast geeft hij een paar keer per jaar de workshop Air Hackers, die ook de moeite waard zijn voor iedere programmeur die efficiënter en productiever met Java wil leren werken.