O cafea vă rog, și să fie Java

Este un lucru bine cunoscut că ploile excesive în America de Sud vor influența în mod serios prețul boabelor de cafea, în lunile viitore, în SUA. Piața bunurilor de larg consum lucrează într-un mod misterios. Cu toate că noile recolte nu au fost încă nici măcar plantate, simpla suspiciune privind vremea nefavorabilă provoacă fiori în rândul brokerilor. Și atunci, când ei au emoții, noi, publicul, rămânem de-a dreptul înghețați, gândindu-ne că urmează o nouă mărire a prețurilor. De câteva săptămâni, prețul la cafeaua boabe urcă considerabil, și se presupune că această tendință se va păstra în viitorul apropiat. Ne-am putea aștepta, în mod normal, ca lumea să bea mai puțină cafea, dar cererea de cafea, la o marjă mică de creștere a prețului, pare să fie puțin elastică. Deci am putea să ne lăsăm de fumat, să mai renunțăm la distracții, dar cât timp nu trebuie să luăm credit pe casă, ca să bem cafea, o creștere redusă nu ne va împiedica s-o bem.

Probabil, acesta este și motivul pentru care continuăm să sperăm că va exista un standard Pure Java, și mai credem că eforturile făcute de Microsoft, pentru a deturna străduințele celor care fac standardele Pure Java, nu vor avea, până la urmă, succes. Nu știu dacă Sun ar fi avut mai mult noroc, numind limbajul altfel decât Java și Java Beans (pentru a face clar că nu este doar o greșeală), dar cu siguranță Sun, sau orice altă firmă din domeniul calculatoarelor, ar fi avut de-a face cu aroganța Microsoft, atâta timp cât Microsoft este prezent în acel segment de piață și se simte amenințat de noul venit.

În ciuda faptului că deține peste 30% din piața de sisteme, UNIX nu este un standard unic, pentru cei care doresc să-l utilizeze. Unix este sistemul de operare cu cel mai mare număr de personalizări de pe piață și, cu excepția numelui, comun, variantele au diferențe majore. Deci, nu trebuie să ne surprindă că un program de pe HP UNIX nu se execută sub versiunea Unix de la Sun, fără să mai zicem ceva de versiunea Unix proprie IBM, numită AIX. Trebuie să fim mulțumiți de faptul că Microsoft n-a avut niciodată ideea de a pătrunde pe piața Unix, cu o variantă proprie. Ani de-a rândul, cei implicați în această ceremonie, au încercat să creeze un standard general acceptat pentru Unix și efortul lor a eșuat ani de-a rândul.

Apariția Internet-ului a creat totuși posibilități noi și, în sfârșit, a trebuit făcut ceva pentru ca această situație de Turn Babel să se termine. Pe lângă UNIX, avem Windows, OS/2, Mac și o mulțime de alte sisteme. Partea tristă este că fiecare dintre SO menționate are anumite calități pe lângă deficiențe și nu comunică între ele. Atunci când rulează pe echipamente proprii, lucrul este de înțeles, dar frustrarea atinge cote superioare atunci când se execută pe aceleași tipuri de echipamente și sistemul de operare nu vede existența celuilalt sistem.Internetul este prezent de peste 25 de ani, dar confruntarea lui cu lumea reală a putut avea loc doar de patru, cinci ani. Net a pornit ca rețea pentru lumea întreagă, de către Guvernul American, pentru conectarea militarilor și universităților din întreaga lume. Cu toate că era importantă încă din prima zi a existenței sale, adevărata semnificație s-a arătat doar când orice Ionel din lume a început s-o folosească pentru comunicare zilnică. În momentul de față, peste 60 de milioane de calculatoare din întreaga lume sunt conectate la Net, și numărul lor crește în fiecare minut. Internet conectează tot felul de echipamente hardware care folosesc tot felul de sisteme de operare și comunicarea este posibilă datorită unor standarde utilizate. Este un lucru cunoscut că, Microsoft ar dori ca și restul lumii să utilizeze produsele lui, și indiferent cât de mult încearcă să ne convingă că chiar fac acest lucru, realitatea este diferită. În ciuda multitudinii de sisteme de operare și configurațiilor hard utilizate pe Net, comunicarea este posibilă folosind un standard, numit browser. Este un lucru drept să avem mai multe din acestea, cele mai populare fiind Netscape și Microsoft Explorer, dar ceea ce este remarcabil la aceste navigatoare este că, până la urmă, indiferent cine i-a făcut sau ce nume poartă, ele îndeplinesc aceeași funcție și oferă aceleași rezultate.

