Objavljeno: 25.6.2005 12:54 | Avtor: Uroš Mesojedec | Monitor Junij 2005

Programerske novice: junij 2005

Ker po precej hrupa še vedno ne kaže, da bo Sun popolnoma sprostil izvirno kodo jave, se je z lastno pobudo oglasila organizacija Apache Software Foundation (ASF). Vse več izdelkov ASF, ki je najbolj poznana po spletnem strežniku, temelji na javi (Ant, Tomcat, Geronimo...). S tem postajajo vse bolj odvisni od temeljne podlage in morda so ravno zaradi tega sprožili projekt Harmony, katerega cilj je izdelati neodvisno in prosto izvedbo jave, skladno s specifikacijo J2SE 5 (kodno ime Tiger).

Apacheva odprta java

Projekt je v začetni fazi, vendar so se mu že priključili vidni posamezniki sorodnih projektov Kaffe (navidezni stroj) in Classpath (javanska knjižnica). ASF računa, da jim bo Sun, kot neprofitni organizaciji, omogočil brezplačen dostop do preizkusov skladnosti, brez katerih ni mogoče priti do uradno priznane različice jave.

Ne glede na morebiten uspeh, je nov projekt brez dvoma močan pritisk na Sun, da končno le objavi lastno različico jave pod popolnoma prostimi pogoji.

http://www.apache.org/

Krotenje Tigra

Sveža različica Applovega operacijskega sistema Mac OS X 10.4, znana pod imenom Tiger, je povzročila precej razburjenja zaradi zanimivih novosti. Precej novih pripomočkov prinaša tudi programerjem. Posebej zanimivi sta tehnologij Automator, ki omogoča hitro sestavljanje povezanih postopkov, in Dashboard, okolje za izvajanje majhnih pomožnih programčkov, izdelanih s kombiniranjem tehnologij javascript, HTML in CSS. Že znano, vendar precej izboljšano je razvojno okolje Xcode 2.0, ki ponuja vizualni razvoj programov. Tiger omogoča programerjem tudi razširjanje danes tako priljubljenega preiskovanja namizja, ki ga ponuja storitev Spotlight.

Skupaj z javno predstavitvijo novega sistema je Apple prevetril spremljajočo dokumentacijo, ki jo lahko najdemo v spletu. Zaradi novih, zelo zanimivih in razmeroma preprostih tehnologij, ki omogočajo avtomatizacijo vsakdanjih opravil, in vse večje priljubljenosti Applovih sistemov, ki zasedajo dokaj pomemben del trga, je nagib za razvijalce toliko večji. Spletišče Apple Developer Connection, ki ponuja izčrpno dokumentacijo za opisane tehnologije, bo zato verjetno zelo obiskano.

http://developer.apple.com/macosx/resources.html

Upravljanje izvirne kode

Ustrezno upravljanje izvirne kode (source code management) je za vsak projekt, pri katerem sodeluje večje število ljudi in se vzdržuje v več razvojnih vejah, izjemno pomembno. Zaradi nedavnega spora okrog orodja za nadzor izvirne kode jedra Linuxa, so tovrstni sistemi postali zelo prepoznavni tudi širši množici računalniških uporabnikov. Zaradi povratnega inženirstva, s katerim je eden od avtorjev Sambe omogočil dostop do BitKeeperjevega osrednjega skladišča kode tudi programerjem, ki ne uporabljajo BitKeeperjevih odjemalcev, se užaljeni avtor (in Linusov prijatelj) odločil preklicati brezplačno dovoljenje za njegovo uporabo razvijalcem proste kode.

Linux Torvalds je bil tako prisiljen razviti lastno orodje, Git, ki pa za širšo javnost ni preveč uporabno, saj predvsem kratkoročno rešuje "abstinenčno krizo" zaradi nezmožnosti nadaljnje rabe BitKeeperja. Vendar pa je celotna afera zaradi tega poživila razvoj preostalih odprtokodnih upravljalnikov izvirne kode. Namizje KDE se tako od nedavnega razvija pod nadzorom sistema Subversion, s katerega so prešli iz ostarelega CVS, ki pa je še danes eno najbolj priljubljenih orodij za tovrstno delo. Resno konkurenco obema pa predstavlja tudi sistem Monotone.

http://www.gnu.org/software/cvs/

http://subversion.tigris.org/

http://www.venge.net/monotone/

Prevajanje naravnih jezikov

Razvoj programske opreme je zahtevno delo, pogosto pa je dodatno oteženo s slabim razumevanjem vseh vpletenih strani. Uporabniki, ki želijo programsko rešitev, pogosto ne razumejo značilnosti programiranja, programerji pa, na drugi strani, pogosto zelo slabo poznajo problematiko, za katero morajo razviti programsko rešitev. Programski jeziki seveda niso tako izrazni ali prilagodljivi kot naravni jeziki, kar je najbolj značilno pri prevajanju specifikacije zahtev v dejansko kodo.

Razvijalci na znamenitem institutu MIT so se zato lotili razvoja izdelka Metafor, ki omogoča samodejno prevajanje opisa zahtev v angleščini v programsko kodo. Postopek v grobem poteka tako, kot lahko preberemo v praktično vsaki knjigi, ki se ukvarja s predmetnim programiranjem. V opisu problema samostalniki postanejo predmeti (objects), njihovi pridevniki lastnosti (properties), glagoli pa metode (functions, methods). Metafor tako še ne omogoča samodejnega prevajanja iz naravnega jezika v programskega, vendar je lahko v neprecenljivo pomoč pri boljšem razumevanju vseh vpletenih v razvoj programske rešitve, to pa lahko znatno skrajša čas razvoja in izboljša njeno kakovost.

