Java is niet passé, integendeel
![Carriere](https://static.agconnect.nl/a0d8ffec-746d-58de-b5bf-d4dcf4916c0b/article/42/fc/42fc7d54-cffe-46f0-af07-b5fd268d11a2/opening_image/opening_image_hero/carriere.jpg)
De realiteit is dat Java niet alleen nog steeds de belangrijkste taal is maar zelfs terrein wint. Dit blijkt bijvoorbeeld uit de ‘TIOBE Programming Community Index’ die is gebaseerd op de meest populaire zoekmachines. In januari 2008 blijkt Java met 20,8 procent nog steeds veruit de meest populaire taal, tegen 13,9 procent voor C en 9,2 procent voor PHP. Maar belangrijker is dat de index voor Java 1,7 procent is gestegen ten opzichte van een jaar eerder. Hiertegenover stond een daling van 1,9 procent voor C en een stijging van ‘slechts’ 1,25 procent voor PHP.
Hetzelfde beeld zien we als we de verschillende projecten op Sourceforge rangschikken naar de taal waarin ze zijn geschreven. Van alle projecten met een startdatum tot 1 januari 2008 is 20,3 procent in Java geschreven, tegen 14,6 procent in C en 13,7 procent in PHP. Van de projecten met een startdatum tot 1 januari 2007 blijkt 18,9 procent in Java geschreven, tegen 15,1 procent in C en 12,8 procent in PHP. Ook hier zien we dat Java zijn positie in 2007 verder heeft versterkt.
Java is wel degelijk door een dal gegaan. Kijken we naar de TIOBE Programming Community Index dan zien we dat Java in de eerste helft van 2004 zijn eerste plaats verliest aan C. Pas in de tweede helft van 2005 herneemt het de eerste plaats. Een analyse van de gegevens op Sourceforge laat hetzelfde beeld zien.
Wat was er aan de hand? Dat er een probleem was met Java werd mij voor het eerst duidelijk toen ik begin 2000 geconfronteerd werd met een project waaraan op dat moment al zo’n slordige 100 manjaar was besteed. Vol vuur vertelde men over methodieken, objectoriëntatie, UML, design patterns, whiteboard sessions, extreme programming, roundtrip engineering, test-driven development, nightly builds en nog veel, veel meer. En dan waren er nog de tools en frameworks die dit alles mogelijk maakten. Het was duidelijk dat men niet stil had gezeten en dat er bergen werk waren verzet. Toen ik echter vroeg of ik het resultaat kon zien van al deze inspanningen, volgde een deceptie: er bleek nog geen GUI te zijn en evenmin een database. Er werd een soort van demonstratie gegeven in een DOSBox! De UI is er uiteindelijk nog wel gekomen maar de database niet. Twee jaar later, en nog eens zo’n slordige 25 manjaar verder, ging de stekker definitief uit het project.
Dit was beslist geen op zichzelf staand incident. Java kreeg een slechte naam en werd synoniem met een dramatisch lage productiviteit en problematisch verlopende projecten. Langzamerhand werd echter duidelijk dat niet Java zelf het probleem was, maar de cultuur rond Java.
Toen in 2004 de werkelijke aard van het probleem zich steeds duidelijker aftekende, was er echter al een omslag op til. Een nieuwe lichting Java-ontwikkelaars, opgegroeid met PHP en MySQL, zette steeds meer vraagtekens bij de hautaine houding van de oude garde en hun luchtfietserij die had geleid tot de ontwikkeling en het wijdverspreide gebruik van volkomen onpraktische technieken en frameworks. Wat een abc’tje was in PHP en MySQL was hierdoor verworden tot rocket science in Java. Waar in PHP en MySQL enkele regels code voldoende waren, was in Java met de populaire frameworks een veelvoud aan onsamenhangende codes nodig. Sommige nieuwkomers stelden voor om te kiezen voor PHP en MySQL wanneer de aard van het project dit toeliet. En omdat veel projecten dit ook toelieten, begon Java begin 2004 terrein te verliezen. Andere nieuwkomers lieten zien dat met Java bijna net zo snel kon worden ontwikkeld als in PHP en MySQL, mits je de binnen Java-gemeenschap zo populaire, maar o zo onpraktische frameworks links liet liggen. Pragmatisme – lange tijd een diskwalificatie – werd langzaam maar zeker een deugd waarop steeds meer Java-ontwikkelaars zich (durfden te) laten voorstaan. Weer andere lieten zien dat je met Java zelfs sneller kunt ontwikkelen dan met welke andere taal ook – mits je maar de juiste technieken en frameworks gebruikt en/of ontwikkelt. Waren tot 2005 de Java-teams steevast de hekkensluiters bij Rapid Application Development races, in 2007 werden echter zowel deze Nederlandse (Development Tools) als de Belgische (RAD Race) editie gewonnen door Java-teams.
Anno 2008 is Java sterker dan ooit. De industrie (met uitzondering van Microsoft natuurlijk) staat vierkant achter Java. Google bracht bijvoorbeeld medio 2006 de Google Web Toolkit (GWT) uit – een open source Java Development Framework waarmee webontwikkelaars in staat worden gesteld om AJAX-applicaties in Java te ontwikkelen. Eind 2007 bracht Google het Android-platform uit, een open-sourceplatform voor mobiele telefoons gebaseerd op het Linux-besturingssysteem en het Java-programmeerplatform. Het is ontwikkeld door de Open Handset Alliance (OHA) – een samenwerkingsverband bestaand uit 34 hardware, software en telecommunicatiebedrijven (onder andere Intel, T-Mobile, HTC, Qualcomm en Motorola).
De cultuur die Java in de problemen heeft gebracht (maar die ook positieve zaken heeft opgeleverd, zoals de ongeëvenaarde security van het Java-platform), is niet volledig verdwenen. Het stapelen van weinig productieve en kwaliteitsondermijnende technologieën en frameworks komt nog steeds voor. Een goed voorbeeld hiervan is de populariteit van Spring-framework en de cultuur hieromheen. Maar dit is slechts het restant van een cultuur die stilaan verdwijnt. Er heerst een nieuw elan binnen de Java-gemeenschap die Java naar nieuwe hoogte voert.
Huub Cleutjens (huub.cleutjens@ibs.nl) is softwarearchitect bij IBS Nederland.
Reageren? Geef uw mening op http:/∕re.ageer.nu