Objavljeno: 17.5.2005 10:59 | Avtor: Uroš Mesojedec | Monitor Maj 2005

Uroš Mesojedec: Boj podlag

Uroš Mesojedec: Boj podlag

Kadar smo soočeni z reševanjem problema, je praktično izbrati podlago, na kateri bomo s čim manj truda prišli do čim boljše rešitve.

Obvladovanje zapletenosti je ena izmed definicij dela programerja. In kot da ne bi bilo dovolj zapleteno že obvladovanje strojne opreme, je mnogokrat še veliko teže obvladati problematiko, ki naj bi jo programska oprema reševala. Zaradi take, kar dvojne zapletenosti, ki naj bi jo programerji obvladali, ni nič čudnega, da toliko projektov doživi neslaven konec.

Delna tolažba je znano pravilo, da pri reševanju projekta lahko izberemo le dvoje izmed naslednjega: poceni, pravočasno in kakovostno. Marsikdaj še tako velike vsote denarja ne morejo rešiti zavoženega projekta. Znano je tudi, da dodajanje ljudi ne prinese rešitve, saj zapletenost njihovega medsebojnega sodelovanja še dodatno onemogoči uspešno delo. O kakovosti pa sploh ne gre izgubljati besed. Težave nastajajo praktično povsod in sprejemljiva stopnja nezanesljivosti je pač dejstvo, ki ga sprejmemo že vnaprej.

Seveda nihče namenoma ne vlaga časa in denarja v nekaj, kar je vnaprej obsojeno na neuspeh. Zato se ponudba rešitev kar naprej spreminja. Danes en zveneč izraz, jutri druga kratica. Vsak dan pa nekaj novega, kar naj bi končno rešilo svet. In vendar še vedno rešujemo enake težave. Posebne žrtve v tem procesu so programerji uporabniških programov.

Zaradi velike zapletenosti, ki jo prinaša reševanje vsakega resničnega problema, je danes iluzorno pričakovati, da bi lahko uspešno rešitev, vsaj v okviru zadanih kakovostnih in finančnih ciljev (če se moramo odreči enemu, se dajmo tokrat pravočasnosti), dobili, ne da bi se oprli na katero od vzpostavljenih podlag. Tega se igralci v računalniški industriji še kako dobro zavedajo. Zmagovalci v boju podlag bodo najbolj daljnosežno vplivali na nadaljnji razvoj računalniške industrije. Microsoftov šef Ballmer se ni kar tja v tri dni znojil na odru in vpil "razvijalci, razvijalci, razvijalci...".

Podlaga je danes veliko več kot, denimo, programski jezik. Tudi razvojne knjižnice, za katere se je pred leti mislilo, da bodo krojile odločitve razvijalcev, niso najpomembnejše. Odkar se je svet povezal in reševanje novih problemov zahteva internetno ozaveščenost, je ustrezna razvojna podlaga celoten programski strežnik, ki zajema vsaj rešitev za shrambo podatkov, popoln sklad internetnih storitev, večuporabniško okolje s čim večjo sposobnostjo stopnjevanja zmogljivosti in prijazen, a zelo zmogljiv programski jezik s priloženo knjižnico, ki naj zmore čim več, da si ne mažemo rok s postopki, ki so bili že zdavnaj odkriti in rešeni na optimalen način.

Zdi se, da sta dva velika nasprotnika v boju podlag trenutno tabor, zbran okoli jave, in Microsoft, ki se je zabavi priključil nekoliko pozneje s svojo pobudo .net. Javi je uspelo nekaj izjemnega - povezala je številna podjetja v industriji, ki si na številnih slojih podlage drugo drugemu skačejo v zelje, kljub vsemu pa so posvojila enoten programski standard za njihov nadzor. IBM in Oracle npr. sta zelo huda konkurenta pri ponudbi podatkovnih strežnikov, vendar sta oba programska strežnika zgradila z javo. Kljub temu se javi pozna, da je bila - kljub vcepljeni neodvisnosti od podlage, večnitnosti in dinamičnosti - v svet programskih strežnikov vstavljena šele naknadno. Številne rešitve, npr. podpora spletnim storitvam, so prišle pozno in se s težavo vklapljajo v obstoječe knjižnice, zapletenost razvoja "poslovne" jave (J2EE) pa je presegla vse razumne meje. Na srečo se čedalje več postopkov avtomatizira, razvojna orodja pa postajajo vse bolj učinkovita, kar nekako zakrije dodatni sloj zapletenosti, ki ga je java, precej nepotrebno, vnesla v reševanje resničnih problemov. Vse to seveda ni šlo neopaženo mimo Microsofta, ki se je s podlago .net javi najprej pošteno priklonil, potem pa jo je poizkusil poraziti na vseh njenih šibkih točkah. Seveda jim je bilo delo znatno olajšano z izkušnjami, ki jih je prva podlaga že prestala, hkrati pa jih strojna neodvisnost, čeprav je s podlago .net mogoča, ni pretirano ovirala, saj ogrodje .net v resnici danes živi le na sistemih, ki poganjajo Okna. No, vsaj Microsoftova različica. Štrene vsem namreč meša skupnost, zbrana okoli proste in odprte kode. Ta je v boj podlag korenito posegla in ima prav toliko možnosti za prevlado kot druga dva igralca. Seveda pa je v svetu proste kode težko govoriti o prevladi, saj je njen cilj predvsem sodelovanje.

