Tiesiog "Java"
Pastaba: Šis puslapis buvo parengtas 1996.04.12. Kai kurie vertinimai palikti iš to laiko jie palikti kaip istorinis to meto kontekstas; patys spręskite, kiek tebeaktualūs tie samprotavimai. Šiuo metu puslapis buvo peržiūrėtas ir patikslintas.
Pasaulyje šiuo metu yra apie 15 mln. programuotojų. Iš jų per 9 mln. sakėsi bent dalį laiko skyrę programavimui Java kalba. Tad Java yra labiausiai naudojama programavim kalba pasaulyje.
Java.
Jos pradžia buvo 1991 m. vadinantis Oak, esant dalimi Sun projekto, kurio tikslas buvo sukurti programavimo kalbą, kuri užpildytų spragą tarp valdomų prietaisų (pvz., kasetinių magnetofonų ar televizorių). James Goslingo vadovaujama Green komanda siekė sukurti kalbą, kuri tiktų prietaisams su skirtingais procesoriais.
Pradinis tikslas žlugo nesusitarus su prietaisų gamintojais. Green komanda privalėjo rasti naują rinką savo kalbai. Laimei, išpopuliarėjo Internetas ir Oak kalba puikiai tiko web komponenčių kūrimui. Tie nedideli programiniai vienetai, vadinami apletais, tapo pradine Oak naudojimo niša. Didelis proveržis įvyko 1995 m., kai Netscape įtraukė Java į savo naršyklę.
Objektinis programavimas prasidėjo su SIMULA-67 (1967) kalba ir persikėlė į populiarias kalbas, pvz., C++. C++ įtakojo daugelį Java koncepcijų.
Pavadinimo kilmė
Iš pradžių šią kalbą James Gosling'as vadino "Oak" (išvertus "ąžuolas"), nes pro jo "Sun" ofiso langą matėsi didelis ąžuolas. Tačiau vėliau buvo pastebėta, kad taip jau buvo vadinama kita programavimo kalba. Ir visų nuostabai, buvo nepaprastai surasti tinkamą pavadinimą, - Green komanda praleido nemaža valandų svarstydama įvairius variantus. O vieną dieną pavadinimas "šovė į galvą", beeinant į vietinę kavos parduotuvytę.
Ir manau teisingai, nes "Java" žymiai skambesnė, negu ne anglui svetimas žodis "Oak" (Ach tie amerikonai, manantys, kad visas pasaulis vien tik vograuja angliškai). O "laukiniui" lietuviui (t.y. man) iš kart prieš akis "stojasi" paplūdimiai ir pusnuogės moterys...
Kokia ji, ta gražuolė?
"Java" labai panaši į C++, tačiau yra daug paprastesnė. Išmestos visos _nebūtinos_ galimybės: nėra operacijų polimorfiškumo, aprašų failų, preprocesoriaus, veiksmų su nuorodomis, struktūrų, kelių matavimų masyvų ir t.t. Ir tereikia šiek tiek žinoti C/C++ arba "Pascal", ir galite dumti pirmyn. Štai klasikines "Labas, pasauli!" pavyzdėlis:
public class LabasJava { public static void main ( String argv[] ) System.out.println ("Labas, Java!"); } }Gražu?
Kaip veikia "Java" programos?
Štai kaip tai įsivaizduoja James Gosling'as (žmogus, prieš 1990-ais parašęs "Emacs"): Tai va! Paruošta programa registruojama serveryje. Ir kai vartotojas pasiunčia užklausą: "Ei, o kaip atrodo tas puslapiukas?" - pradeda sunktis nurodytas puslapiukas. O jame "įsiūta" "Java" programa, kuri apsižiūrėjus pyksta: " Ei vaikine, šioje vietoje turi būti va toksai filmukas! Ar jo nėra vietoje? Ech, ne - tada važiuojam į serverį jo pasiimti!" Ir man visai nerūpi, kur jis yra - Valstijose ar Zimbabvėje - programa jį suras automatiškai.
Kuo pasižymi?
Pirmiausia, "Java" laikoma objektine kalba. Beveik viskas, išskyrus skaičius, joje yra objektai, realizuojami naudojant klases. Kiekviena klasė yra metodų, aprašančių objekto elgseną, aibė. Neatmetamos ir sąsajos, kurios leidžia naudoti objektus nesirūpinant, kaip objektai yra realizuoti. "Java" sąsajos yra panašios į IDL sąsajas, o tai reiškia, kad ji pritaikoma CORBA modeliui.
Be to, "Java" programos gali turėti kelias gijas ("threads"). Ne paslaptis, kad programuoti kelių procesų valdymą nėra lengva (tai visai ne tas pats, kaip "tiesiog išgerti stiklinę vandens"), tačiau "Java" supaprastina jų sinchronizacijos mechanizmus. Realiai, "Java" gijos tiesiogiai atvaizduojamos į terpės gijas.
Ir kiekvienas pastebės, kad nereikia rūpintis atminties valdymu. Išskyrus atminties sritį, nebūtina ją atlaisvinti. "Šiukšlių surinkimo" programa automatiškai tikrina ir sistemai sugrąžina nenaudojamus atminties resursus. Ir t.t. ir t.t. Tiesiog rožinė pasaka žvelgiant pro rožinius akinius.
Ar viskas gražu?
Pati "Java" kalba nėra stebuklas, nors visi ir tekalba tik apie ją! Juk "Ką galiu parašyti su C++, - galiu ir su 'Java'. Ir atvirkščiai!" (J. Gosling). Taigi vertybė ne kalba, o jos programų naudojimo technologija! Juk programą aš galiu parašyti ir C/C++, "Pascal" ar "Visual Basic" (kas, beja, jau įmanoma su "Visual Script"), - tereikia turėti kompiliatorių į "bytecode". Ir neabejoju, kad jie greitai atsiras!
Taip pat drįstu nesutikti ir su teiginiu, kad tai labai saugi kalba. Aš esu didelis "blogiukas" ir savajame puslapyje galiu paslėpti didelę "blogybę". Visi, kurie užsuks į šį puslapį, pasičiups ir manąją "dovanėlę". Štai tą patį kalba ir ekspertai. O štai "Symantec" paskelbė, kad ji jau sukūrė pirmąją virusų paieškos programą "Java" virusams. JĖGA, ar ne? - juk dar nežinoma, ar egzistuoja "Java" virusai!
Keista taip pat girdėti, kad "Java" programos labai stabilios. Iš tikro, jos tėra tiek stabilios, kiek terpė, kurioje jos yra vykdomos. Jei terpė neleidžia pažeisti (arba pati nepažeidžia) sistemos resursų, - tai juk terpės, o ne "Java" privalumas. Bet ar matėte programą be klaidų?
Yra dar daug klausimiukų, bet palikime kol kas juos ateičiai. O tuo metu priminsiu problemėlę, kuri iškilo arabams dėl JAV prezidento rinkiminės kompanijos. Bob Dole pavardė rašoma lygiai taip pat kaip persų kalbos žodis reiškiantis žmogaus organą, kuris lotyniškai vadinamas penis. Įsivaizduokite, kaip, jam laimėjus, skambėtų laikraščių antraštės: "JAV prezidentu tapo B...s!" Kur ten "Java" problemoms!
Kaip pradėti?
Labai paprasta atsisiunčiate ir įsidiegiate reikiamą Java SDK (pvz., Java SE iš www.oracle.com/java). Su Java SE gausite:
* Java runtime aplinką (JRE);
* Java virtualiąją mašiną (JVM) naudojamai platformai;
* naudojamos platformos bibliotekas;
* Java kompiliatorių;
* papildomas utilitas (pvz., archyvo (JAR) sukūrimui; klaidų paieškai ir kt.);
* kodo pavyzdžius.Su JDK jau galite kompiliuoti ir vykdyti savo programas.
O kad būtų patogiau, naudinga turėti ir programavimo aplinkas (IDE), pvz., Eclipse, suteikiančias vizualias priemones, palengvinančias programų kūrimą, jų platinimą ir kt.Po to, kai prsisiuntėme JDK, galime pabandyti vykdyti pirmąją mūsų programą.
Programos tekstą įrašome į tekstinį failą vardu LabasJava.javaKompiliuojama:
javac LabasJava.javaSukompiliavus kataloge atsiras failas LabasJava.class
Dabar jį galima vykdyti komanda:
java LabasJavaIr ji išduos pranešimą:
Labas, Java!
Pateiksime trumpą instrukciją, kaip sukurti ir patikrinti šią programą Eclipse aplinkoje (nurodyta pagal Eclipse Java EE Luna 4.4.1 versiją):
Kuriame naują Java projektą: File -> New -> Java project
Duodam vardą projektui: LabasJava
Spaudžiam mygtuką FinishLabasJava projekto grupėje ties katalogu src vykdom:
New -> Class
Priskiriame klasės vardą: LabasJava
Žemiau nurodome (uždedame varnelę, kad reikia sukurti main metodą (ties public static void main (String[] args))
Spaudžiam mygtuką Finishmain metode įrašome:
System.out.println ("Labas, Java!");Išsaugome ir vykdome:
Run -> Run As -> Java ApplicationConsole lange turi pateikti pranešimą" Labas, Java!
Pastaba: Apie HTML galite paskaityti šiame straipsnelyje.
Ateities kalbos?
JavaScript pradmenys
Anotacijos Java kalboje
Programavimo kalbų klegesys
Lambda išraiškos Java į naują lygį
AWK kalba - sena ir nuolat aktuali
Pirmasis Java įskiepis Lietuvoje
Įvadas į Perl kalbą: Kas naudoja Perl?
Dygios JavaScript eilutės
Anotacijos Java kalboje
Programavimo kalbų istorija
Java 8: Optional prieš null
Iš kur Javos tas lėtumas?
Unix komandinės eilutė
Tiesa apie REST
Ruby on Rails
Tcl kalba
Pirmoji programa
NSO puslapis
Vartiklis