Acum câțiva ani, Sun a apărut cu un proiect care a eșuat la început, proiectul Java. Definit ca un limbaj script, a apărut ca limbaj pentru Internet, și va trebui să realizeze visul tuturor, conlucrarea. În foarte puține cuvinte, scopul Java este să permită ca aplicațiile să fie disponibile și să se execute sub orice sistem de operare, sau ideea de a „scrie o dată și executa oriunde", așa cum le place să spună cei din lumea calculatoarelor. Pentru a îndeplini această sarcină, orice sistem de operare, care va rula Java, va avea așa numita Mașină Virtuală, va permite compilare și va executa produsul final în browser. Din întâmplare, azi, oricine are browser cu facilități Java, are posibilitatea de a aduce de pe situl Corel versiunea beta de la Word Perfect, scrisă în Java. Utilizatorii WARP, de la ultima versiune încoace, fost Merlin acum un an, dispun de un sistem de operare care are facilități Java. Pe la sfârșitul acestui an, Word Perfect Suite va avea facilități Java și Lotus va avea versiunea Smart Suite, compusă din appleturi (Kona). Toți utilizatorii care au sisteme de operare cu facilități Java, vor putea executa aceeași aplicație, indiferent de SO și mai mult, aceiași utilizatori vor putea să scrie și să citească aceleași fișiere, fără a fi nevoie de conversii între sisteme. Partea hardware și sistemul de operare își vor pierde importanța. Poate, va fi mai puțin lucru pentru programatori, deoarece nu vor mai trebui să facă mutări de aplicații, de pe un sistem pe altul și sperăm că acest efort inutil va fi folosit mai bine.

Microsoft, așa cum face de ani de zile, s-a simțit obligat să prezinte propria vesiune de Java. Aceasta se numește ActiveX și, pentru cei cu vedere slabă, realizează aceleași funcții ca și Java. S-ar putea spune că este un mediu care oferă posibilitatea pentru programatori să scrie o dată și să execute programul pe orice calculator. Atât ActiveX cât și Java se execută în browsere și oferă componente pentru aplicații Internet și intranet. Argumentele aduse de Microsoft par puternice: „de ca să utilizați Java, când noi facem același lucru?". Problema este că asemănările între cele două tehnologii se opresc aici.

În timp ce ActiveX este realizat special pentru Windows 95 și Windows NT, Java este în mod inerent independent de sistemul de operare. Și acest lucru este esențial pentru înțelegerea implicațiilor pe care le are fiecare din aceste tehnologii în informatică. ActiveX este compilat special pentru mediul Windows și este realizat cu unelte de dezvoltare bazate pe Windows, Microsoft Visual C++ și Visual Basic 5.0. Un obiect ActiveX care ajunge într-un browser este compilat și gata de execuție și va rămâne așa pe sistemul pregătit și pentru alte aplicații. Dacă unii găsesc această facilitate ca fiind atractivă, majoritatea populației, care înțelege semnificația acestui lucru, nu este fericită de loc în această situație. Controalele ActiveX pot interacționa cu alte programe și date stocate la client. Pentru a aminti doar un exemplu, un control ActiveX poate extrage și instala pe sistemul client actualizări pentru versiunea beta de la Memphis, succesorul lui Windows 95. Astfel, ActiveX poate deveni o tehnologie foarte distructivă, deoarece acționează fără controlul din partea utilizatorului și poate schimba configurația sistemului de operare. Controalele pot fi utilizate și la servere de aplicații prin modelul DCOM (Distributed Common Object Model) de la Microsoft.