Osvežimo si spomin. Gibanje proste kode je nastalo kot odgovor na nekaterim nesprejemljive pogoje rabe operacijskega sistema unix. V nekaj letih jim je uspelo razviti ključna orodja, z vstopom Linuxa v ta svet pa so dobili tudi uporabno jedro operacijskega sistema. Prosti klon Unixa je bil tako rojen in odprla se je pot za nadaljnjo izgradnjo celovite razvojne podlage. Vendar v odprtem svetu na tem področju nikoli ni šlo vse po enem tiru. Že sistemski pripomočki tipično zahtevajo nekaj deset različnih izvajalnih sistemov, od ukaznih lupin prek najrazličnejših tolmačev do pravih prevajalnikov, vsi pa zahtevajo še kupe nameščenih knjižnic. A tako je pač vedno bilo. Ko je prišla java, zaradi strahu Suna pred cepitvijo na številne nezdružljive različice ni bilo mogoče doseči popolnega odprtja njene kode in to je bilo za nekatere znova zadosten razlog, da so se razvoja klona lotili sami. Tudi Microsoftovi pobudi .net se je zgodilo podobno; s sicer nekoliko drugačnimi motivi je nastal mono, njen skoraj enako zmogljiv klon.

A to so le odgovori skupnosti na ponudbo "velikih". Povsem mogoče je, da bo miselni delež razvijalcev vse bolj pridobivala še ena podlaga - podlaga resnično dinamičnih jezikov, ki na inovativnih ogrodjih omogočajo sestavljanje programske opreme novega rodu. Trend je začel perl, ki se je v spletu znašel skozi poenostavljeno skriptno različico PHP, vse skupaj pa je v orbito izstrelil Apache in podatkovni strežnik MySQL, s katerima se izvrstno znajde. Ta odprtokodna podlaga, ljubkovalno označena s kratico LAMP (Linux,Apache,MySQL,PHP/perl), je nastala nenačrtno, vendar jo danes uporablja velik delež razvijalcev. Zakaj? Ker temelji na odprtih standardih! Znana past velikih ponudnikov je vzpostavljanje lastnih, le navidez odprtih standardov, ki razvijalca zaklenejo in mu ne omogočajo proste izbire, ko se znajde v težavah. Java to rešitev delno odpravlja, saj smo nekoliko svobodni vsaj pri izbiri ponudnika, žal pa jo skupnost ni posvojila in nič ne kaže, da bi jo lastnik zadosti sprostil.

Zato pa se na odprtih standardih gradijo nove in nove rešitve. LAMP je, kljub svoji priljubljenosti, le otroško igrišče za vznemirljive novosti, ki šele prihajajo. Ker bodo gradile na odprtih standardih, je investicija časa in denarja vanje verjetno še najbolj varna. Če seveda lahko čakamo, da bodo dozorele. Morda pa našim problemom ustrezajo že danes?

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

Komentirajo lahko le prijavljeni uporabniki

Najbolj brano

  • Redka zmaga malega rudarja kriptovalut

    V času, ko rudarjenje bitcoina obvladujejo velika podjetja s specializirano opremo in ogromnimi viri, je neodvisnemu solo rudarju uspel izjemen podvig. 

    Objavljeno: 27.7.2025 13:00
  • Šibko geslo in hekerski vdor pogubila 158 let staro podjetje

    Britansko podjetje KNP iz Northamptonshira, ki se je ukvarjalo s prevozi, je po 158 letih obratovanja zaprlo vrata, zaradi česar je brez dela ostalo 700 ljudi. Razlog ni slabo poslovanje, težke tržne razmere, izgube ali celo poneverbe, temveč precej bolj banalen. Podjetje je opustošil hekerski napad, v katerem so napadalci odnesli podatke o vseh strankah.

    Objavljeno: 23.7.2025 05:00
  • ChatGPT je bogatejši za pravega raziskovalnega agenta

    ChatGPT agent je nova generacija digitalnega pomočnika, ki združuje sposobnosti vizualnega in tekstovnega brskanja ter neposredne interakcije z zunanjimi platformami, kot so Google Drive, GitHub in SharePoint.

    Objavljeno: 18.7.2025 08:00
  • Tehnologija je orodje za množično nadzorovanje

    Ko je minuli teden kamera na koncertu skupine Coldplay v Bostonu prikazala par, ki objet posluša Chrisa Martina, bi bil lahko to le še eden izmed množice povsem običajnih in dolgočasni prizor. A ker se je ženska na posnetku obrnila proč in obraz zakopal v roke, moški pa se je sklonil pod kader, je posnetek vzbudil veliko pozornosti. Pevec Chris Martin ga je na odru komentiral z besedami, da sta bodisi zelo sramežljiva bodisi razmerje skrivata – in ostalo je bilo zgodovina.

    Objavljeno: 21.7.2025 05:00
  • ChatGPT je slab v šahu

    Najboljši šahist sveta Magnus Carlsen je v spletnem dvoboju premagal umetno inteligenco ChatGPT v vsega 53-ih potezah, pri čemer sam ni izgubil niti ene same figure. 

    Objavljeno: 21.7.2025 09:00
  • ChatGPT-5 bo na voljo avgusta

    Sam Altman, izvršni direktor OpenAI, je potrdil, da bo model GPT-5 izšel že v začetku avgusta. 

    Objavljeno: 25.7.2025 09:00
 
  • Polja označena z * je potrebno obvezno izpolniti
  • Pošlji