Programiranje v integriranem razvojnem okolju (IDE)

V nadaljevanju se bomo posvetili orodjem IDE, ki so za povprečnega in tudi bolj uspešne programerje najbolj popularna podpora. Za začetnike pa je ločena uporaba posameznih orodij, torej ločeno klicanje primernega urejevalnika izvorne kode (lahko je to beležnica), ločeno klicanje prevajalnika (v primeri jave je to program z imenom »java«) in ločeno proženje prevedenega programa poučno.

Integrirana razvojna okolja (IDE)

Integrirano razvojno okolje, takoimenovani IDE (Integrated Development Environment) je programsko orodje, ki naj programerjem pomaga pri razvoju. Običajno vsebujejo urejevalnik izvorne kode, prevajalnik oziroma tolmač (interpreter), orodje za avtomatizacijo izgradnje programa in (običajno) razhroščevalnik.  Včasih so v orodje vgrajeni tudi sistem za nadzor verzij programov in predvsem orodja za tvorbo grafičnih uporabniških vmesnikov (GUI, Graphical User Interface)  bodočega programa.
 
Mnoga sodobna razvojna okolja, ki predvidevajo objektno usmerjeno programiranje,   vsebujejo tudi brkljalnik razredov (class browser), inšpektor objektov in  diagram hierarhije razredov. Nekatera razvojna okolja tudi dopuščajo programiranje v različnih programskih jezikih v istem okolju.
 
Različna okolja IDE so namenjena različnim uporabnikom. Tako so nekatera okolja (BlueJ, DrJava) namenjena začetnikom. Niso zahtevna in tako se uporabnik lahko bolj posveti učenju programskega jezika.  Zanimivo je predvsem okolje DrJava, ker se zelo zgleduje po podobnih profesionalnih orodjih. Uporabljajo ga lahko tako začetniki kot bolj izkušeni programerji. Spodnja ekranska slika kaže šolski primer okolja DrJava s programersko napako, ki jo je odkril vgrajeni prevajalnik.

Druga orodja IDE so namenjena profesionalni uporabi. Težje se jih naučimo, dolgoročno pa nudijo programerju boljšo podporo. Nekatera od njih so prosto dostopna,  večinoma pa so komercialna. Med prosto dostopnimi je morda najbolj popularno okolje Eclipse, ki ga lahko uporabljamo za različne programske jezike.

Projektni razvoj programov

Večina sodobnih razvojnih okolij IDE predvideva »projektni« pristop k razvoju programov. Pod tem je mišljeno, da je izvorna koda malo bolj obsežnih programov razbita na več datotek.  Smisel delitve programa v več datotek je v večji, modularni preglednosti. Poleg tega se programer posveča le nekaterim modulom, tiste, ki so že prevedeni in preskušenji, pa pusti pri miru. Vanje poseže le, če mora napraviti kakšne korenite spremembe. 

Orodje gleda na celoten skupek datotek kot na projekt in sam ugotavlja njihove medsebojne odvisnosti. Če spremenimo nek modul, od katerega so odvisni tudi nekateri drugi, program pri prevajanju samodejno ponovno prevede tudi te module.
 
Programski projekt je organizacijsko na najvišjem nivoju in ga srečamo tudi pri mnogih drugih programerskih okoljih.  Tipično za Javo je, da lahko posamezne pogosto uporabne in sorodne module združujemo v pakete (packages). Spomnimo se na primer paketa »Math«, ki vključuje različne matematične funkcije.  Na nižjem organizacijskem nivoju pa so razredi (ki vsebujejo polja in metode).

 

Dobra razvojna orodja omogočajo programerju  tudi sprotno pomoč. Tako lahko pri pisanju imen objektov program samodejno svetuje, katere metode in polja lahko programer uporabi. Po možnosti pa samodejno odpre še del dokumentacije, vezane na priporočene metode oziroma polja.

Zelo pripravna pomoč je tudi v sprotnem (on the fly) ugotavljanju sintaksnih programerskih napak. Programer je tako opozorjen na svojo napako še preden zahteva prevajanje modula. Orodje mu lahko tudi svetuje, kako naj napako odpravi.

Zelo pomembno je še to, da taka orodja predvidevajo uporabo originalnih prevajalnikov in dokumentacije (torej ne lastnih, vgrajenih). Programski jeziki se namreč spreminjajo, prihajajo nove verzije. Če orodje oziroma okolje predvideva uporabo originalnih prevajalnikov in dokumentacije, ga lahko sproti posodabljamo.

 

Sklep

Integrirana razvojna orodja imajo veliko skupnega in se izkušenemu programerju ni težko prilagoditi na novo okolje, saj že kar ve, kaj lahko od njega pričakuje.  Nekatera orodja so za začetnika kar zahtevna.  To velja posebno za komercialne izvedbe, namenjene programiranju obsežnih programskih aplikacij. Za začetnike in manj zahtevne programerje pa so na voljo poenostavljene, šolske različice.