Blog.hr

Java dan


Ovaj tjedan ću svaki dan napisati nešto o jezicima koje koristim, koje sam koristio ili koje namjeravam koristiti. Hm, da li će to biti sedam alata kao sedam samuraja? :-)

Danas je na redu Java. S Javom sam se počeo ozbiljno baviti kad sam se zaposlio u hrvatskoj podružnici jedne njemačke firme (kasnije je ta epizoda postala popularna pod kodnim imenom: Naguzi ;-) ). Prije toga je Java za mene bila pojam nečeg sporog i ne pretjerano korisnog, izuzev web aplikacija. Iako sam u Naguziju bio pomalo po strani ipak sam se s Javom poprilično dobro upoznao.

Naguzi je nagužen i razdužen kad su gazde kupile hrpu jeftinih programera negdje na Dalekom istoku. Za mene je to značilo i kraj flertovanja s Javom. Vratio sam joj se kad sam si umislio da bi mogao iskoristiti šansu koja se otvorila na tržištu aplikacija (igara) za mobilne telefone. Šansa je bila u tome što je ponovno mali tim ljudi, ili čak 'one man band' mogao biti konkurentan. Nije dugo trajalo, veliki igrači su zagrizli i svojim velikim nosačem potopili su drvene brodice malih igrača. Inventivni i agilni, mali kormilari i u toj su buri nastavili ploviti, ali ja još nisam ni stigao izgraditi svoju brodicu. U toj kratkoj avanturi shvatio sam da Nokia preko forum.nokia.com stranica ima najvjerojatnije najbolju podršku za J2ME programere. Tih dana sam se još zabavljao i sa SuperWabom koja pruža izvrsne mogućnosti za Java programere koji ciljaju na Palm i WindowsCE platformu.

Silom prilika počeo sam kao freelancer programirati u Javi pa sam postao ozbiljan Java programer. Frend mi je rekao da bivši kolega hvali jedan dobar alat koji se zove Eclipse. Nakon nevjerice i silnih MB (za jednog ISDN korisnika) skinutih s Interneta slijedilo je oduševljenje. Iako je prvenstveno Java IDE, Eclipse se uz pomoć odgovarajućih proširenja može koristiti i za druge programske jezike. Ako Vas zanimaju ta proširenja ovo je najbolja adresa. Eclipse je postala prva desktop aplikacija napisana u Javi koju sam počeo stalno koristiti. Da li je zbilja taj SWT toliko brži od SWING-a ili IBM ima toliko bolje programere od ostalih? Eh da, Eclipse je IBM-ov projekt koji su oni izdali pod Common Pulic licencom i zacijelo je jedan od najvrijednijih projekata koji je iz komercijalnog svijeta uplovio u svijet otvorenog koda. Zanimljiv je izbor imena za taj alat. Eclipse je pomrčina. Čega? Sunca (engl. Sun, ime firme koja je izmislila i drži kontrolu nad Javom)!

Ali uz Javu sam i dalje koristio pridjev veliko. Tipična web aplikacija, napravljena uz pomoć Jave, je zajedno sa svim potrebnim bibliotekama bila za nekoliko (desetina) puta veća od tipične PHP aplikacije koja radi isti posao. Istina, postao sam svjestan prednosti koje Java donosi, neke stvari bi se vrlo teško ili nikako mogle izvesti u PHP-u. Ali u Javi je sve veliko, ne možeš naći neki modul ili proširenje, a da je paket za skidanje manji od par MB. Malo i brzo je strani pojam u Java svijetu. Ponekad mi se učinilo da su Java programeri poput kraljeva u priči Rogera Zelazny-a: "Veliki spori kraljevi". U toj priči Zelazny govori o vladarima koji su tako spori da se za vrijeme jednog njihovog treptaja oka, rađaju i umiru čitave civilizacije.

Doznao sam da se Java koristi za čitav niz stvari. Uz pomoć Java Media Frameworka moguće je vrlo brzo i jednostavno isprogramirati streaming poslužitelj, a o klijentu da i ne govorimo. JavaPOS omogućava korištenje standardnih POS periferija i predstavlja pravu pomoć za programere Java POS (Point Of Sale => prodajno mjesto) sustava. Oni će ozbiljno razmišljati i o Charvi, swingolikom alatu za tekstualne terminale. iText je jako dobra biblioteka za stvaranje PDF dokumenata. U Javi se mogu raditi i 3D igre. Sun ju koristi za svoj Looking Glas projekt 3D desktopa. Cijeli niz jako korisnih biblioteka dostupan je pod nekom od open source licenci. Jedan od najboljih imenika je na Open Source Software in Java(tm) stranicama. Sun na Java stranicama ima dobru podršku za programere, na raspologanju je hrpa dokumentacije, članaka, tutoriala i knjiga.

I tako sam polako počeo nalaziti i na Java desktop aplikacije koje se čak mogu i koristiti ;-). DbVisualizer ima podnaslov "The Universal Database Tool" i zaslužuje to ime. Joerg Mueller's FreeMind je zanimljiva aplikacija za bilježenje toka misli, ali i za organizaciju raznih podataka, nacrt projekata. Ja sam ju iskoristio za konačno sređivanje zabilješki i primisli vezanih uz dvije knjige koje planiram napisati (najkasnije jednog dana kada odem u mirovinu na neki pusti otok). FreeMind posjeduje jednu karakteristiku svojstvenu mnogim open source projektima: i u inačici manjoj od 1.0 (FreeMind je 0.7.1) potpuno je funkcionalna i korisna aplikacija. Art Of Illusion je definitvno najbolji POV-Ray modeler. Prvi put sam za njega čuo na nekom forumu gdje ga je neki lik hvalio i rekao da ga je napisao njegov genijalni kolega s posla. Takve priče o genijalnim kolegama s posla uvijek uzimam s rezervom jer ih obično pričaju likovi koji sami ne mogu ništa napraviti pa preuveličavaju i najmanja dostignuća svojih kolega. Ali ovaj put je lik bio u pravu. AOI je stvarno djelo genijalca, modeler ima malo neobično sučelje, ali za razliku od svih ostalih konkurenata u njemu su podržane osobnosti POV-Raya. U njemu je kugla savršenog oblika jer se koristi sphere naredba, a ne puno malih trokutića ili kvadratića kao u drugim alatima. AOI je skriptabilan, i zahvalan sam mu jer mi je otkrio još jedan Java alat: BeanShell, najprirodniji skriptni jezik za Javu.

Java nije najbrži i najbolji programski jezik na svijetu, ali ima najbolju maskotu. Zove se Duke i neumorno Vas je pozdravljala dok ste čitali ovaj blogačak. ;-)