Gležnas Java standarto daigelis (1998.01.21)
Microsoft, DEC, Intel ir Compaq firmų kreipimasis dėl Java standarto sukūrimo susilaukia ir entuziastingo pritarimo ir skeptikų balsų. Pirmiausia, ar galite surasti pasaulyje kitas firmas, mažiau atviras nei šios? Windows ir VMS terpės niekad nebuvo standartų taikinyje, Intel, kaip luistų gamintoja, iki šiol buvo gana atvira, tačiau jos su Pentium II - ir ji užtrenkė duris konkurentams (žr. atskirą straipsnelį), o Compaq nors ir sukūrė daugiau technologijų nei kiti PK gamintojai, bet nė vienos jų nepavadinsi atvira. Bet net sustojęs laikrodis dukart per parą parodo teisingą laiką, - tad geriau pažiūrėkim realybei į akis ir šio ketverto motyvus.
Kodėl Internetas yra platesnis už Unix pasaulį? Todėl, kad bet kurioje vietoje esi vienodai priklausomas nuo Interneto. Kaip vystysis Java - kaip Internetas ar kaip Unix? Manau, kad kaip Internetas. Josios ateitis tebėra šviesi, tačiau iki šiol vis dar neišsipildė jos rožinė svajonė: parašyti programą vienąkart - vykdyti ją visur. Tuntai mažų skirtumų kuriant "virtualias mašinas drasko jos viltis tarsi rudens vėjas voratinklius. Jau ir Sun prakalbo, kad Microsoft" pažeidė licencijos sąlygas. Bet kas svarbiau - keli šimtai tūkstančių Java naudotojų ar keliasdešimt milijonų Windows vartotojų?
Atsiradus standartui nieko nelaimės nei Sun, nei Microsoft. Kalbama, kad Microsoft pasivogs Java. Ir tikrai - jau bando. Jau ne metai, kaip raudonųjų pasaulis tvirtina: Java tėra kalba - tai ne platforma. Skamba tarsi sakytų: Internetas tėra tinklas - tai ne platforma. Standartai neapsaugos nei Sun, nei kitų - ir neužkirs kelio Java patobulinimams. Pasirinkti turės vartotojai.
Ar standartai stabdo progresą. Be abejo, - bet tik tiek, kiek žiūrėjimas į žemėlapį trukdo užlipti į Evarestą. Net daugiau, standarta neiškasa griovio konkurencijai. Prisiminkim IBM patirtį, kai ši firma Token Ring" technologiją pasiūlymas IEEE 802 komitetui nesutrukdė Ethernet su jos 802 variantu išmesti IBM iš rinkos.
Iki šiol joks operacinių sistemų kūrėjas nebandė savo produkto įtvirtinti standartu. Bet ir niekas iki šiol (išskyrus p-code) netvirtino, kad jie sukūrė universalią platformą. O tokie žodžiai reikalauja šiek tiek daugiau, nei vien pardavimo. Dabar ir Sun, ir Microsoft skersakiuoja vieni į kitus, bandydami įvesti faktinius standartus. Kurio jų akys mažiau žvairos?
Javos sukaktuvės (2025.07.14)
2025 m. Java kalbai sukako 30-mt metų apie ją paskelbta SunWorld '95 susirinkime 1995 m. gegužės 23 d. - kaip, derinyje su HotJava naršykle, esančią universaliausia OS internetinei bendruomenei (tiesą sakant, Java 1.0 buvo galima parsisiųsti jau nuo 1994 m.) Tačiau šiandien Java laikoma labiau darbiniu arkliu verslo programų srityje nei kalba internetui (šioje dažnai painiojama su JavaScript, bendro teturinčia tik panašų pavadinimą).
Java koncepcija buvo kalba, kuria parašytos programos veiktų bet kokioje terpėje ir tai atsispindėjo jos moto: Parašyk kartą, vykdyk visur! (WORA). Ji Sun Microsystems buvo kuriama kodiniu Green pavadinimo projekte. Kaip aparatinės įrangos gamintoja, Sun norėjo būti pasiruošusi naujos kartos plataus vartojimo elektronikos įrenginiams (kaip televizoriai, išmanūs skrudintuvai ir pan.) - t.y tam, ką šiandien vadintume daiktų internetu (IoT). Komandai vadovavo James Goslingas, Mike Sheridanas1) ir Patrick Naughtonas2, jautę, kad visiškai naujos ir nuo platformos nepriklausomos kalbos, galinčios veikti bet kuriame įrenginyje nepriklausomai nuo jo aparatinės įrangos.
![]()
Jie paėmė C sintaksę ir papildė virtualios mašinos idėja: pačią C++ atmetė dėl to, kad joje lengva pridaryti klaidų, nėra šiukšlių surinkimo ir t.t. Pradžioje kalbą pavadino Oak (Ąžuolas), nes toks medis augo už Goslingo biuro lango. Tačiau paaiškėjo, kad toks prekės ženklas jau užregistruotas. Buvo renkamasi kiti pavadinimai - DNA, Silk ar Lyric, bet buvo pasirinkta Java tikriausiai todėl, kad komanda programuodama gėrė daug kavos. Pradžioje šios kalbos niekam nereikėjo (bet ir kiekvienos kalbos pradžia būna sunki, nors, regis, Java tada buvo ir labai nemėgstama). Bet Java siejimas su kava labiausiai padėjo jos populiarumui.
Maždaug tuo pat metu Brendan Eichas3) sukūrė Netscape naršyklėje veikiančią kalbą, kuria pavadino Mocha tačiau tai nebuvo pakankamai orientuota į kavą, todėl kalba buvo pervadinta į JavaScript (nors ji, kaip minėta, visai nesusijusi su Java). Bet ir Java įsibrovė į naršyklę per įskiepius (applets), tad pirmąkart programuotojai galėjo tinklalapiuose naudoti grafinius žaidimus ir netgi kurį laiką tai buvo vienintele galimybe ką nors įspūdinga parodyti www puslapyje.
Čia kviečiu paskaityti apie pirmąjį Java įskiepį Lietuvoje >>>>>Tačiau likimo ironija dabar tokie įskiepiai laikomi blogiausiu dalyku, kokiu tik gali būti pasaulyje, ir naršyklės atsisakė juos palaikyti tad naršyklėse Java yra beveik mirusi. O už naršyklių ribos Java nebuvo labai populiari išskyrus kelias išimtis daugiausia todėl, kad jai nepavyko gero GUI. Pirmoji buvo AWK, neatrodžiusi gerai, o šią pakeitė Swing (šią teko pačiam gerą dešimtį metų savo darbinės veiklos pabaigoje teko labai aktyviai naudoti). Vėliau pasirodė Java FX, kurią, ko gero, mažai kas suprato ir naudojo.
Padidėjęs susidomėjimas Java kliento pusėje leido jai išplisti į serverio pusę bei verslo programų sritį. Tuo metu Java buvo vienintelė populiari objektinė kalba, kuri atrodė pakankamai rimta šiai užduočiai atlikti (nors nebuvo vienintele, žadėjusia WORA). Tačiau didžiausiu jos trūkumu buvo lėtumas.
Proveržis įvyko su J2EE, pateikusia programų serverio idėją leidusią kurti serverinę kliento-serverio tipo programų dalį. Šios idėjos aptarnavimui buvo sukurti aplikacijų serveriai: Tomcat, Jetty, JBoss, Geronimo, GlassFish ir kt. Ji su serveriniais įrankiais pasirodė gana anksti, dar 1999 m. - tuo metu Microsoft turėjo tik seną (gerą) klasikinį ASP (labai panašų į JSP) su šiuo prieš tai irgi masyviai dirbau kokius 20 m. (ir daug puikių sistemų buvo su juo sukurta!) Ir tik 2002 m. šviesą išvydo .NET.
Tai galiausiai leido gauti tokių stambių kompanijų kaip IBM palaikymą ne todėl, kad Java labai gera ir inovatyvi, o todėl, kad nieko geresnio tuo metu nebuvo (C# pasirodė, kaip ir .Net, 2002 m. ir buvo privatizuota, o VB buvo puiki (dėl to ją ir naudojau kartu su ASP), tačiau kėlė žaisliuko, tinkančio mėgėjams, įvaizdį; C++ turėjo sudėtingos ir sunkios kalbos reputaciją, o tuo metu jau egzistavusi Python buvo mažai naudojama, o ir šiandien kai kurių tebelaikoma entuziastų kalba, mažai tinkama rimtai verslo programinei įrangai).
Net ir po 30 metų Java vis dar neturi patikimo konkurento bankininkystės ir finansų srityje, - ir tai nuostabu po tiek laiko. Kitose srityse Python jau užėmė dalį Java imperijos, ją pranokdamas kaip bendrosios paskirties kalba ir kalba, plačiausiai naudojama švietime. Nuo Java pasirodymo buvo sukurta daug kitų kalbų, veikiančių JVM (Clojure, Groovy, Scala, Kotlin ir kt.) tačiau nė viena neišstūmė Java iš jos pozicijos.
Bet į kur Java eina dabar?
Ko labiausiai bijo įmonės, nepaisant technologijų sparčios pažangos? Jos bijo Java atnaujinimų. Joms nepaprastai svarbus yra stabilumas ir galimybė toliau naudoti sistemas, kurios veikia jau 20 m. ir ilgiau. Kitas aspektas yra tai, kad programinė įranga dažnai renkamasi dėl dėl teikiamos pagalbos ir konsultacijų (pvz., įmonės renkasi Oracle DB, nepaisant stiprios konkurencijos, tame tarpe ir iš atvirųjų DB pusės, bei nepopuliarumo tarp programuotojų). Tas pats ir dėl Java.
Bet kam įmonės naudoja Java? Didžiausios skaičiavimų apkrovos dabar debesijoje ir apie 2/3 organizacijų, naudojančių Java debesyse teigia, kad apie 50% jų sąnaudų susiję su būtent su Java. Tad Java optimizacija ten būtų galimybė sumažinti sąnaudas neprarandant produktyvumo. Tam yra nemažai bandymų, ypač JVM startavimo laiko sutrumpinimui, nes būtent JVM tam labai reiklios, nes klasių inicializacijas suryja daug laiko. Šioje srityje yra keletas bandymų (be GrallVM ir Spring Native), pvz., OpenJDK Leyden ir kt.
Java didžiausiu priešu dirbtinio intelekto srityje išlieka Python. Vis tik apklausos rodo, kad 50% organizacijų toje srityje naudoja Java tuo rodikliu aplenkdamos tiek Python, tiek JavaScript. Taip yra dėl bibliotekų, tarp kurių JavaML lieka populiariausia.
Siekiama supaprastinti Java (2025.05.15)
Visiškam pradedančiajam Java gali būti baugi, nes reikia naudoti kažką, kas jam dar visiškai neaišku. Jei Python Labas, pasauli programa atrodo tiesiog taip:
print ("Labas, pasauli!")tai Java tenka prirašyti tonas papildomo kodo:
public class LabasPasauli { public static void main(String[] args) { System.out.println("Labas, pasauli!"); } }O argi nebuvo galima parašyti tiesiog
System.out.println("Labas, pasauli!");
?
Taip yra todėl, kad kalbų paskirtis skiriasi. Java skirta dideliems projektams, kuriuose tenka rasti būdus tvarkytis su didelės apimties programomis. Vis tik JEP512 (JDK Enhancement Proposal) siūloma supaprastinti Java ir jei tasai pasiūlymas bus įgyvendintas, Labas, pasauli! atrodytų taip:void main() { IO.println("Hello, World!"); }Tai jau beveik tiek paprasta, kiek tai paprasta yra C ar C++!
1) Maikas Šeridanas (<>I>Mike Sheridan) - amerikiečių kompiuterininkas, vienas Java kūrėjų, vėliau buvęs Persona projekto, kūrusio sprendimus smulkaus verslo ir personaliniams serveriams. 1998 m. tapo Novell viceprezidentu.
2) Patrikas Notonas (Patrick Naughton, g. 1965 m.) - amerikiečių programinės įrangos kūrėjas, vienas iš Java kūrėjų. Sun kompanijoje 1994 m. vasarą po tris dienas trukusių svarstymų, buvo nuspręsta orientuoti Java kaip www skirtą platformą. Jis parašė smulkią naršyklę, pavadintą WebRunner, vėliau pervadintą į HotJava. Tačiau tais pat metas jis paliko Sun, pereidamas į Starwave (tada priklausiusią P. Alenui), kad Java kalba kurtų serverinius taikymus. 1998 m. sujungus Starwave su InfoSeek, tapo šios vice prezidentu, tačiau po suėmimo už sekso su nepilnamete siekimo 1999-ais iš jos atleistas (jo gynybos taktika vėliau imta vadinta fantazijų gynyba, išpopuliarėjusi tarp pedofilų).
3) Brendanas Eichas (Brendan Eich, g. 1961 m.) - amerikiečių kompiuterininkas, vadovas technologijų srityje. Sukūrė JavaScript kalbą (pradžioje vadintą Mocha, vėliau pervardintą į LiveScript, ir tik tada į JavaScript). Kartu jis su suprojektavo SpiderMonkey vykdytoją, užtikrinantį JavaScript vykdymą Netscape Navigator naršyklėje. Nuo 1995 m. dirbo Netscape kompanijoje, kur dalyvavo kuriant Mozilla naršyklę ir iki 2014 m. buvo Mozilla Co CTO. 2012 m. dalyvavo kuriant Rust kalbą. Pasitraukė iš Mozilla Co dėl kritikos, kad palaikė draudimą vienos lyties asmenų santuokoms. Vėliau užėmė CEO pareigas Brave Software firmoje, 2016 m. išleidusioje atviro kodo Brave naršyklę, blokuojančią reklamas.
Vartiklis nr.22
Tiesiog - Java
Komponentų karas
Ar eis žmonės "Pas Juozapą"?
Kas ten žiūri į mano miegamąjį?
Naršyklių karai ir FireFox krizė
Windows NT: Viskas iš pradžių?
Daugiakalbė paieška
Nuotraukytę atminčiai?
Ar priimsi i lizdelį?
Kam tai ne programa?
Vartiklis