La celălalt capăt al spectrului, Java este un limbaj interpretat. Atunci când se creează o aplicație Java, ea se scrie în limbajul Java și se compilează în pseudo-cod și nu cod mașină. Când este lansat, codul Java este compilat pentru a fi executat de Mașina Virtuală pe un sistem client. Fiecare sistem de operare are o Mașină Virtuală proprie, scrisă și optimizată pentru el. Ca o consecință directă, aplicațiile scrise pentru Java trebuie să se execute fără modificări pe orice platformă, inclusiv servere, pentru care s-a dezvoltat o Mașină Virtuală. Mașina Virtuală se transformă într-un fel de buffer între codul Java și sistemul de operare.

Pentru moment, dezavantajul independenței de platformă este că elemente standard de interfață, ca butoanele și barele de defilare, nu sunt disponibile pentru aplicații Java și trebuie oferite separat. Dar majoritatea aplicațiilor GUI Java sunt scrise cu ajutorul AWT (Abstract Window Tool) de la Sun, care face parte din setul de unelte de dezvoltare Java și firma încearcă să ofere mai mult din modul de prezentare și funcționare al sistemului local prin biblioteci de clase: Java Class Libraries. Și, în scurt timp, acest neajuns va deveni o amintire. Dar, din nou, pare că suferim de amnezie și uităm că lui Microsoft i-au trebuit destul de mulți ani pentru a aduce Windows într-un stadiu semi-decent. Azi, la zece ani după prima lansare, mai trebuie să ne luptăm cu el. Și, dacă acesta nu este un argument suficient pentru răbdare, trebuie să fac apel la cei grei: nici Roma n-a fost făcută într-o singură zi.

Pentru ca Java să reușească să-și atingă scopul de a unifica sistemele de operare, toți proiectanții trebuie să îndeplinească o condiție: să utilizeze Java pur, adică un singur standard de limbaj. Amintesc doar că Sun încearcă să-l păstreze pur și procesul este destul de dificil. Desigur, așa cum l-a scris Sun, Java nu este perfect și apar îmbunătățiri. Oricine a dorit însă să facă schimbări, trebuia să trimită aceste schimbări la Sun, care, la rândul lui, a inclus modificările și le-a distribuit la toți cei care dețin licență. Aceștia trebuiau să distribuie codul la beneficiarii lor, astfel încât modificările să apară peste tot, simultan. Oricât de dureros este procesul, este singura modalitate de a avea un Java pur și de a evita eșecul cunoscut la Unix. Oricine se abate de la această cale își va pierde licența obținută de la Sun și se elimină singur.

Acum câteva săptămâni, inițiativa Pure Java a câștigat un sens nou în momentul în care Lotus Developement s-a alăturat cu noua versiune Smart Suite, care are numele de cod Kona și care va fi 100% Pure Java. O dată ce Lotus s-a alăturat, în sfârșit, clubului mulți, oamenii au început să fie îngrijorați. Prin mulți oameni înțeleg, desigur, Microsoft. Chiar în ziua imediat următoare celei în care Lotus Development a anunțat că se alătură inițiativei de dezvoltare Pure Java, Bill Gates, cu „farmecul" lui obișnuit a trebuit să intre din nou în istorie, numind inițiativa Sun de 100% Pure Java, „cel mai mic multiplu comun" al informaticii. „Cel mai mic" multiplu comun, poate, căci cine poate fi specialist mai bun în soluții de nivelul cel mai redus decât șeful firmei cu atitudinea cea mai simplistă din lumea tehnicii de calcul. Ce este important este „numitorul comun" și asta contează.

Cuvântarea lui Gates este totuși o piedică nouă, în calea realizării unificării comunității celor care dezvoltă soft, deoarece arată că Microsoft va urma, așa cum îi este obiceiul, o altă cale. Și trebuie să urmeze altă cale, deoarece Java este o amenințare reală pentru imperiul lui. Bill Gates va reuși, atât cât putem întrezări viitorul, să anihileze efortul DOJ (departamentului justiției) de a-i limita monopolul, dar nu va putea să stopeze avalanșa creată de Java, care va realiza exact același lucru. Java nu depinde de Windows, și aceeași aplicație Java se va putea executa atât sub Windows cât și sub OS/2 sau Unix. Și va fi o lume trăznet, aceea în care aceeași aplicație de producție va rula la fel de ușor sub NT sau Unix. Mă întreb ce penetrație va realiza NT într-o lume în care costurile de dezvoltare soft vor fi aceleași, indiferent de platformă? Mă întreb ce rată a succesului va avea NT în înlocuirea unor sisteme de operare care oferă toate facilitățile pe care NT speră să le ofere? Deci, dacă Bill Gates are de luptat, atunci acum este momentul să lupte și așa îl cunoaștem nu se va da înapoi de la nimic.

