Objavljeno: 27.10.2009 | Avtor: Uroš Mesojedec | Monitor Oktober 2009 | Teme: komentar, mnenje

Java po javi

Java po javi

Za boljšo kakovost izdelkov programske industrije se že dolgo iščejo ustrezna orodja. Java je prinesla mnoge izboljšave in številnim razvijalcem ponudila lažji in hitrejši razvoj. S časom so se izkazale tudi njene številne slabosti, a to njene priljubljenosti ni zmanjšalo.

Ravno nasprotno. Java je še vedno eno najbolj priljubljenih razvojnih orodij. Zelo pogosto jo najdemo tudi v izobraževalnih in raziskovalnih ustanovah. Java si je izrezala kar precej niš, ki so sčasoma prerasle v cele veje programerske industrije. Čeprav se je pohod jave začel preko programčkov na spletnih straneh, je z njih pravzaprav izginila in se preselila bolj v ozadje, v strežnike in drugo programsko infrastrukturo, ki jo zadnje čase uporabljamo predvsem kot storitve v oblaku.

Drugo, tradicionalno uspešno področje jave, so bile mobilne naprave. Kadarkoli so želeli v podjetju Sun, tvorcu jave, poudariti njen uspeh, so navajali številke mobilnih naprav, na katere je nameščen njen izvajalni stroj. Res so bile številke velikanske, a java na mobilnih napravah ni nikjer prevzela pomembnejše vloge, v glavnem je bila le privesek, namenjen predvsem preprostim igricam.

Sun je programsko podlago java sicer ustvaril in ji dal potreben zagon, vendar je neredko zelo oviral njen razvoj. Zaradi nerazumnega zavlačevanja pri odpiranju njene kode je prav po nepotrebnem jezil skupnost odprte kode, ki se je jave izogibala, kjer se je dalo. Celo sam Richard Stallman, tvorec projekta GNU in dovoljenja GPL, ki sta med drugim omogočila izjemen uspeh Linuxa, je opozarjal pred "javansko pastjo". Po njegovem mnenju je bilo razvijanje na javi preveč tvegano, saj bi Sun lahko kadarkoli spremenil pogoje njene rabe in tako tudi projekte z odprto oziroma prosto kodo obsodil na smrt. No, Sun je - žal zelo pozno - javo le sprostil skupnosti, s čimer je Stallman svoje mnenje umaknil, a zelo veliko časa in truda je šlo v kloniranje funkcionalnosti, ki je sicer bila na voljo brezplačno že od stvaritve te programske podlage.

A tudi vsaka slaba stvar je za nekaj drugega dobra. Kloniranje javinih funkcionalnosti je prineslo tudi številne projekte, ki so samo podlago zelo obogatili. Izjemno vlogo pri tem je imela programerska fundacija Apache, ki jo sicer marsikdo pozna po njihovem spletnem strežniku, a veliko večino drugih projektov razvija prav za javo ali na njej. Drug projekt, ki že s samim imenom ponazarja kljubovanje Sunu, je v IBMu spočeti "Mrk". Odprtokodni projekt Eclipse ni le prinesel izjemnega razvojnega okolja, ki zaradi javine neodvisnosti od strojne in programske infrastrukture deluje praktično na vseh priljubljenih namiznih sistemih, Eclipse je prinesel tudi nov način razvoja namiznih programov, ki so imeli učinkovite uporabniške vmesnike, čeprav je zaradi tega zlomil združljivost standardnim javanskim ogrodjem Swing.

Nekaj podobnega se je zgodilo tudi pri rabi jave v svetu poslovnega programja, kjer je verjetno doživela največji uspeh do zdaj. Standardni model razvoja poslovnih programov, ki ga je skozi standarde, kot je Enterprise Java Beans, tlakoval Sun, je razvijalcem prinesel precej nepotrebnih bolečin in dolgo so se iskale različne poti, kako razvoj programske opreme olajšati in ga narediti predvsem robustnejšega, kar je bila sicer ena glavnih obljub jave, ko se je postavila kot programerski nadomestek za zapleteni C++. Številni uporabniki jave niso stali križem rok in skozi čas se je izoblikovalo silno veliko alternativnih modelov izgradnje zapletenih aplikacij jave, kot sta Hibernate in Spring.

