Pređi na sadržaj

Integrisano razvojno okruženje

S Vikipedije, slobodne enciklopedije
Andžuta, C i C++ IRO za GNOM okruženje

Integrisano razvojno okruženje (IRO; engl. integrated development environment, IDE) je softverska aplikacija koja pruža sveobuhvatne pogodnosti programerima za razvoj softvera. IRO se obično sastoji od  uređivača izvornog koda, alatki za ugrađenu automatizaciju i otklanjivača grešaka. Neki IRO-ovi sadrže kompilator, interpretator, ili oba, kao što su NetBins(eng. NetBeans) i Eklips(eng. Eclipse); dok neki, poput ŠarpDevelop-a(eng. SharpDevelop) i Lazarus-a(eng. Lazarus) ne sadrže ove komponente.

Granica između integrisanog razvojnog okruženja i drugih delova šireg softverskog razvojnog okruženja nije dobro definisana. Ponekad su verzija kontrolnog sistema ili razni alati za pojednostavljanje izgradnje grafičkog korisničkog interfejsa (GUI) integrisani. Mnogi savremeni IRO imaju pretraživač klasa, objektni pretraživač, i klasni hijerarhijski dijagram, za upotrebu u objektno-orijentisanom programiranju

Pregled

[uredi | uredi izvor]

Integrisana razvojna okruženja su dizajnirana da maksimalno povećaju produktivnost programera pružajući mu usko povezane komponente sa sličnim korisničkim interfejsima. IRO predstavljaju jedan program u kome se vrši svo programiranje. Ovaj program obično pruža mnoge mogućnosti za autorizaciju, modifikovanje, sastavljanje, razvijanje i otklanjanje grešaka softvera, što je u suprotnosti sa razvojem softvera pomoću nepovezanih alata, kao što su vi (eng. vi), GCC ili mejk(eng. make).

Jedan od ciljeva IRO-a je da smanji konfiguraciju potrebnu da se spoji više razvojnih alata. Umesto toga daje isti skup sposobnosti kao jedna povezana jedinica. Smanjenje vremena podešavanja može da poveća produktivnost programera, naročito u situacijama u kojima je učenje kako da koristite IRO znatno brže od ručnog integrisanja svih pojedinačnih alata. Pored pomoći pri podešavanju zadataka, čvršća integracija svih razvojnih zadataka ima potencijal da poboljša ukupnu produktivnost. Na primer, kod se može kontinuirano analizirati dok se izmenjuje, pružajući u trenutku povratne informacije kada dođe do pojave sintaksne greške. Programeri mnogo brže i lakše ispravljaju kod uz pomoć IRO-a.

Neki IRO su posvećeni određenom programskom jeziku, što omogućava set funkcija koji najpribližnije odgovara programskim paradigmama jezika. Međutim, postoji mnogo višejezičkih IRO-a.

Dok su većina modernih IRO-a grafički, tekstualna IRO-a kao što je Turbo Paskal(eng. Turbo Pascal) su  bili veoma popularni pre široke dostupnosti prozorskih sistema kao što su Windows i X Windows sistem(eng. X Window System) (X11). Oni obično koriste funkcije tastera ili prečice za izvršavanje često korišćenih komandi ili makroa. 

Istorija

[uredi | uredi izvor]
GNU Emacs, proširivi uređivač koji se često koristi kao IRO na Unix sistemima

Sam nastanak IRO-a postao je moguć kroz razvoj preko konzole ili terminala. Rani sistemi nisu mogli da ga podrže, jer su programi bili pripremani korisšćenjem dijagrama toka, unošeni sa bušenih kartica (ili papirne trake, itd.) pre nego što budu poslati kompilatorDartmut BEJZIK(eng. Dartmouth BASIC) je bio prvi jezik koji je kreiran sa IRO-a (takođe je bio prvi koji je dizajniran za upotrebu dok sedite ispred konzole ili terminala). Njegovo IRO (deo Dartmutovog sistema podele vremena)(eng. Dartmouth Time Sharing System) je bilo zasnovano na komandi, i zato nije mnogo ličilo na grafičko IRO zasnovano na meniju, koje nastaje tek sa razvojem grafičkog korisničkog interfejsa. Međutim, ono je spojilo uređivanje, upravljanje datotekama, kompajliranje, otklanjanje grešaka i izvršavanje na način koji je u skladu sa modernim IRO .

Maestro I (eng. Maestro I) je proizvod Softlaba Minhen i to je bilo je prvo integrisano razvojno okruženje za softver na svetu.[1] Maestro I instaliran je za 22.000 programera širom sveta . Do 1989. godine, postojalo je 6.000 instalacija u Saveznoj Republici Nemačkoj. Maestro je verovatno bio svetski lider u ovoj oblasti tokom 1970-ih i 1980-ih. Danas jedan od poslednjih Maestro I mogu se naći u Muzeju informacionih tehnologija u Arlingtonu.