Și deoarece răul și mizeria vin totdeauna împreună, acum câteva săptămâni Information Week a publicat un articol menit să termine într-adevăr cu Java. Cel puțin asta încerca. Argumentul era că Java este nou, este lent și nu va ajunge să fie notoriu, așa cum este Windows și ActiveX. Ar putea să fie și elemente reale în afirmațiile din articol. ActiveX este bazat pe Windows, are o mulțime de unelte de dezvoltare care s-au impus și poate fi utilizat de oricine. Realitatea este că toate companiile noi lansate se orientează spre Java și lumea proiectanților de soft a ajuns să-și dea seama că Microsoft nu trebuie să fie singura alternativă. Un autor stimat de la Information Week, Stephan Manes a publicat un articol despre viitorul pentru Java, bazat pe cunoștințele lui despre „p", o încercare de acum câțiva ani de unificare a tuturor sistemelor de operare existente pe piața anilor șaptezeci. Succesul avut de „p" este un lucru despre care nu merită să vorbim. Majoritatea oamenilor de azi nu au nici cea mai vagă idee despre ce era „p". Dar, cu tot respectul pentru Stephen Manes, cred că îi scapă subiectul. Atunci când a fost conceput „p", în anii șaptezeci, lumea calculatoarelor nu era cea de azi. Mare parte a omenirii nici nu știa de existența ei. Era o lume rezervată doar „membrilor", o lume tehnică și a celor care dispuneau de bani mulți, pentru a avea acces. Azi, această lume dispune de bani mai mulți ca niciodată, dar banii investiți provin de la o mulțime de participanți mai mici, milioane de participanți mărunți și nu de la câțiva giganți care investesc foarte mult, astfel că raportul de forțe s-a schimbat. În anii șaptezeci, nu exista înelegerea pentru unificarea sistemelor de operare, și în afara câtorva vizionari care înțelegeau fenomenul, restul comunității nu pricepea sau nu-i păsa.

Stephan poate avea ideile proprii, Infoworld poate încerca să speculeze, dar realitatea zilnică este mai puternică. Desigur, cei interesați în eșecul Java vor încerca să deturneze eforturile care doresc succesul și este un element existent, chiar dacă nu ne place. Dar bănuiesc că am învățat multe din trecut. În plus, azi se investesc bani mulți în Java și nu cred că ne putem permite să-i pierdem.

Este un lucru dovedit că tehnologia de vârf a pierdut de obicei în confruntarea cu mediocritatea, un exemplu clasic putând fi Mac față de Intel, dar în cazul Java nu este vorba de revoluție, și în stadiul actual acesta s-ar putea să fie chiar cu un pas în urmă față de ActiveX. Singurul avantaj, oferit de Java pentru utilizatori, este că va unifica sistemele de operare și va duce la economii imense pentru beneficiari, în ceea ce privește cheltuielile de achiziție soft și întreținere programe, nemaivorbind de faptul că este limbajul acceptat pentru Internet, rețeaua mondială cu peste șaizeci de milioane de utilizatori.

S-ar putea ca lui Microsoft să nu-i placă, dar IBM este total dedicat și a cheltuit foarte mulți bani pentru această tehnologie. Cheltuind bani și implementând, IBM a dovedit avantajele ei. Dacă OS/2 s-a dovedit un eșec comercial, s-ar putea transforma în câștigător real numai și datorită faptului că a fost primul sistem de operare existent care oferea facilitățile Java înglobate și a arătat lumii ceea ce se poate face cu Java. A fost catalizatorul care a forțat Microsoft să cumpere licența Java și să-i urmărească atent dezvoltările, în ciuda faptului că încearcă să termine cu el folosind toate mijloacele. Încă o dată, Microsoft cheltuiește bani pentru a încerca să distrugă ceva bun, atunci când ar putea contribui la succes. Nu înțeleg motivația, deoarece Java i-ar ajuta și pe ei. Nu trebuie să ai monopol pe piață pentru a avea succes. Dar Bill Gates poate să aibă propria viziune despre lume și dacă dorește ca aceasta să fie singura, are tot dreptul. Nelson Rockefeller a fost și el unic, dar a fost oare cu adevărat fericit în ultimii săi ani?