Morda bi kdo po vseh naštetih alternativah lahko sklepal, da je z javo nekaj resno narobe, a vsi ti zgledi kažejo ravno nasprotno - java je očitno zabrenkala na prave strune in ponudila izjemno izhodišče in dovolj univerzalno podlago, k razvoju katere lahko prispevajo vsi. Nekdaj razvpite slabosti se umikajo v ozadje z vsako novo predstavljeno izboljšavo, priljubljenost jave pa se še povečuje. V minulih letih so bile izboljšane predvsem najbolj boleče točke poslovne jave, saj so jo široko sprejele najmogočnejša računalniška podjetja, izmed katerih izstopata predvsem IBM in Oracle, ki bo, po vsem sodeč, zdaj Sun celo prevzel, zelo verjetno predvsem zaradi jave.

Javi pa je dal blagoslov še en, mladi velikan računalniške industrije. Google podpira in dopolnjuje javo v vse več lastnih projektih, ki se počasi iz zalednih sistemov selijo tudi naravnost pred oči uporabnikov. Trenutno najbolj vroč tak projekt je operacijski sistem za prenosne naprave, Android, katerega temelji so sicer v Linuxu, java pa je bila uporabljena kot navdih za čim lažji razvoj novih aplikacij Androida. Google se je sicer odločil, da celotna podlaga jave za prenosne naprave (Java ME), kot si jo je zamislil Sun, za njihov sistem ni najprimernejša, so pa ohranili javo kot programski jezik in jo oplemenitili z optimiziranim izvajalnim okoljem in močnim naborom razvojnih pripomočkov, ki temeljijo na prej omenjenem Eclipsu. Google javo izkorišča še na številnih drugih področjih. Njihov prispevek skupnosti je tudi odprtokodno ogrodje GWT, ki omogoča razvoj spletnih programov v javi, ki pa jo poseben prevajalnik predela v brskalnikom prijazno kombinacijo javascripta in HTML.

Javnosti je Google predstavil še en projekt, Guice, ki ravno tako prevzema vse pomembnejšo vlogo v njihovih internih projektih, hkrati pa je požel veliko zanimanja tudi v različnih javanskih skupnostih. Guice drastično olajša izgradnjo, preizkušanje in vzdrževanje bolj zapletenih programov s pomočjo tehnike, poimenovane "vbrizganje odvisnosti" (dependency injection), ki jo je med razvijalci že precej populariziral Spring. Guice je predstavljen kot košček manjkajoče funkcionalnosti, ki bi jo moral poznati že sam programski jezik, a dokler je ni, je tu pač java in Guice.

No, zdaj se zdi, da je prišel čas tudi za nove programske jezike. Spet so se izvirni javini temelji, predvsem izvajalni sistem (JVM), izkazali za zelo kakovostno in prilagodljivo podlago, ki lahko prijazno sprejme tudi kodo, ki je razvita v programskih jezikih, ki niso java. Po priljubljenosti trenutno prednjačijo jruby, jython, groovy in celo javascript, saj najnovejše različice jave podpirajo programiranje v poljubnem skriptnem jeziku, ki zahteva le nekaj relativno preprostih prilagoditev za uporabo na izvajalnem sistemu JVM.

Najbolj sveže presenečenje pa je znova prišlo iz Googlovih krogov, imenuje pa se Noop. Čeprav (še) ni uraden Googlov projekt, pa so ključni ljudje projekta prav Googlovi inženirji. Noop naj bi prinesel nov programski jezik, ki bo na preverjeni javanski infrastrukturi ponudil vse prednosti sodobnih pristopov k programiranju in ob tem čim bolj onemogočil vse nerodnosti, ki jih tradicionalna java pač mora prenašati tudi v prihodnost.

Google podpira in dopolnjuje javo v vse več lastnih projektih, ki se počasi iz zalednih sistemov selijo tudi naravnost pred oči uporabnikov.

Naroči se na redna tedenska ali mesečna obvestila o novih prispevkih na naši spletni strani!

Komentirajo lahko le prijavljeni uporabniki

 
  • Polja označena z * je potrebno obvezno izpolniti
  • Pošlji