Enkele van uw artikelen over Java geven mij het gevoel dat ze op weinig praktijkervaring zijn gestoeld.
Zo ook het artikel van Jasper Bakker, met de titel ‘Microsoft Visual J++ ketent Java’ (Computable, 20 maart). Daarom hierbij enkele feiten door ontketende Java-gebruikers. Bij ASM Europe zijn enkele software-engineers sinds driekwart jaar bezig met het schrijven van Java-applicaties voor de halfgeleiderindustrie, op een afdeling die voornamelijk C en C++ realtime/multitasking/grafische applicaties schrijft en onderhoudt voor NT, OS/2 en OS-9. Daarbij zijn diverse contacten met andere Java-gebruikers ontstaan, zoals Mountside, Camline (Duitsland) en ettelijke Philips-bedrijven waaronder voor zover ik weet geen enkele ‘bleeder’. Dit zijn serieuze, veelal beginnende, Java-gebruikers uit de industrie, geen hobbyisten dus. En in die Java-wereld speelt Microsoft geen rol. Niemand zal het daar in zijn hoofd halen om J++ te gebruiken, eenvoudigweg vanwege het adagium ‘pure Java’, en vanwege het feit dat Java op NT meer dan voldoende ondersteund wordt door Sun, IBM, Semantic, Borland, etc. Buiten J++ keuze genoeg.
Over Java-op-zich: de taal is ‘much more then just another language’. En ondanks de beperkte tijd dat deze taal en taal-omgeving bestaat, is hij volwassener dan welke C of C++ omgeving ook, ook voor Enterprise-omgevingen. Ook de idee dat Java langzamer is, is niet altijd correct. Wij, en ook Philips, hebben andere ervaringen opgedaan: enkele applicaties die, omgeschreven naar Java, sneller zijn dan hun C/C++ voorgangers. Wij vermoeden dat dat komt omdat in die betreffende applicaties het aantal statements in C aanzienlijk hoger is dan het aantal benodigde Java-statements. Neemt niet weg dat Java voor ‘embedded’, realtime nog niet aan de orde is, maar dat zal spoedig anders zijn.
Ten slotte nog dit: wij kennen het verschijnsel van een goed ontworpen C of C++ applicatie. Semantisch dik in orde, maar bij het testen ‘doet-ie-het-toch-niet’. Bijna altijd ‘pointer-errors’ die daarvan de oorzaak zijn, om over ‘memory-leakage’ maar te zwijgen. Syntactische puinhoop dus. Dat komt in Java niet meer voor. Als je applicatie geen ‘compile-errors’ meer heeft, en ‘hij-doet-het-toch-niet’, kun je er zeker van zijn dat je een betekenisfout hebt gemaakt. Testen is peanuts vergeleken met vroeger. De rollen moeten worden omgedraaid: schrijft u nog applicaties in C of C++? Leg eens uit? Ik ben de eerste die toegeeft dat dat zeker verantwoord kan worden. Maar gemakkelijk is het niet.
Jan Monsuur,
Manager Software Development
ASM Europe
Naschrift
Microsoft wil Java ‘optimaliseren’ voor het eigen Windows-besturingssysteem. Dit houdt in dat Java-applicaties voor Windows niet of nauwelijks bruikbaar zijn op andere besturingssystemen. Tot nog toe raakt Microsoft nog niet het gebied dat u noemt …
Jasper Bakker, redacteur