IBM, printr-o inițiativă care a primit puțină publicitate, numită Solution Framework (cu numele de cod San Francisco, și despre care în mod nostim nu am auzit, cu toate că frecventez mult lumea IBM și am auzit mult de proiectul San Francisco) are în plan livrarea unui set comun de module de aplicații (ca formulare pentru beneficiari, calculul taxelor, conversii valutare) care pot fi adaptate de către furnizorii de software pentru ramurile industriale specifice beneficiarilor.

Ca răspuns, Microsoft lansează inițiativa de Arhitectură ActiveX, țintind, în primul rând, industria de comercializare cu amănuntul. El va dezvolta controale care vor lega aplicațiile de afaceri ale comercianților și distribuitorilor cu furnizorii, pe Net. Sunt avute în vedere firme ca Boston Market, Burger King, Wal-Mart și restaurantele care aparțin de PepsiCo: Pizza Hut, Taco Bell și KFC.

Majoritatea utilizatorilor nu se întreabă, care tehnologie este mai bună, ci ce se adoptă. Și sentimentul general este că se preferă Microsoft. Se pare că se obțin rezultatele de pe urma cheltuielilor de reclamă făcute de Bill Gates.

Marriott International Inc. un lanț de hoteluri din SUA este unul din cei care au adoptat devreme tehnologia Microsoft. Cu toate acestea, vicepreședintele pentru vânzări interactive, de la această firmă recunoaște că soluția nu este definitivă și că probabil peste cinci ani vor căuta din nou dacă există alte soluții alternative.

Un alt avantaj pentru utilizatori, dacă folosesc aplicații Java, vor fi prețurile mai reduse pentru soft. Lotus promite să ofere Kona la o fracțiune din prețul de 150$, cât costă acum Smart Suite. Din păcate, costurile mai reduse pentru soft nu vor fi suficiente pentru a convinge utilizatorii, dacă nu se realizează și promisiunile de lucru pe mai multe platforme. Cea mai mare speranță pentru Java nu va fi Java în sine ci uneltele de asigurare a posibilităților de conectare, care sunt livrate de terți furnizori. Una din firmele cu rol vital în arena Java este Oracle, care va oferi programatorilor săi împreună cu Sedona, acces la o multitudine de modele obiect cu un API unic, care vor trata conversiile în mod unitar. IBM are planuri similare și o firmă recent lansată, din Canada, Edge Software Ltd va livra, în lunile care urmează, produse care vor permite ca OLE și obiectele și appleturile Java să lucreze în același mediu distribuit, fără să fie necesar cod suplimentar. Aceste evoluții oferă speranțe utilizatorilor ActiveX că nu vor fi limitați pe veci la produse Microsoft. Ei vor putea să dezvolte aplicații pentru Web, cu cele mai bune unelte, cu costuri ce nu pot fi dictate de o singură firmă cu comportament care tinde să monopolizeze piața.

Este regretabil că mare parte a lumii calculatoarelor asistă doar la evenimente, deoarece acestea ar fi un subiect interesant de studiat pentru studenții la științe economice. Evenimentele ne arată modul de funcționare al pieței libere. Un monopol care se luptă să mențină situația existentă și forțele de pe piață care acționează pentru a se elibera de monopol. Și, deoarece amestecul nu este suficient de condimentat, anumite elemente din sfera guvernamentală, ca DOJ (departamentul de justiție), așteaptă ca să intre, la rândul lor, în acțiune. Totuși, este mai mult ca verosimil că situația se va schimba și sperăm ca acest lucru să se întâmple înainte ca să fie votate niște legi pentru a stabili un control.

Personal, cred că Java va avea câștig de cauză. Va mai dura, dar speranța compatibilității între platforme este o realitate care nu poate fi stopată, mai ales acum, când este la îndemână.


BYTE România - septembrie 1997


(C) Copyright Computer Press Agora