Morda bi se z orodjem, kot je Metafor, lahko "prevedlo" tudi zakone in precej avtomatiziralo delovanje pravne države?

http://web.media.mit.edu/~hugo/research/#metafor

Tekmovanje

V želji povečanja priljubljenosti podlage PowerPC za izvajanje odprtokodnih programov, je IBM razpisal natečaj za razvoj nove kode, specifično namenjene Linuxu, ki se izvaja na podlagi s procesorjem PowerPC. Tekmovalci lahko izberejo tudi prenos enega od programov s pripravljenega seznama, ki na tej podlagi še ne delujejo. Najboljši bodo prejeli zanimive nagrade, med katerimi je pet električnih vozil Segway HT, 50 računalnikov Apple G5 in 50 denarnih nagrad po 1000 dolarjev. Prijave sprejemajo do 15. julija.

http://www.linuxonpower.com/

Zbogom, VB6

Kljub protestom vidnih posameznikov se Microsoft glede Visual Basica 6 (VB6) ni premislil. Izdelka ne podpirajo več in eni najštevilčnejših množic programerjev ne preostane drugega, kot da se čim prej preselijo na naslednika, Visual Basic.net (VBnet), ali pa si s plačilom in posebno pogodbo zagotovijo podporo še za tri leta.

Težava z VBnet je ta, da ni povsem legitimen naslednik priljubljenega VB6, saj je VBnet v resnici C# z basicu podobno skladnjo in je zato precej velika stopnica, ki jo morajo prestopiti vsi uporabniki starejše različice. Spremembe so tako občutne, da je s prehodom marsikdo odlašal do zadnjega, o čemer priča tudi peticija, ki jo je podpisalo skoraj 5000 programerjev, med njimi okrog 240 s priznanji MVP (Microsoft Most Valuable Professional).

Microsoft namesto podpore VB6 v razvojnem okolju Visual Studio.net obljublja nekaj pripomočkov za uporabnike, ki še niso presedlali. Med drugim naj bi v okrilju omrežja za razvijalce MSDN odprli oddelek "Upgrade Center", ki bi ponujal dokumentacijo in orodja za lažji prehod na nov programski jezik. VBnet naj bi pridobil še nekatere izboljšave, ki jih uporabniki VB6 za zdaj pogrešajo, npr. možnost urejanja kode po prekinitvi in takojšnjega nadaljevanja preizkušanja (edit and continue).

No, resnici na ljubo je za okorele uporabnike VB6 na voljo še ena rešitev, RealBasic, skoraj popoln klon klasičnega visual basica, ki pa ponuja celo razvoj za več podlag in izdelavo samostojnih programov, ki za delovanje ne potrebujejo celega kupa nameščenih knjižnic.

http://msdn.microsoft.com/vbasic/

http://classicvb.org/petition/

http://realbasic.com/

Železni python, boo in psiho

Sredi leta 2003 je Jim Hugunin začel raziskovati srce Microsoftove pobude .net, skupni izvajalni sistem za različne programske jezike (CLR). Čeprav je bil njegov namen pisanje članka o neprimernosti sistema, kot je CLR, za različne dinamične, skriptne jezike, je ugotovil ravno nasprotno in začel s prenosom priljubljenega, zelo dinamičnega programskega jezika python nanj. Izdelek, znan pod imenom IronPython, je bil sprva združljiv z različnimi izvedbami CLR, kot je Microsoftov .net pa tudi Ximianov (zdaj Novellov) Mono. Avtorja pa je skrbel počasen razvoj izdelka, kljub zelo razburljivim zmožnostim, ki jih je ponujal CLR. Po preučevanju številnih alternativ se je zaposlil pri Microsoftu, kjer nadaljuje razvoj.

Nedavno je predstavil različico 0.6, ki je na voljo kot prosti program, z dostopno izvirno kodo. Ker nova različica izkorišča novosti CLR 2.0, zaenkrat ni združljiva z okoljem Mono, ki pa naj bi s časom pridobilo vse zmožnosti vzornika.

Čeprav se zdi ponudba še enega okolja za python odvečna, je IronPython privlačna izbira za marsikoga. Obljublja do 70 % večjo zmogljivost od pythona za arhitekturo x86, razvitega v C, poleg zelo bogate knjižnice pythona lahko uporablja tudi knjižnice ogrodja .net, z IronPythonom lahko razrede slednje tudi razširjamo z dedovanjem.

Hugunin pa ni edini, ki ga je skrbela odsotnost pythona iz sicer bogate izbire jezikov za CLR. Rodrigo Barreto de Oliveira je iz zelo podobnih razlogov in skoraj hkrati začel razvijati jezik boo. Boo se zgleduje tako po pythonu kot po vse bolj priljubljenem rubyju, povzema pa tudi nekatere privlačne značilnosti C#. Februarja se je boo prebil že do precej uporabne različice 0.5. Tudi izvirna koda boo je dostopna brez posebnih omejitev, pod dovoljenjem BSD. Boo potrebuje temeljne storitve izvajalnega okolja in (še) ne izkorišča novosti .net 2.0, zato je brez težav uporaben tudi v okolju Mono.

Če za razvoj na arhitekturi x86 kljub vsemu raje uporabljamo klasični python, pa nam utegne pomagati orodje psycho, ki kodo prevede pred izvajanjem in jo s tem znatno pospeši. Podrobnosti najdemo v spletu.

http://www.ironpython.com/

http://boo.codehaus.org/

http://psyco.sourceforge.net/

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