Peter S. Magnusson
Perpetuum mobile går som bekant inte att bygga. Hur intrikat en maskin än byggs kommer entropin att triumfera. Men än idag ramlar intelligenta förståsigpåare i fällan.
Jag börjar tro att Microsofts vinstmaskin är en perpetuum mobile, som fungerar enligt devisen "vad som än händer kommer Microsoft att tjäna pengar på det".
Liksom många andra tyckare uppfattade jag plattformsoberoendet hos Java som ett hot mot Windows. På pappret var teorin övertygande: bläddrare typ Netscape skulle utgöra den nya plattformen för applikationer, och därmed ersätta Windows i den rollen. Andra operativsystem skulle inte längre vara handikappade av programtorka. Precis som IBMs PC blev oberoende av IBM skulle nästa generation "Windowsprogram" bli oberoende av Windows.
Men ack så fel. Javas plattformsoberoende är nämligen en myt. Sun fick aldrig en certifieringsprocess på plats, och nu börjar entropin göra sig märkbar. Jag införskaffade nyligen Symantec Café för att leka lite med Java, och gav mig på att skriva några applets som skulle fungera för diverse kombinationer av bläddrare (Netscape, Internet Explorer, HotJava) och operativsystem (Solaris 2.5, Windows 95, MacOS). För att uttrycka det milt, så är det struligt.
Exempelvis definerar biblioteket med gränssnittsobjekt (AWT) en mängd händelser som kan fångas av olika objekt, men inga Javatolkar jag testat stöder samma uppsättning händelser. En kan inte fånga KeyUp i textfält, en annan kan inte fånga MouseEnter och så vidare. Alla som programmerat gränssnitt vet att implementationen är mycket beroende av vilka händelser som finns att tillgå.
Det är Javas explosiva framgång som lett till strulet: leverantörer av utvecklingsmiljöer - som Symantec, Borland, Microsoft och Sun jobbar frenetiskt med att slå konkurrenterna i prestanda och time-to-market. Resultatet är klart rostiga produkter, såsom buggarna i Internet Explorer 3.0 och Netscape 3.0 nyligen demonstrerat.
Plattformsberoendet skall inte överdrivas - det går att skriva applets som överlever på flera plattformar. Java är en enorm förbättring jämfört med tidigare alternativ. Client-server fördelarna är inte hotade. Men mjukvara är mycket känsligt för skillnader.
Applet-utveckling är förhållandevis enkelt, så många kommer att ägna sig åt det. Av dessa kommer få att bry sig om att utreda kompatibilitetsproblem. Nätförfattare kommer att göra med Java applets som man idag gör med HTML skriva högst upp på sidan "ses bäst med Netscape 3.0 och Windows 95" eller dylikt.
I andra ändan av skalan blir stora tillämpningar mycket svårt att göra fullt portabla.
Netscape tilläggsprogram (plug-ins) och Javascript understryker tendensen. Tilläggsprogram är som bekant plattformsberoende utökningar av Netscape eller kompatibla bläddrare. Ett exempel på användning kan vara att spela ett visst ljudformat. Naturligt nog kommer tilläggsprogram först till den största plattformen (läs Windows 95).
Optimisterna hävdar att marknaden kommer att konvergera mot en standard, men entropi är svårbemött. Det kommer säkert ett ANSI Java så småningom, men det kommer att komma försent för att påverka marknaden.Parallellen mellan Windows och IBMs PC är bara en dröm, en förhoppning om Microsofts kommande nederlag. Till skillnad från BIOS är ett operativsystem som Windows för svårt att plagiera idag. Och till skillnad från maskinvara kan programvara sakta äta sig uppåt i funktionalitet. Som Gates uttryckte det nyligen kan Microsoft tjäna pengar även om all Internetprogramvara är gratis. Och en bläddrare är utmärkt att integrera in i operativsystemet, liksom tidigare diskkomprimering och antivirusprogram. Java stod inför ett vägskäl. Antingen kunde parterna enas om en enkel miljö, med betryggande kompatibilitet men på bekostnad av tunga applikationer. Eller så kunde de slänga in i Java-säcken allt som en traditionell utvecklingsmiljö brukar innehålla. Men då innebär komplexiteten stora svårigheter att klara 100-procentig kompatibilitet, med påföljd att den dominerande platformen blir norm. Marknaden har valt den senare vägen, misslyckats med kompatibiliteten och därmed missat ett gyllene tillfälle att allvarligt hota Windows dominans.
Peter S. Magnusson