Jedan od prvih IRO-a sa plagin(eng. plug-in) konceptom je Softbenč(eng. Softbench). 1995. godine Kompjutervohe(ger. Computerwoche) je prokomentarisao da IRO nisu dobro prihvaćena od strane programera, jer su ograničavala njihovu kreativnost.

Od marta 2015. godine, najpopularnija IRO su Eklips i Vižual studio(eng. Microsoft Visual Studio).[2]

Isticanje sintakse

[uredi | uredi izvor]

Editor IRO-a obično pruža isticanje sintakse(eng. Syntax Highlighting), koje može da pokaže kako strukture, tako i ključne reči jezika i sintaksne greške u različitim bojama i fontovima.[3]

Završetak koda

[uredi | uredi izvor]

Završetak koda je važna odlika IRO-a, čija je namena da ubrza programiranje. Moderna IRO čak imaju inteligentan završetak koda(eng. intelligent code completion).

Refakturisanje

[uredi | uredi izvor]

Napredna IRO nude podršku za automatko refakturisanje(eng. automated refactoring).[3]

Kontrola verzije

[uredi | uredi izvor]

Od IRO-a se očekuje da obezbedi integrisanu kontrolu verzije(eng. version control), u cilju komunikacije sa repozitorijumima izvora.[3]

Otklanjanje grešaka

[uredi | uredi izvor]

IRO služe za otklanjanje grešaka, koristeći integrisani otklanjivač grešaka, zajedno sa podrškom postavljanja prelomnih tačaka u editoru, vizuelnim prikazom koraka, itd.[4]

Pretraživanje koda

[uredi | uredi izvor]

IRO mogu da obezbede napredno pretraživanje koda: u cilju pronalaženja klasa i deklaracija funkcija, upotreba, promenljive i polja za upis i čitanje, itd. IRO može da koristi različite vrste korisničkih interfejsa za pretraživanje koda, poput vidžeta na osnovu oblika[5] i interfejsa na osnovu prirodnih jezika[6].

Vizuelno programiranje

[uredi | uredi izvor]

Vizuelno programiranje je scenario u kome je obično potrebno IRO. Vižual Bejzik(eng. Visual Basic) omogućava korisnicima da kreiraju nove aplikacije programiranjem pomeraja, pravljenjem blokova, ili kod čvorova za stvaranje dijagrama toka ili strukturne dijagrame koji se zatim sastavljaju ili traže se moguće greške. Dijagrami toka poput ovih, su često zasnovani na objedinjenom jeziku za modelovanje(eng. Unified Modeling Language).

Ovaj interfejs je popularizovan sa sistemom Lego Mindstorms(eng. Lego Mindstorms) i aktivno se sprovodi od strane brojnih kompanija koje žele da profitiraju na moći pretraživača poput onih koji su pronađeni u Muzila(eng. Mozzila). KTehlab(eng. KTechlab) podržava proticajući kod i to je popularno IRO otvorenog koda i simulator za razvoj softvera za mikrokontrolere. Vizuelno programiranje je takođe odgovorno za snagu raspodeljenog programiranja(eng. distributed programming) (uporedi LabVIEW i EICASLAB softvere). Prvobitni sistem vizuelnog programiranja, Max, je dizajniran po uzoru na analogni sintesajzer i korišćen je za razvoj softvera muzičkih performansa u realnom vremenu od 1980. godine. Još jedan rani primer je Prograph, sistem zasnovan na protoku podataka koji je prvobitno programiran za Makintoš(eng, Macintosh). Grafičko programsko okruženje "Grape" se koristi za programiranje kufiks robot kompleta.

Ovaj pristup se takođe koristi u specijalističkim softverima kao što su OpenLab(eng. OpenLab), gde krajnji korisnici žele fleksibilnost punog programskog jezika, bez tradicionalnog načina učenja istog.

Jezička podrška

[uredi | uredi izvor]

Neka IRO podržavaju više jezika, kao što su: GNU Emacs zasnovan na C-u i Emacs Lisp-u, IntelliJ IDEA, Eklips, MyEclipse ili Netbins, zasnovani na Javi, ili MonoDevelop-u, zasnovanog na C# -u.

Podrška za alternativne jezike je često obezbeđena priključcima, dopuštajući im da budu instalirani na istom IRO u isto vreme. Na primer, Flycheck je moderna sintaksa "u letu" koja provera ekstenzije za GNU Emacs 24 sa podrškom za 39 jezika. Eklips i Netbins imaju priključke za C/C++, Ada, GNAT (na primer AdaGIDE), ​​Perl, Pajton, Rubi i PHP koji se biraju između automatskih koji su zasnovani na ekstenzijama fajlova, okruženju ili podešavanjima projekta.

Stavovi kroz različite računarske platforme

[uredi | uredi izvor]

Juniks programeri mogu kombinovati alate komandne linije POSIX u kompletno razvojno okruženje, sposobno da razvija velike programe kao što su jezgro Linuksa i njegova okruženja. Celokupan Juniks sistem funkcioniše kao jedno IRO. Besplatni GNU alati  (GNU kolekcija kompajlera (GCC), GNU dibager (GDB), i GNU make) su dostupni na mnogim platformama, uključujući i Windows. Programeri koji favorizuju komandnu liniju orijentisanih alatki mogu koristiti urednike sa podrškom za mnoge standardne Juniks i GNU ugrađene alate za izgradnju IRO sa programima kao što su Emacs ili Vim. Displej debager datoteka treba da bude napredni grafički front-end za mnoge debagere standardnih alata zasnovanih na tekstu. Neki programeri više vole  upravljanje mejk fajlovima i njihovim derivatima sa sličnim brojem ugrađenih alata uključenih u punom IRO-u. Na primer, većina saradnika baze podataka PostgreSQL koriste mejk i GNU dibager direktno da razviju nove funkcije. Čak i kada se gradi PostgreSQL za Windows pomoću Visual C++Perl skripte se češće koriste kao zamena za mejk nego što se oslanjaju na bilo koje karakteristike IRO-a. Neka Linuks IRO kao što je Geani pokušavaju da obezbede grafički front-end tradicionalnim ugrađenim operacijama.

Na raznim Microsoft Windows platformama, komandne linije alata za razvoj se retko koriste. Shodno tome, postoje mnogi komercijalni i nekomercijalni proizvodi. Međutim, svaki ima drugačiji dizajn i obično stvara nekompatibilnosti. Većina velikih proizvođača kompilatora za Windows i dalje daju besplatne primerke svojih komandnih linija alata, uključujući Majkrosoft (Visual C++, Platform SDK, .NET Framework SDK, nmake utility), Embarcadero Technologies (bcc32 komilator, make utility) .

IRO su bila popularna na Eplovom Mekintoš klasičnom Mac OS-u, nekada za Mekintošovu programersku radionicu, Turbo Paskal, THINK Paskal i THINK C okruženja sredinom 1980-ih. Trenutno Mac OS X programeri mogu da biraju između izvornih IRO kao što je Xcode i alata otvorenog koda kao što su Eklips i Netbins. ActiveState Komodo je vlasničko višejezičko IRO podržano na Mac OS-u.

Veštačka inteligencija

[uredi | uredi izvor]

Neke karakteristike IRO-a mogu profitirati kroz napredak veštačke inteligencije[7]. Konkretno, informacije se mogu prikupiti iz aktivnosti u IRO među programerima, kako bi se uvećale IDE funkcije[8]. Na primer, pristup koji se zasniva na podacima, dovodi do završetka inteligentnog koda.

Mrežno integrisano razvojno okruženje

[uredi | uredi izvor]

Mrežno integrisano razvojno okruženje (Mrežni IRO), je IRO zasnovan na pretraživaču koji omogućava razvoj softvera ili veb razvoj[9]. Veb IRO-u se može pristupiti iz veb pretraživača, kao što su Gugl Hrom ili Internet Eksplorer, što omogućava prenosivo radno okruženje. Mrežni IRO obično ne sadrži sve iste karakteristike kao tradicionalni ili desktop IRO, iako su sve osnovne IRO karakteristike, kao što je na primer isticanje sintakse, obično prisutne.

Vidi još

[uredi | uredi izvor]

Reference

[uredi | uredi izvor]
  1. ^ "Interaktives Programmieren als Systems-Schlager" Arhivirano na sajtu Wayback Machine (21. decembar 2008) from Computerwoche (German)
  2. ^ Top IDE index
  3. ^ a b v „Course CS350 Integrated Development Environments”. www.cs.odu.edu. Old Dominion University. Pristupljeno 10. 10. 2018. 
  4. ^ „Programming software and the IDE”. BBC Bitesize. Arhivirano iz originala 09. 10. 2018. g. Pristupljeno 10. 10. 2018. 
  5. ^ „Eclipse Cookbook - Searching Code”. O’Reilly (na jeziku: engleski). 
  6. ^ Kimmig, Markus; Monperrus, Martin; Mezini, Mira (2011). „Querying source code with natural language”. arXiv:1205.6361Slobodan pristup. doi:10.1109/ASE.2011.6100076. 
  7. ^ Williams, Christina Mercer & Hannah. „AI tools all developers need to try”. Techworld. Arhivirano iz originala 07. 05. 2019. g. Pristupljeno 07. 05. 2019. 
  8. ^ Bruch, Marcel; Bodden, Eric; Monperrus, Martin; Mezini, Mira. „IDE 2.0: collective intelligence in software development”. doi:10.1145/1882362.1882374. 
  9. ^ „Web-based vs. desktop-based Tools – EclipseSource”. eclipsesource.com. 

Spoljašnje veze

[uredi | uredi izvor]