ICO wiki:IDE keskkonna kasutatavus ja kasutuskogemus: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Grsenk (talk | contribs)
Romalo (talk | contribs)
 
(22 intermediate revisions by 2 users not shown)
Line 7: Line 7:


== Sissejuhatus ==
== Sissejuhatus ==
IDE või Integrated Development Enviroment on riistvara, mida kasutagakse IT sfääris.Selle kasutamine lihtsustab koodi kirjutamist paljudel viisidel ja samas teeb rakenduste kirjutamist kiiremaks. IDE-d saab võrrelda tekatredaktoriga, mis aitab teksti kirjutamisel. Nagu tekstredaktoris, aitab IDE vigade leidmisega ja tihti töötab paljute keeltega. Lisaks, on IDE-s ka teisi funktsioone, mis lihtsustavad koodi kirjutamist, seega teevad rakenduste kirjutamist kiiremaks. Seda kasutavad mitte ainult programeerijad, vaid ka kõik huvilised programeerimise valdkonnas.
IDE või Integrated Development Enviroment on riistvara, mida kasutagakse IT sfääris. Selle kasutamine lihtsustab koodi kirjutamist mitmel eri moel ja samas teeb rakenduste kirjutamist kiiremaks. IDE-d saab võrrelda tekstiredaktoriga, mis aitab teksti kirjutamisel. Analoogselt tekstiredaktoriga, aitab IDE leida vigu ja töötab mitmes eri keeles. Lisaks, on IDE-s ka teisi funktsioone, mis lihtsustavad koodi kirjutamist ja seetõttu teevad rakenduste kirjutamist kiiremaks. Seda kasutavad mitte ainult programeerijad, vaid ka teised programeerimisest huvitatud inimesed.
 


== IDE Ajalugu ==
== IDE Ajalugu ==
Line 15: Line 14:


IDE on loodud programmeerijate tootlikkuse maksimeerimiseks lihtsate kasutajaliideste tihedalt ühendatud komponentide kaudu.
IDE on loodud programmeerijate tootlikkuse maksimeerimiseks lihtsate kasutajaliideste tihedalt ühendatud komponentide kaudu.
See võimaldab arendajal teha vähem režiime vahetamiseks vähem samme, erinevalt diskreetsetest arendusprogrammidest. Kuna IDE on keeruline tarkvarapakett, suudab arenduskeskkond tarkvara arendamise protsessi kvalitatiivselt kiirendada alles pärast pikka õppeprotsessi.[1]
See võimaldab arendajal teha vähem režiime vahetamiseks vähem samme, erinevalt diskreetsetest arendusprogrammidest. Kuna IDE on keeruline tarkvarapakett, suudab arenduskeskkond tarkvara arendamise protsessi kvalitatiivselt kiirendada alles pärast pikka õppeprotsessi.[1]


==== Mis oli enne, kui IDE oli loobunud? ====
==== Mis oli enne, kui IDE oli loodud? ====


Enne IDE-sid kirjutasid arendajad oma programmid tekstiredaktoritesse. Nad kirjutaksid ja salvestaksid rakenduse tekstiredaktorisse; seejärel käivitage kompilaator, võttes arvesse veateateid; siis minge koodi redigeerimiseks tagasi tekstiredaktorisse.
Enne IDE-sid kirjutasid arendajad oma programmid tekstiredaktoritesse. Nad kirjutaksid ja salvestaksid rakenduse tekstiredaktorisse; seejärel käivitasid kompilaatorit, võttes arvesse veateateid. Seejärel läks kood redigeerimiseks tagasi tekstiredaktorisse.


1983. aastal omandas Borland Ltd. Pascali kompilaatori ja andis selle välja TurboPascalina, mis hõlmas esmakordselt integreeritud redaktorit ja kompilaatorit. Samal ajal kui TurboPascal käivitas integreeritud arenduskeskkonna idee, oli paljude arvates 1991. aastal käivitatud Microsofti Visual Basic (VB) esimene tõeline IDE. Visual Basic loodi vanemale BASIC-keelele, mis oli kogu 1980ndate aastate jooksul populaarne programmeerimiskeel. Visual Basicu ilmumisega võis programmeerimisele mõelda graafiliselt ja tekkis märkimisväärne kasu tootlikkusest.[2]
1983. aastal omandas Borland Ltd. Pascali kompilaatori ja andis selle välja TurboPascalina, mis hõlmas esmakordselt integreeritud redaktorit ja kompilaatorit. Samal ajal kui TurboPascal käivitas integreeritud arenduskeskkonna idee, oli paljude arvates 1991. aastal käivitatud Microsofti Visual Basic (VB) esimene tõeline IDE. Visual Basic loodi vanemale BASIC-keelele, mis oli kogu 1980ndate aastate jooksul populaarne programmeerimiskeel. Visual Basicu ilmumisega võis programmeerimisele mõelda graafiliselt ja tekkis märkimisväärne kasu tootlikkusest.[2]


==== Esimene IDE ====
==== Esimene IDE ====
Line 27: Line 26:
Esimesed IDE-d loodi konsooli või terminali kaudu töötamiseks, mis iseenesest oli uudsus: enne seda loodi programmid paberil, sisestati masinasse eelnevalt ettevalmistatud paberkandjate (perfokaardid, augustatud lindid) abil jne.
Esimesed IDE-d loodi konsooli või terminali kaudu töötamiseks, mis iseenesest oli uudsus: enne seda loodi programmid paberil, sisestati masinasse eelnevalt ettevalmistatud paberkandjate (perfokaardid, augustatud lindid) abil jne.


Dartmouth BASIC oli esimene IDE-ga loodud keel ja see töötati välja ka esimesena konsoolis või terminalis kasutamiseks. Seda IDE-d (osa Dartmouthi aja jagamise süsteemist) kontrolliti käskude abil, seetõttu erines see oluliselt hilisematest, seda juhiti menüüde ja kiirklahvide abil ning veelgi enam 21. sajandil levinud graafilisi IDE-sid. Kuid see võimaldas teil muuta lähtekoodi, hallata faile, kompileerida, siluda ja käivitada programme põhimõtteliselt sarnaselt kaasaegsete IDE-dega.
Dartmouth BASIC oli esimene IDE-ga loodud keel ja see töötati välja ka esimesena konsoolis või terminalis kasutamiseks. Antud IDE-d (osa Dartmouthi aja jagamise süsteemist) kontrolliti käskude abil, seetõttu erines see oluliselt hilisematest järeltulijatest. Seda juhiti menüüde ja kiirklahvide abil ning veelgi enam 21. sajandil levinud graafilisi IDE-sid. Kuid see võimaldas neil muuta lähtekoodi, hallata faile, kompileerida, siluda ja käivitada programme ligilähedaselt kaasaegsete IDE-dega.


Müncheni Softlabi toode Maestro I oli maailma esimene integreeritud tarkvara arenduskeskkond 1975. aastal ja vaieldamatult maailma niši turul 1970. ja 1980. aastatel liider. Selle on installinud 22 000 programmeerijat kogu maailmas. Kuni 1989. aastani paigaldati Saksamaa Liitvabariiki 6000 eksemplari. Tänapäeval kuulub Maestro I ajalukku ja seda leiab ainult Arlingtoni infotehnoloogia muuseumist.[3]
Müncheni Softlabi toode Maestro I oli maailma esimene integreeritud tarkvara arenduskeskkond 1975. aastal ja vaieldamatult maailma niši turul 1970. ja 1980. aastatel liider. Selle on installinud 22 000 programmeerijat kogu maailmast. Kuni 1989. aastani paigaldati Saksamaa Liitvabariiki 6000 eksemplari. Tänapäeval kuulub Maestro I ajalukku ja seda leiab ainult Arlingtoni infotehnoloogia muuseumist.[3]


==== IDE keskkondade ajalugu ====
==== IDE keskkondade ajalugu ====


Raamistike idee küpses 1980. aastate keskpaigaks, kui tekkis kaks populaarsete raamistike rühma:
Raamistike idee küpses 1980. aastate keskpaigaks, kui tekkis kaks populaarset raamistike rühma:
* Borlandi turbo keskkonnad (Turbo Pascal, Turbo C, Turbo C ++, Delphi jne), et toetada nendes keeltes programmeerimist, mis on esmalt rakendatud MS DOS-i operatsioonisüsteemi, seejärel Windowsi operatsioonisüsteemi jaoks;
* Borlandi turbo keskkonnad (Turbo Pascal, Turbo C, Turbo C ++, Delphi jne), et toetada nendes keeltes programmeerimist, mis on esmalt rakendatud MS DOS-i operatsioonisüsteemi, seejärel Windowsi operatsioonisüsteemi jaoks;
* GNU Emacs on mitmekeelne ja mitme platvormiga integreeritud arenduskeskkond, mis on rakendatud MS DOS-i, seejärel Windowsi, OpenVMS-i ja Linuxi jaoks.
* GNU Emacs on mitmekeelne ja mitme platvormiga integreeritud arenduskeskkond, mis on rakendatud MS DOS-i, seejärel Windowsi, OpenVMS-i ja Linuxi jaoks.


Arendajate meeskond, kes töötas Sun Microsystemsiga 1990. aastatel, hõlmas tänu GNU Emacsi keskkonna paljudele kasutajatele ja harrastajatele tänu selle rakendamisele Solarise platvormil.
Arendajate meeskond, kes töötas Sun Microsystemsiga 1990. aastatel, hõlmas tänu GNU Emacsi keskkonna paljudele kasutajatele ja harrastajatele tänu selle rakendamisele Solarise platvormil.


Borlandi turbo keskkondadel on olnud tohutu mõju tarkvaraarendajatele ja tarkvaraarendus tööriistade valmistajatele. Nende iseloomulikuks jooneks oli pideva arendustsükli toetamine:
Borlandi turbo keskkondadel on olnud tohutu mõju tarkvaraarendajatele ja tarkvaraarenduse tööriistade valmistajatele. Nende iseloomulikuks jooneks oli pideva arendustsükli toetamine:
* lähtekoodi tippimine ja muutmine
* lähtekoodi sisestamine ja muutmine
* kompileerimine
* kompileerimine
* vigade analüüsimine ja parandamine
* vigade analüüsimine ja parandamine
* kompileerimise lõpuleviimine
* kompileerimise lõpetamine
* käivitamine ja silumine
* käivitamine ja silumine
* integreeritud keskkonnast lahkumata ning kõiki neid etappe juhiti lihtsa funktsiooniklahvide komplektiga ja need ei nõudnud selgesõnalist kõnet või või eraldi instrumendid.
* integreeritud keskkonnast lahkumata saab kõiki neid etappe juhtida lihtsa funktsiooniklahvide komplektiga ja need ei nõua selgesõnalist kõnet või eraldi instrumente.
 
Suur kompileerimise kiirus on ka Turbo keskkondade atraktiivne omadus. Kuigi Turbo-Pascali esimestes versioonides tehti kompileerimine enne esimest tõrke ning kõigi vigade leidmiseks ja diagnoosimiseks tuli pärast eelmise parandamist uuesti kompileerimist alustada, kuid see tehti koheselt funktsiooni klahvide abil. Turbo-Pascali keskkonna kõige olulisem uuendus oli sisendkeele laiendamine objektorienteeritud mõistetega (klass, objekt) ja üksuse konstruktsioon, mis kehastab iseseisva kompileerimise üksuse ideed. OOP tugi ilmus versioonis 5.5. Seejärel töötati need ideed välja juba Windowsi platvormil Borlandi integreeritud keskkondade uutes versioonides - Borland Pascal ja Delphi (Borlandi programmeerimiskeel, mis arendab Pascali ideid koos OOP-ga).[4]


Suur kompileerimise kiirus on ka Turbo keskkondade mõjuv omadus. Kuigi Turbo-Pascali esimestes versioonides tehti kompileerimist enne esimest tõrget ning kõigi vigade leidmist, seejärel tuli pärast eelmise vea parandamist uuesti kompileerimist alustada, kuid see teostati koheselt funktsiooni klahvide abil. Turbo-Pascali keskkonna kõige olulisem uuendus oli sisendkeele laiendamine objektorienteeritud mõistetega (klass, objekt) ja üksuse konstruktsioon, mis kehastab iseseisva kompileerimise üksuse ideed. OOP tugi ilmus versioonis 5.5. Seejärel töötati need ideed välja juba Windowsi platvormil Borlandi integreeritud keskkondade uutes versioonides - Borland Pascal ja Delphi (Borlandi programmeerimiskeel, mis arendab Pascali ideid koos OOP-ga).[4]


== IDE tüübid ==
== IDE tüübid ==
Esimene IDE või integreeritud programmeerimiskeskkond oli loodud 1983 aastal ja tänapäevani nad on oma arengus kaugele jõudnud. Kõik nad on omavahel erinevat ja kõigidel on omad eeldused ja puutused. Selleks, et saada aru mis on nende vahel erinevat on esiteks vaja sada aru, millega nad erinevat tavalistest tekstiredaktorist.
Esimene IDE või integreeritud programmeerimiskeskkond oli loodud 1983. aastal ja tänapäevani on nemad oma arengus jõudnud kaugele. Kõik nad on omavahel erinevad ja kõikidel on omad eeldused ja puudused. Selleks, et saada aru, mis on nende vahel erinevat, on esiteks vaja aru saada, millega nad erinevad tavalistest tekstiredaktoritest.


==== Tekstredaktori ja IDE erinevused ====
Tekstiredaktori tüüpe on erinevaid ja kõige populaarsemad tavalisele arvuti kasutajale, võiksid olla tavalise teksti kirjutamise tekstiredaktorid, nagu notepad, word või openoffice. Tegelikult ei ole tekstiredaktorid ainult programmid, mis töötavad tavalise tekstiga. Sellised programmid nagu VS code ja atom on ka tekstiredaktorid, kuid nemad võrreldes teiste lihtsamate tekstredakrotitega, on mõeldud koodi kirjutamisele. Kõige suurem erinevus IDE ja tekstiredaktori vahel, on nende suurusest ja programeerimisfunktsioonide arvust.


Tekstredaktori tüüpe on erinevaid ja kõige populaarsemad tavalisele arvuti kasutajale võiksid olla tavalise teksti kirjutamise tekstredaktorid, nagu notepad, word või openoffice. Tegelikult ei ole tekstredaktorid ainult programmid, mis töötavad tavalise tekstiga. Sellised programmed nagu VS code ja atom on ka tekstredaktorid, kuid nad, võrreldes teiste lihtsamate tekstredakrotitega, on mõeldud koodi kirjutamisele. Kõige suurem erinevus IDE ja tekstredaktori vahel, on nende suurus ja arv programeerimisfunktsiooni. Tekstredaktorid ei oma nii palju funktsiooni, nagu on IDE-s. Mõned IDE funktsioonidest saab ka tekstredaktorile juurde installida, kuid mitte kõik. Sellise funktsioonid nagu koodi käivitamine või debugger ei saa installida.[5][6]
Tekstiredaktorid ei oma nii palju funktsioone, nagu on IDE-s. Mõned IDE funktsioonidest saab ka tekstiredaktorile juurde installeerida, kuid mitte kõiki, nagu näiteks koodi käivitamine või debugger, installeerida ei saa.[5][6]


Integreeritud programmeerimiskeskkondi on väga palju ja seega on väga palju võimalusi kuidas neid jaotada ja eeristada üks teisest. Nende kõikide populaarsemateks jaotusteks on järgmised gruppid.
Integreeritud programmeerimiskeskkondi on väga palju ja seega on väga palju võimalusi, kuidas neid jaotada ja eristada üksteisest. Nende kõikide populaarsemateks jaotusteks on järgmised gruppid:


• IDE-d mitme keele jaoks.
• IDE-d mitme keele jaoks.


  IDE-d, mis toetavad rohkem kui ühte programeerimise keel.
  IDE-d, mis toetavad rohkem kui ühte programeerimise keelt.


• Mobiiliarenduse IDE-d.
• Mobiiliarenduse IDE-d.
Line 71: Line 69:
  IDE-d, mis toetavad ainult ühte programeerimise keelt.
  IDE-d, mis toetavad ainult ühte programeerimise keelt.


• IDE spetsiifiline Microsofti või Apple'i jaoks.
• IDE Microsofti või Apple'i jaoks.


  IDE-d, mis vajavad konkreetset os(operatisoon süsteemi).
  IDE-d, mis vajavad konkreetset os(operatsiooni süsteemi).


• IDE-d, mis on loodud tekstiredaktoritest.
• IDE-d, mis on loodud tekstiredaktoritest.


  IDE-d, mis on kasutajasõbralikut ja kerged programmid, kuid samas võivad võistelda oma funktsionaalsusest tavalise IDE-ga. Sellised IDE-d on pool IDE ja pool tekstredaktor. Võrreldes tavalise IDE-ga, need IDE-d ei oma nii palju võimalusi nagu tavalised IDE-d pärast nende installimist, kuid nende funktsionaalsus tuleneb pluginitest, mida saab tekstredaktorile juurde panna. Pärast nende modifitseerimist, tekstredaktorid saavad nii palju võimalusi, et neid hakkati nimetama IDE-ks, mis oli loodud tekstredaktorist.
  IDE-d, mis on kasutajasõbralikud ja kerged, kuid samas võivad võistelda oma funktsionaalsuse tasemegqa tavalise IDE-ga. Sellised IDE-d on pooleldi IDE ja pooleldi tekstredaktor. Võrreldes tavalise IDE-ga, ei oma need IDE-d nii palju võimalusi nagu tavalised IDE-d pärast nende installimist, kuid nende funktsionaalsus tuleneb pluginitest, mida saab tekstiredaktorile juurde panna. Pärast nende modifitseerimist, said tekstiredaktorid rohkelt võimalusi ning neid hakati nimetama IDE-ks, mis oli loodud tekstiredaktorist.


• Pilvepõhine IDE.  
• Pilvepõhine IDE.  


  IDE-d, mis põhinevad internetis ja mida ei ole vaja arvutisse laadida, et seal töötamist alustada. Koodi salvestamine ja selle käivitamine toimub serveri peal. Selliste IDE hulga kuulub selline keskkond nagu CodePen.
  IDE-d, mis põhinevad internetis ja mida ei ole vaja arvutisse alla laadida, et seal töötamist alustada. Koodi salvestamine ja selle käivitamine toimub serveri peal. Selliste IDE hulga kuulub selline keskkond nagu CodePen.


[5][7][8][9]
[5][7][8][9]




Ühte gruppi kuuluvus ei keela programeerimiskeskkonda kuuluvust ka teistesse grupidesse. Nii paljud mitme keelte programeerimiskekkonnad võivad olla ka mobiiliarenduse keskkonnad ja pilvipõhised IDE-d võivad olla nii mitme keelsed kui ka töötada ainult mingi konkreetse keelega.
Ühte gruppi kuuluvus ei keela programeerimiskeskkonnal kuuluda ka teistesse grupidesse. Nii paljud mitme keelte programeerimiskekkonnad võivad olla ka mobiiliarenduse keskkonnad. Samuti võivad olla pilvipõhised IDE-d nii mitmekeelsed kui ka töötada ainult teatud keelega.


Samas, nagu on näha paljudest IDE populaarsuse tabelittest, eelistavad programeerijad rohkem multifunktsionaalseid ja kergeid IDE-d. Sellest tuleneb, et spetsiifilise osi ja konkreetse keeli jaotused iga aastaga kaotavad oma aktuaalsust. [10]
Samas, nagu on näha paljudest IDE populaarsuse tabelitest, eelistavad programeerijad rohkem multifunktsionaalseid ja kergeid IDE-sid. Sellest tuleneb, et spetsiifilised osad ja konkreetsed keelte jaotused kaotavad iga aastaga oma aktuaalsust. [10]


== Kasutuskogemus ==
== Kasutuskogemus ==
Line 94: Line 92:
==== Baasnõuded ====
==== Baasnõuded ====


IDE tööriistad on suunatud programmeerija töö hõlbustamisele ja kiirendamisele keskkonnas ning selleks on tavaliselt sisaldavad (1) koodiga töötamiseks mõeldud redaktor (automaatne täitmine, süntaksi esiletõstmine jne); (2) tööriistade loomine, käitamine ja silumine; (3) koostaja ja / või tõlgendaja.[11]  
IDE tööriistad on suunatud programmeerija töö hõlbustamisele ja kiirendamisele keskkonnas ning selleks sisaldavad nad tavaliselt (1) koodiga töötamiseks mõeldud redaktorit (automaatne täitmine, süntaksi esiletõstmine jne); (2) tööriistade loomine, käitamine ja silumine; (3) koostaja ja / või tõlgendaja.[11]  


Tänu nendele tööriistadele arenduskeskkond kiirendab kvalitatiivselt arendusprotsessi, kuna need ühendavad ühes moodulis mitmesugused utiliidid. See võimaldavad abstraktselt abistavate ülesannete täitmisest loobuda ja võimaldavad programmeerijal keskenduda loogikale ja algoritmilise probleemi lahendamisele ning vältida aja raiskamist tüüpiliste tehniliste toimingute ja vigade tegemisel. kirjutamine. Need olulised asjad võivad tõsta arendajate tootlikkust.[12]
Tänu nendele tööriistadele arenduskeskkond kiirendab kvalitatiivselt arendusprotsessi, kuna need ühendavad ühes moodulis mitmesugused utiliidid. See võimaldavad abstraktselt abistavate ülesannete täitmisest loobuda ja võimaldavad programmeerijal keskenduda loogikale ja algoritmilise probleemi lahendamisele ning vältida aja raiskamist tüüpiliste tehniliste toimingute ja vigade tegemisel. kirjutamine. Need olulised asjad võivad tõsta arendajate tootlikkust.[12]
Line 102: Line 100:
==== Põhilised nõuded ====
==== Põhilised nõuded ====


Vaatamata asjaolule, et erinevate keskkondade funktsioonide kogum võib erineda, on siiski programmeerimist lihtsustavad põhivajadused, ilma milleta programmeerimisprotsess võib piinata:
Vaatamata asjaolule, et erinevate keskkondade funktsioonide kogum võib erineda, on siiski programmeerimist lihtsustavad põhivajadused, ilma milleta programmeerimisprotsess võib piinata:
  * võimalus säästa tööd ja hiljem avada kõik samas seisukorras, nagu see oli sulgemise ajal;
* võimalus säästa tööd ja hiljem avada kõik samas seisukorras, nagu see oli sulgemise ajal;
  * võimalus käivitada koodi keskkonnast endast;
* võimalus käivitada koodi keskkonnast endast;
  * võimalus koodist läbi astuda on kõigi IDE-de põhifunktsioon (silumistugi);
* võimalus koodist läbi astuda on kõigi IDE-de põhifunktsioon (silumistugi);
  * süntaksi esiletõstmine võimaldab teil kiiresti leida märksõnu, muutujaid ja muudab lugemise mugavamaks, mis võimaldab teil koodi paremini mõista;
* süntaksi esiletõstmine võimaldab teil kiiresti leida märksõnu, muutujaid ja muudab lugemise mugavamaks, mis võimaldab teil koodi paremini mõista;
  * koodi automaatne vormindamine ja vajalike süntaksielementide lisamine.[13]
* koodi automaatne vormindamine ja vajalike süntaksielementide lisamine.[13]


Lisaks põhinõuetele arendus keskkonnale on ka teisi põhiparameetreid, mis mõjutavad seda, millise keskkonna arendaja enda jaoks valib. Nende hulka kuuluvad paigaldamise ja kasutamise lihtsus, kasutajate nõuete ja ootuste järgimine, arendajatega suhtlemise lihtsus ja tehnilise toe kvaliteet.
Lisaks põhinõuetele arendus keskkonnale on ka teisi põhiparameetreid, mis mõjutavad seda, millise keskkonna arendaja enda jaoks valib. Nende hulka kuuluvad paigaldamise ja kasutamise lihtsus, kasutajate nõuete ja ootuste järgimine, arendajatega suhtlemise lihtsus ja tehnilise toe kvaliteet.
Line 125: Line 123:
==== IDE ja programmeerimiskeele populaarsus ====
==== IDE ja programmeerimiskeele populaarsus ====


IDE-de populaarsus seotud ka nende toetatavate programmeerimiskeeledega, nende arusaadavuse kättesaadavusega ja uue vaatajaskonna suhtelise õppimise lihtsusega.
IDE-de populaarsus seotud ka nende toetatavate programmeerimiskeeledega, nende arusaadavuse kättesaadavusega ja uue vaatajaskonna suhtelise õppimise lihtsusega.


Näiteks seletab see PyCharmi keskkonna ja Pythoni programmeerimiskeele kasvavat populaarsust. Samuti nimetatakse sellise tõsise hüppe üheks põhjuseks selliste valdkondade arendamist nagu andmete kaevandamine, tehisintellekt ja arvuline arvutus.
Näiteks seletab see PyCharmi keskkonna ja Pythoni programmeerimiskeele kasvavat populaarsust. Samuti nimetatakse sellise tõsise hüppe üheks põhjuseks selliste valdkondade arendamist nagu andmete kaevandamine, tehisintellekt ja arvuline arvutus.


==== Nõutavad programmeerimiskeeled spetsialistide ja algajate seas ====
==== Nõutavad programmeerimiskeeled spetsialistide ja algajate seas ====


Vaatleme professionaalse programmeerija ühiskonna nõudlust konkreetse keele indeksi põhjal, mis on programmeerimiskeelte populaarsuse näitaja (indeks uuendatakse kord kuus).
Vaatleme professionaalse programmeerija ühiskonna nõudlust konkreetse keele indeksi põhjal, mis on programmeerimiskeelte populaarsuse näitaja (indeks uuendatakse kord kuus).


[[File:Edetabel nov 2020.png|600px|thumb|left|Päringu kuupäev: 06.11.2020. Andmete allikas (Professionaalsed programmeerijad): https://www.tiobe.com/tiobe-index/ Andmete allikas (Algatajad): https://pypl.github.io/PYPL.html]]  
[[File:Edetabel nov 2020.png|600px|thumb|left|Päringu kuupäev: 06.11.2020. Andmete allikas (Professionaalsed programmeerijad): https://www.tiobe.com/tiobe-index/ Andmete allikas (Algatajad): https://pypl.github.io/PYPL.html]]  
Line 138: Line 135:
Edetabelid põhinevad ülemaailmselt kvalifitseeritud inseneridel, kursustel ja kolmandate osapoolte pakkujatel ja nende arvutamiseks kasutatakse populaarseid otsingumootoreid (Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube, Baidu). Viimase aasta jooksul on Pythoni indeksi kasv olnud teiste konkurentide omast suurem, tugevdades seeläbi tema positsiooni.[14]
Edetabelid põhinevad ülemaailmselt kvalifitseeritud inseneridel, kursustel ja kolmandate osapoolte pakkujatel ja nende arvutamiseks kasutatakse populaarseid otsingumootoreid (Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube, Baidu). Viimase aasta jooksul on Pythoni indeksi kasv olnud teiste konkurentide omast suurem, tugevdades seeläbi tema positsiooni.[14]


Lisaks levimusele professionaalse kogukonna seas saab teatud keele populaarsuse teatud määral kindlaks teha, analüüsides, kui sageli otsitakse Google'is keeleõpikuid ja käsiraamatuid.[15]
Lisaks levimusele professionaalse kogukonna seas saab teatud keele populaarsuse teatud määral kindlaks teha, analüüsides, kui sageli otsitakse Google'is keeleõpikuid ja käsiraamatuid.[15]


2020. aasta novembris avaldatud programmeerimiskeele indeksi PYPL PopularitY andmetel oli otsingutes populaarseim Python.
2020. aasta novembris avaldatud programmeerimiskeele indeksi PYPL PopularitY andmetel oli otsingutes populaarseim Python.


== IDE positiivsed ja negatiivsed küljed ==
== IDE positiivsed ja negatiivsed küljed ==
Line 148: Line 144:


==== IDE positiivsed küljed ====
==== IDE positiivsed küljed ====
* Arukad koodianalüüsi ja lõpetamise tööriistad muudavad koodi kirjutamise kiiremaks ja palju vähem veaohtlikuks, mis on tohutu abi nii algajatele kui ka professionaalidele.
* Arukad koodianalüüsi ja lõpetamise tööriistad muudavad koodi kirjutamise kiiremaks ja palju vähem veaohtlikuks, mis on tohutu abi nii algajatele kui ka professionaalidele.
* Võimas koodiga navigeerimine tööriistade abil on koodi hõlpsam leida ja sinna pääseda sekunditega isegi suurte projektide korral.
* Võimas koodiga navigeerimine tööriistade abil on koodi hõlpsam leida ja sinna pääseda sekunditega isegi suurte projektide korral.
* Saate koodi kirjutada ja siluda redaktorist lahkumata.
* Saate koodi kirjutada ja siluda redaktorist lahkumata.
* Toetavad paljusid programmeerimiskeeli, mis koodinavigatsiooni ja koodianalüüsi koos tööriistadega muudab suurte projektide kallal töötamise imelihtsaks.[16]
* Toetavad paljusid programmeerimiskeeli, mis koodinavigatsiooni ja koodianalüüsi koos tööriistadega muudab suurte projektide kallal töötamise imelihtsaks.[16]


==== IDE negatiivsed küljed ====
==== IDE negatiivsed küljed ====
* Enamikul IDE-del omandab nii palju funktsioone, et nende kasutamise õppimine võib saada algajatele ülekaalukaks ülesandeks.
* Enamikul IDE-del omandab nii palju funktsioone, et nende kasutamise õppimine võib saada algajatele ülekaalukaks ülesandeks.
* Õppimine isegi professionaalidel võtab palju aega, et harjuda kõigi funktsioonidega.
* Õppimine isegi professionaalidel võtab palju aega, et harjuda kõigi funktsioonidega.
* Nende ulatuslik funktsioonide hulk muudab nad loidaks, ressurssidele, mille käivitamine võtab kaua aega.
* Nende ulatuslik funktsioonide hulk muudab nad loidaks, ressurssidele, mille käivitamine võtab kaua aega.
* Mõned arendajad leiavad, et keskkonda mõnikord on ülekoormatud mis kuulub visuaalne segadus ja võib sageli häirida, raskendada koodi loogikale keskendumist.[17]
* Mõned arendajad leiavad, et keskkonda mõnikord on ülekoormatud mis kuulub visuaalne segadus ja võib sageli häirida, raskendada koodi loogikale keskendumist.[17]


== IDE mõju töö protsessile ==
== IDE mõju töö protsessile ==
IDE on väga võimas riistvara, mis aitab rakenduste kirjutamisega ja seega lihtsustab programeerijate iga päevast tööd. Lihtsustamise tagajärjeks tuleneb ka rakenduste kiirem arengu protsess, aga kuidas ja millega täpselt IDE saab aidata? Selle küsimuse vastamisel hakkan mina viitama uurimisele, mis oli tehtud selles teemas nimega’ How Much Integrated Development Environments (IDEs) Improve Productivity?’, mida tegi Iyad Zayour.[18]
IDE on väga võimas riistvara, mis aitab rakenduste kirjutamisega ja seega lihtsustab programeerijate igapäevast tööd. Lihtsustamise tagajärjeks tuleneb ka rakenduste kiirem arenguprotsess. Kuid  millega täpselt ja kuidas saab IDE aidata? Antud küsimuse vastuse leidmiseks viitan uurimisele, mis oli tehtud antud teemal nimega’ How Much Integrated Development Environments (IDEs) Improve Productivity?’. Uurimuse auroriks on Iyad Zayour.[18]


Selles uuringus, oli uuritud grupp programeerijaid, mis tegeles haigla infosüsteemiga (hospital information system (HIS)). Selle uuringus programeerijat töötasid nendele tuttavas tingimustes ja neid paluti suhtlema inimestesse, kes viisid uuringut, nagu nad on praktikandid. Pärast seda oli kogutud informatsioon sellest, mida programeerijad tihti teevad ja mida nad kõige rohkem kasutavad, rakenduse kirjutamise ajal. Selle informatsiooni peal olid tehtud järeldused.
Selles uuringus, oli uuritud grupp programeerijaid, mis tegeles haigla infosüsteemiga (hospital information system (HIS)). Antud uuringus töötasid programeerijad nendele tuttavas tingimuses ja neid paluti suhtuda uurijatesse nagu praktikantidesse. Pärast seda oli kogutud informatsioon sellest, mida programeerijad tihti tegid ja mida nad kõige rohkem kasutasid, rakenduse kirjutamise ajal. Selle info abi olid tehtud järeldused.
Millised IDE funktsioonid lihtsustavad tarkvara arendust.
Millised IDE funktsioonid lihtsustavad tarkvara arendust?
Uuringu tulemustest saab teha järeldust, et kõige kasutatav funktsionaalsus riistvara kirjutamisel on järgmine:
Uuringu tulemustele toetudes saab teha järeldust, et kõige enam kasutatavad funktsioonid riistvara kirjutamisel on järgmised:


==== Intellisense ====
==== Intellisense ====


  See ei ole üks IDE funktsioon, vaid nende hulk. Selle nime all kuuluvad sellised IDE funktsioonid nagu koodi täitmine või sisu abistamine. Üldiselt võib öelda nii, et kõik IDE funktsioonid, mis ilmuvad ekraani peal, kui programeerija töötab, ja annavad talle lisa informatsiooni protsessist võivad olla nimetatud ‘Intellisense’.
  See ei ole üks IDE funktsioon, vaid nende kogum. Selle nime all kuuluvad sellised IDE funktsioonid nagu koodi täitmine või sisu abistamine. Üldiselt võib öelda nii, et kõik IDE funktsioonid, mis ilmuvad ekraani peal, kui programeerija töötab, annavad talle lisainformatsiooni protsessist ning neid kõiki võib nimetada ‘Intellisense’.


==== Navigatsioon ====
==== Navigatsioon ====


  Riistvara kirjutamisel kirjutatakse palju ridu koodi ja, et mitte otsida mille rea peale viitab mingi koodi tükk, programeerijad eelistavad kasutada nii öeldes navigatsiooni. See funktsioon saab viidata koodi kohale, mida viidetakse teises kohas. Näiteks kui funktsioon oli kuskil koodis varem kirjutatud ja programeerija tahab seda üles otsida ei ole tal vaja üles kerida, vaid ta saab vajutada selle funktsiooni viitele(selle nime peale) ja IDE ütleb talle, kus see funktsiooni kirjutatud kood asub.
  Riistvara kirjutamisel kirjutatakse palju ridu koodi ja selleks, et mitte otsida, millise rea peale viitab mingi koodi tükk, programeerijad eelistavad kasutada n.ö navigatsiooni. See funktsioon võimaldab viidata koodi kohale, mida viidetakse teises kohas. Näiteks kui funktsioon asus kuskil varem kirjutatud koodis ja programeerija tahab seda üles otsida, ei ole tal vaja üles kerida, vaid ta saab vajutada selle funktsiooni viitele (nime peale) ja IDE näitab talle, kus see funktsiooni kirjutatud kood asub.


==== Definitsiooni üles otsimine ====
==== Definitsiooni üles otsimine ====
  See funktsioon on sarnane eelmisega, kuid see IDE funktsioon näitab programeerijatele IDEs olevate funktsioonide koodi.
  See funktsioon on eelmisega sarnane, kuid antud IDE funktsioon näitab programeerijatele IDEs olevate funktsioonide koodi.


==== Märksõna otsimine ====
==== Märksõna otsimine ====
  Otsida mingit koodi tükki kasutades märksõnat. IDE otsib ülese kõik selle sõna juhtumit tekstis ja viitab nende kohtadele.
  Aitab otsida konkreetset koodi juppi kasutades märksõna. IDE otsib ülesse kõik selle sõna esinemise kohad tekstis ja viitab nende.


==== Debbuging ====
==== Debbuging ====


  Peale koodi kirjutamist tihti ilmub olukord, kui kirjutatud kood annab vea, või töötab valesti. Selle ülesanne lahendamiseks igas IDEs on debuger. See IDE funktsioonaalsus annab programeerijale võimalust vaadata mis toimub koodis selle käivitamise jooksul ja kuidas muutuvad muutujate väärtused.
  Peale koodi kirjutamist tekib tihti olukord, kui kirjutatud kood annab vea, või töötab valesti. Selle ülesande lahendamiseks on igas IDE-s on debuger. See IDE funktsioon annab programeerijale võimalust vaadata, mis toimub koodis selle käivitamise jooksul ja kuidas muutuvad muutujate väärtused.
 
Peale IDE funktsioone, mis olid välja toodud, uuring väitab, et IDE aitab paljudega juhuslikutega syntax vigadega, kuid teiselt pool ei aita ta kirjutatud koodi aru saamuga. Uuringus olid tehtud järeldused, et algse programmi kirjutamise etapis programeerijate produktiivses oli suurem, võrreldes lõppu etapiga. Selle põhjuseks oli välja toodud vigade otsimine või programeerimise keeles debugging. Lõppu etappides, kui koodi oli palju, vigade leidmine võttis palju aega programeerijatelt seega madaldas nende produktiivsust.


Peale IDE funktsioone, mis olid eelnevalt välja toodud, uuring väidab, et IDE aitab hakkama saada paljudega juhuslikutega syntax vigadega, kuid seevastu ei aita kirjutatud koodi arusaamisega. Uuringus olid tehtud järeldused, et algse programmi kirjutamise etapis, oli programeerijate produktiivsus suurem, võrreldes lõpuetapiga. Selle põhjuseks oli välja toodud vigade otsimine ehk programeerimise keeles debugging. Lõpuetappides, kui koode oli palju, vigade leidmine võttis palju aega, seega langes nende produktiivsus.


== Kokkuvõte ==
== Kokkuvõte ==
Kokkuvõtteks, saaks välja tuua seda, et IDE ,või kuidas seda veel nimetatakse Inteligent Development Enviroment, on ,nagu kogu programeerimine, päris uus asi maailmas. Vaatamata sellele, on IDE läbinud palju muudatusi oma esimesest ilmumisest, mis oli Maestro I(1970-1980). Praegused IDEd ei nõua eraldi riistvarat ja tunnevad ennast hästi iga arvuti peal. Võttes arvesse, et see suur muudatus toimus ainult 40 aasta jooksul, on raske ennustada, mida saab saavutada IDE tulevikus. Mitte nii kaua aega tagasi ilmus uus IDE tüüp, mida ei ole vaja alla laadida ja mis käivitab koodi serveri peal, mille nimetus on pilvepõhine IDE, mis veelkord tõestab, et IDE areng ei hakka kahanema. IDE üheks kasvu põhjuseks, vaieldamatult, on IT valdkonna suur kasv eelnevate aastate jooksul, mille tagajärjeks on ilmunud palju uusi programeerijaid.
Kokkuvõtteks, saaks välja tuua, et IDE ehk teisisõnu Inteligent Development Enviroment, on nagu kogu programeerimine, päris uus asi maailmas. Vaatamata sellele, on IDE läbinud palju muutusi oma esimesest ilmumisest, mis oli Maestro I(1970-1980). Praegused IDE-d ei nõua eraldi riistvara ja tunnevad ennast hästi iga arvuti peal. Võttes arvesse, et see suur muutus toimus vaid 40 aasta jooksul, on raske ennustada, mida võib IDE saavutada tulevikus. Hiljuti ilmus uus IDE tüüp, mida ei ole vaja alla laadida ja mis käivitab koodi serveri peal, Selle nimetus on pilvepõhine IDE, mis veelkord tõestab, et IDE areng ei kahane. IDE üheks põhiliseks kasvu põhjuseks on vaieldamatult IT valdkonna suur areng eelnevate aastate jooksul, mille tagajärjeks on tekkinud palju uusi programeerijaid.


Samas, tahaks öelda, IDE muutuvasest populaarsusest. IDE populaarsus on tihti seotud keeltega, millega nad opereeruvad, ja nende põhilise eesmärgiga. Selle pärast, et maailmas on väga palju keeli ja erinevaid IT valdkondi, on samas ka palju erinevaid IDE ja nende tüüpe.
Samas, tahaks öelda, IDE muutuvast populaarsusest. IDE populaarsus on tihti seotud keeltega, millega nad opereeruvad ja nende põhilise eesmärgiga. Seetõttu, et maailmas on väga palju keeli ja erinevaid IT valdkondi, on samas ka palju erinevaid IDE ja nende tüüpe.


Sellel 'targal' tarkvaral on nii omad eeldused, kui ka omad puutused, kuid saab kindlalt väita, et IDE on kõige parem tarkvara koodi kirjutamiseks. IDE aitab programeerijatel kiirelt ja mugavalt teha omad tööd, seega kiirendades keskkonna progressi ja vähendades ressurside raiskamist.
Sellel 'targal' tarkvaral on nii omad eeldused, kui puutused, kuid ühte saab kindlalt väita, et IDE on kõige parem tarkvara koodi kirjutamiseks. IDE aitab programeerijatel kiirelt ja mugavalt teha omad tööd, kiirendades sellega keskkonna progressi ja vähendades ressurside raiskamist.


== Kasutatud materjalid ==
== Kasutatud materjalid ==

Latest revision as of 17:59, 8 December 2020

Rühmaliikmed:

  Roman Malõsev
  Egor Mikhaylov
  Grigori Senkiv


Sissejuhatus

IDE või Integrated Development Enviroment on riistvara, mida kasutagakse IT sfääris. Selle kasutamine lihtsustab koodi kirjutamist mitmel eri moel ja samas teeb rakenduste kirjutamist kiiremaks. IDE-d saab võrrelda tekstiredaktoriga, mis aitab teksti kirjutamisel. Analoogselt tekstiredaktoriga, aitab IDE leida vigu ja töötab mitmes eri keeles. Lisaks, on IDE-s ka teisi funktsioone, mis lihtsustavad koodi kirjutamist ja seetõttu teevad rakenduste kirjutamist kiiremaks. Seda kasutavad mitte ainult programeerijad, vaid ka teised programeerimisest huvitatud inimesed.

IDE Ajalugu

Milleks on IDE tehtud?

IDE on loodud programmeerijate tootlikkuse maksimeerimiseks lihtsate kasutajaliideste tihedalt ühendatud komponentide kaudu. See võimaldab arendajal teha vähem režiime vahetamiseks vähem samme, erinevalt diskreetsetest arendusprogrammidest. Kuna IDE on keeruline tarkvarapakett, suudab arenduskeskkond tarkvara arendamise protsessi kvalitatiivselt kiirendada alles pärast pikka õppeprotsessi.[1]

Mis oli enne, kui IDE oli loodud?

Enne IDE-sid kirjutasid arendajad oma programmid tekstiredaktoritesse. Nad kirjutaksid ja salvestaksid rakenduse tekstiredaktorisse; seejärel käivitasid kompilaatorit, võttes arvesse veateateid. Seejärel läks kood redigeerimiseks tagasi tekstiredaktorisse.

1983. aastal omandas Borland Ltd. Pascali kompilaatori ja andis selle välja TurboPascalina, mis hõlmas esmakordselt integreeritud redaktorit ja kompilaatorit. Samal ajal kui TurboPascal käivitas integreeritud arenduskeskkonna idee, oli paljude arvates 1991. aastal käivitatud Microsofti Visual Basic (VB) esimene tõeline IDE. Visual Basic loodi vanemale BASIC-keelele, mis oli kogu 1980ndate aastate jooksul populaarne programmeerimiskeel. Visual Basicu ilmumisega võis programmeerimisele mõelda graafiliselt ja tekkis märkimisväärne kasu tootlikkusest.[2]

Esimene IDE

Esimesed IDE-d loodi konsooli või terminali kaudu töötamiseks, mis iseenesest oli uudsus: enne seda loodi programmid paberil, sisestati masinasse eelnevalt ettevalmistatud paberkandjate (perfokaardid, augustatud lindid) abil jne.

Dartmouth BASIC oli esimene IDE-ga loodud keel ja see töötati välja ka esimesena konsoolis või terminalis kasutamiseks. Antud IDE-d (osa Dartmouthi aja jagamise süsteemist) kontrolliti käskude abil, seetõttu erines see oluliselt hilisematest järeltulijatest. Seda juhiti menüüde ja kiirklahvide abil ning veelgi enam 21. sajandil levinud graafilisi IDE-sid. Kuid see võimaldas neil muuta lähtekoodi, hallata faile, kompileerida, siluda ja käivitada programme ligilähedaselt kaasaegsete IDE-dega.

Müncheni Softlabi toode Maestro I oli maailma esimene integreeritud tarkvara arenduskeskkond 1975. aastal ja vaieldamatult maailma niši turul 1970. ja 1980. aastatel liider. Selle on installinud 22 000 programmeerijat kogu maailmast. Kuni 1989. aastani paigaldati Saksamaa Liitvabariiki 6000 eksemplari. Tänapäeval kuulub Maestro I ajalukku ja seda leiab ainult Arlingtoni infotehnoloogia muuseumist.[3]

IDE keskkondade ajalugu

Raamistike idee küpses 1980. aastate keskpaigaks, kui tekkis kaks populaarset raamistike rühma:

  • Borlandi turbo keskkonnad (Turbo Pascal, Turbo C, Turbo C ++, Delphi jne), et toetada nendes keeltes programmeerimist, mis on esmalt rakendatud MS DOS-i operatsioonisüsteemi, seejärel Windowsi operatsioonisüsteemi jaoks;
  • GNU Emacs on mitmekeelne ja mitme platvormiga integreeritud arenduskeskkond, mis on rakendatud MS DOS-i, seejärel Windowsi, OpenVMS-i ja Linuxi jaoks.

Arendajate meeskond, kes töötas Sun Microsystemsiga 1990. aastatel, hõlmas tänu GNU Emacsi keskkonna paljudele kasutajatele ja harrastajatele tänu selle rakendamisele Solarise platvormil.

Borlandi turbo keskkondadel on olnud tohutu mõju tarkvaraarendajatele ja tarkvaraarenduse tööriistade valmistajatele. Nende iseloomulikuks jooneks oli pideva arendustsükli toetamine:

  • lähtekoodi sisestamine ja muutmine
  • kompileerimine
  • vigade analüüsimine ja parandamine
  • kompileerimise lõpetamine
  • käivitamine ja silumine
  • integreeritud keskkonnast lahkumata saab kõiki neid etappe juhtida lihtsa funktsiooniklahvide komplektiga ja need ei nõua selgesõnalist kõnet või eraldi instrumente.

Suur kompileerimise kiirus on ka Turbo keskkondade mõjuv omadus. Kuigi Turbo-Pascali esimestes versioonides tehti kompileerimist enne esimest tõrget ning kõigi vigade leidmist, seejärel tuli pärast eelmise vea parandamist uuesti kompileerimist alustada, kuid see teostati koheselt funktsiooni klahvide abil. Turbo-Pascali keskkonna kõige olulisem uuendus oli sisendkeele laiendamine objektorienteeritud mõistetega (klass, objekt) ja üksuse konstruktsioon, mis kehastab iseseisva kompileerimise üksuse ideed. OOP tugi ilmus versioonis 5.5. Seejärel töötati need ideed välja juba Windowsi platvormil Borlandi integreeritud keskkondade uutes versioonides - Borland Pascal ja Delphi (Borlandi programmeerimiskeel, mis arendab Pascali ideid koos OOP-ga).[4]

IDE tüübid

Esimene IDE või integreeritud programmeerimiskeskkond oli loodud 1983. aastal ja tänapäevani on nemad oma arengus jõudnud kaugele. Kõik nad on omavahel erinevad ja kõikidel on omad eeldused ja puudused. Selleks, et saada aru, mis on nende vahel erinevat, on esiteks vaja aru saada, millega nad erinevad tavalistest tekstiredaktoritest.

Tekstiredaktori tüüpe on erinevaid ja kõige populaarsemad tavalisele arvuti kasutajale, võiksid olla tavalise teksti kirjutamise tekstiredaktorid, nagu notepad, word või openoffice. Tegelikult ei ole tekstiredaktorid ainult programmid, mis töötavad tavalise tekstiga. Sellised programmid nagu VS code ja atom on ka tekstiredaktorid, kuid nemad võrreldes teiste lihtsamate tekstredakrotitega, on mõeldud koodi kirjutamisele. Kõige suurem erinevus IDE ja tekstiredaktori vahel, on nende suurusest ja programeerimisfunktsioonide arvust.

Tekstiredaktorid ei oma nii palju funktsioone, nagu on IDE-s. Mõned IDE funktsioonidest saab ka tekstiredaktorile juurde installeerida, kuid mitte kõiki, nagu näiteks koodi käivitamine või debugger, installeerida ei saa.[5][6]

Integreeritud programmeerimiskeskkondi on väga palju ja seega on väga palju võimalusi, kuidas neid jaotada ja eristada üksteisest. Nende kõikide populaarsemateks jaotusteks on järgmised gruppid:

• IDE-d mitme keele jaoks.

IDE-d, mis toetavad rohkem kui ühte programeerimise keelt.

• Mobiiliarenduse IDE-d.

IDE-d, mille ülesanneteks on teha mobiilrakendusi.

• Konkreetsete keelte IDE-d.

IDE-d, mis toetavad ainult ühte programeerimise keelt.

• IDE Microsofti või Apple'i jaoks.

IDE-d, mis vajavad konkreetset os(operatsiooni süsteemi).

• IDE-d, mis on loodud tekstiredaktoritest.

IDE-d, mis on kasutajasõbralikud ja kerged, kuid samas võivad võistelda oma funktsionaalsuse tasemegqa tavalise IDE-ga. Sellised IDE-d on pooleldi IDE ja pooleldi tekstredaktor. Võrreldes tavalise IDE-ga, ei oma need IDE-d nii palju võimalusi nagu tavalised IDE-d pärast nende installimist, kuid nende funktsionaalsus tuleneb pluginitest, mida saab tekstiredaktorile juurde panna. Pärast nende modifitseerimist, said tekstiredaktorid rohkelt võimalusi ning neid hakati nimetama IDE-ks, mis oli loodud tekstiredaktorist.

• Pilvepõhine IDE.

IDE-d, mis põhinevad internetis ja mida ei ole vaja arvutisse alla laadida, et seal töötamist alustada. Koodi salvestamine ja selle käivitamine toimub serveri peal. Selliste IDE hulga kuulub selline keskkond nagu CodePen.

[5][7][8][9]


Ühte gruppi kuuluvus ei keela programeerimiskeskkonnal kuuluda ka teistesse grupidesse. Nii paljud mitme keelte programeerimiskekkonnad võivad olla ka mobiiliarenduse keskkonnad. Samuti võivad olla pilvipõhised IDE-d nii mitmekeelsed kui ka töötada ainult teatud keelega.

Samas, nagu on näha paljudest IDE populaarsuse tabelitest, eelistavad programeerijad rohkem multifunktsionaalseid ja kergeid IDE-sid. Sellest tuleneb, et spetsiifilised osad ja konkreetsed keelte jaotused kaotavad iga aastaga oma aktuaalsust. [10]

Kasutuskogemus

Baasnõuded

IDE tööriistad on suunatud programmeerija töö hõlbustamisele ja kiirendamisele keskkonnas ning selleks sisaldavad nad tavaliselt (1) koodiga töötamiseks mõeldud redaktorit (automaatne täitmine, süntaksi esiletõstmine jne); (2) tööriistade loomine, käitamine ja silumine; (3) koostaja ja / või tõlgendaja.[11]

Tänu nendele tööriistadele arenduskeskkond kiirendab kvalitatiivselt arendusprotsessi, kuna need ühendavad ühes moodulis mitmesugused utiliidid. See võimaldavad abstraktselt abistavate ülesannete täitmisest loobuda ja võimaldavad programmeerijal keskenduda loogikale ja algoritmilise probleemi lahendamisele ning vältida aja raiskamist tüüpiliste tehniliste toimingute ja vigade tegemisel. kirjutamine. Need olulised asjad võivad tõsta arendajate tootlikkust.[12]

IDE-d toetavad sageli paljusid erinevaid programmeerimiskeeli ja neil on palju funktsioone, mis võivad olla mahukad, allalaadimiseks ja installimiseks aeganõudvad ning nõuavad õigeks kasutamiseks põhjalikke teadmisi.

Põhilised nõuded

Vaatamata asjaolule, et erinevate keskkondade funktsioonide kogum võib erineda, on siiski programmeerimist lihtsustavad põhivajadused, ilma milleta programmeerimisprotsess võib piinata:

  • võimalus säästa tööd ja hiljem avada kõik samas seisukorras, nagu see oli sulgemise ajal;
  • võimalus käivitada koodi keskkonnast endast;
  • võimalus koodist läbi astuda on kõigi IDE-de põhifunktsioon (silumistugi);
  • süntaksi esiletõstmine võimaldab teil kiiresti leida märksõnu, muutujaid ja muudab lugemise mugavamaks, mis võimaldab teil koodi paremini mõista;
  • koodi automaatne vormindamine ja vajalike süntaksielementide lisamine.[13]

Lisaks põhinõuetele arendus keskkonnale on ka teisi põhiparameetreid, mis mõjutavad seda, millise keskkonna arendaja enda jaoks valib. Nende hulka kuuluvad paigaldamise ja kasutamise lihtsus, kasutajate nõuete ja ootuste järgimine, arendajatega suhtlemise lihtsus ja tehnilise toe kvaliteet.

Top-10 IDE kasutuse ülevaade

Päringu kuupäev: 06.11.2020. Andmete allikas: https://www.g2.com/categories/integrated-development-environments-ide?tab=highest_rated

Tegevusalad, kus need Top-10 IDE on nõutavad, on erinevad, kuid peamised ja peamised kasutajad on arvutitarkvara, IT ja teenused, Internet, kõrgharidus, finantsteenuste sektor.

Päringu kuupäev: 06.11.2020. Andmete allikas: https://www.g2.com/categories/integrated-development-environments-ide?tab=highest_rated

Kui varem suurema osa tarkvarategevusest tegelesid professionaalsed insenerid ja programmeerijad, siis tänapäeval on programmeerimisoskusi (algtasemest professionaalseni) vaja kõikjal, nii et headest tarkvaraarendajatest on pidevalt puudus. Niisama suurem on vajadus lihtsate ja kasutajasõbralike keskkondade järele, kus tarkvarainsenerid saaksid töötada, mida on kiire redigeerimistsükli ja sujuva juurutamise abil lihtne õppida.

Ülemaailmne Visual Studio on populaarseim IDE, Visual Studio Code kasvas viimase 5 aasta jooksul kõige rohkem (-0,1%) ja kõige rohkem kaotas Eclipse (1,7%). Päringu kuupäev: 06.11.2020. Andmete allikas: https://pypl.github.io/IDE.html

IDE ja programmeerimiskeele populaarsus

IDE-de populaarsus seotud ka nende toetatavate programmeerimiskeeledega, nende arusaadavuse kättesaadavusega ja uue vaatajaskonna suhtelise õppimise lihtsusega.

Näiteks seletab see PyCharmi keskkonna ja Pythoni programmeerimiskeele kasvavat populaarsust. Samuti nimetatakse sellise tõsise hüppe üheks põhjuseks selliste valdkondade arendamist nagu andmete kaevandamine, tehisintellekt ja arvuline arvutus.

Nõutavad programmeerimiskeeled spetsialistide ja algajate seas

Vaatleme professionaalse programmeerija ühiskonna nõudlust konkreetse keele indeksi põhjal, mis on programmeerimiskeelte populaarsuse näitaja (indeks uuendatakse kord kuus).

Päringu kuupäev: 06.11.2020. Andmete allikas (Professionaalsed programmeerijad): https://www.tiobe.com/tiobe-index/ Andmete allikas (Algatajad): https://pypl.github.io/PYPL.html

Edetabelid põhinevad ülemaailmselt kvalifitseeritud inseneridel, kursustel ja kolmandate osapoolte pakkujatel ja nende arvutamiseks kasutatakse populaarseid otsingumootoreid (Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube, Baidu). Viimase aasta jooksul on Pythoni indeksi kasv olnud teiste konkurentide omast suurem, tugevdades seeläbi tema positsiooni.[14]

Lisaks levimusele professionaalse kogukonna seas saab teatud keele populaarsuse teatud määral kindlaks teha, analüüsides, kui sageli otsitakse Google'is keeleõpikuid ja käsiraamatuid.[15]

2020. aasta novembris avaldatud programmeerimiskeele indeksi PYPL PopularitY andmetel oli otsingutes populaarseim Python.

IDE positiivsed ja negatiivsed küljed

Sageli võite kuulda alternatiivseid arvamusi, et koodiredaktor on vaatamata väiksemale funktsionaalsusele tavaliselt kergem ja kiirem. Koodiredaktoritel (tekstiredaktorid) on ka süntaksi esiletõstmise ja vormindamise võimalused, nad saavad koodi käivitada ja silurit kasutada ning saavad veelgi paremini suhelda allika juhtimissüsteemidega.

IDE positiivsed küljed

  • Arukad koodianalüüsi ja lõpetamise tööriistad muudavad koodi kirjutamise kiiremaks ja palju vähem veaohtlikuks, mis on tohutu abi nii algajatele kui ka professionaalidele.
  • Võimas koodiga navigeerimine tööriistade abil on koodi hõlpsam leida ja sinna pääseda sekunditega isegi suurte projektide korral.
  • Saate koodi kirjutada ja siluda redaktorist lahkumata.
  • Toetavad paljusid programmeerimiskeeli, mis koodinavigatsiooni ja koodianalüüsi koos tööriistadega muudab suurte projektide kallal töötamise imelihtsaks.[16]

IDE negatiivsed küljed

  • Enamikul IDE-del omandab nii palju funktsioone, et nende kasutamise õppimine võib saada algajatele ülekaalukaks ülesandeks.
  • Õppimine isegi professionaalidel võtab palju aega, et harjuda kõigi funktsioonidega.
  • Nende ulatuslik funktsioonide hulk muudab nad loidaks, ressurssidele, mille käivitamine võtab kaua aega.
  • Mõned arendajad leiavad, et keskkonda mõnikord on ülekoormatud mis kuulub visuaalne segadus ja võib sageli häirida, raskendada koodi loogikale keskendumist.[17]

IDE mõju töö protsessile

IDE on väga võimas riistvara, mis aitab rakenduste kirjutamisega ja seega lihtsustab programeerijate igapäevast tööd. Lihtsustamise tagajärjeks tuleneb ka rakenduste kiirem arenguprotsess. Kuid millega täpselt ja kuidas saab IDE aidata? Antud küsimuse vastuse leidmiseks viitan uurimisele, mis oli tehtud antud teemal nimega’ How Much Integrated Development Environments (IDEs) Improve Productivity?’. Uurimuse auroriks on Iyad Zayour.[18]

Selles uuringus, oli uuritud grupp programeerijaid, mis tegeles haigla infosüsteemiga (hospital information system (HIS)). Antud uuringus töötasid programeerijad nendele tuttavas tingimuses ja neid paluti suhtuda uurijatesse nagu praktikantidesse. Pärast seda oli kogutud informatsioon sellest, mida programeerijad tihti tegid ja mida nad kõige rohkem kasutasid, rakenduse kirjutamise ajal. Selle info abi olid tehtud järeldused. Millised IDE funktsioonid lihtsustavad tarkvara arendust? Uuringu tulemustele toetudes saab teha järeldust, et kõige enam kasutatavad funktsioonid riistvara kirjutamisel on järgmised:

Intellisense

See ei ole üks IDE funktsioon, vaid nende kogum. Selle nime all kuuluvad sellised IDE funktsioonid nagu koodi täitmine või sisu abistamine. Üldiselt võib öelda nii, et kõik IDE funktsioonid, mis ilmuvad ekraani peal, kui programeerija töötab, annavad talle lisainformatsiooni protsessist ning neid kõiki võib nimetada ‘Intellisense’.

Navigatsioon

Riistvara kirjutamisel kirjutatakse palju ridu koodi ja selleks, et mitte otsida, millise rea peale viitab mingi koodi tükk, programeerijad eelistavad kasutada n.ö navigatsiooni. See funktsioon võimaldab viidata koodi kohale, mida viidetakse teises kohas. Näiteks kui funktsioon asus kuskil varem kirjutatud koodis ja programeerija tahab seda üles otsida, ei ole tal vaja üles kerida, vaid ta saab vajutada selle funktsiooni viitele (nime peale) ja IDE näitab talle, kus see funktsiooni kirjutatud kood asub.

Definitsiooni üles otsimine

See funktsioon on eelmisega sarnane, kuid antud IDE funktsioon näitab programeerijatele IDEs olevate funktsioonide koodi.

Märksõna otsimine

Aitab otsida konkreetset koodi juppi kasutades märksõna. IDE otsib ülesse kõik selle sõna esinemise kohad tekstis ja viitab nende.

Debbuging

Peale koodi kirjutamist tekib tihti olukord, kui kirjutatud kood annab vea, või töötab valesti. Selle ülesande lahendamiseks on igas IDE-s on debuger. See IDE funktsioon annab programeerijale võimalust vaadata, mis toimub koodis selle käivitamise jooksul ja kuidas muutuvad muutujate väärtused.

Peale IDE funktsioone, mis olid eelnevalt välja toodud, uuring väidab, et IDE aitab hakkama saada paljudega juhuslikutega syntax vigadega, kuid seevastu ei aita kirjutatud koodi arusaamisega. Uuringus olid tehtud järeldused, et algse programmi kirjutamise etapis, oli programeerijate produktiivsus suurem, võrreldes lõpuetapiga. Selle põhjuseks oli välja toodud vigade otsimine ehk programeerimise keeles debugging. Lõpuetappides, kui koode oli palju, vigade leidmine võttis palju aega, seega langes nende produktiivsus.

Kokkuvõte

Kokkuvõtteks, saaks välja tuua, et IDE ehk teisisõnu Inteligent Development Enviroment, on nagu kogu programeerimine, päris uus asi maailmas. Vaatamata sellele, on IDE läbinud palju muutusi oma esimesest ilmumisest, mis oli Maestro I(1970-1980). Praegused IDE-d ei nõua eraldi riistvara ja tunnevad ennast hästi iga arvuti peal. Võttes arvesse, et see suur muutus toimus vaid 40 aasta jooksul, on raske ennustada, mida võib IDE saavutada tulevikus. Hiljuti ilmus uus IDE tüüp, mida ei ole vaja alla laadida ja mis käivitab koodi serveri peal, Selle nimetus on pilvepõhine IDE, mis veelkord tõestab, et IDE areng ei kahane. IDE üheks põhiliseks kasvu põhjuseks on vaieldamatult IT valdkonna suur areng eelnevate aastate jooksul, mille tagajärjeks on tekkinud palju uusi programeerijaid.

Samas, tahaks öelda, IDE muutuvast populaarsusest. IDE populaarsus on tihti seotud keeltega, millega nad opereeruvad ja nende põhilise eesmärgiga. Seetõttu, et maailmas on väga palju keeli ja erinevaid IT valdkondi, on samas ka palju erinevaid IDE ja nende tüüpe.

Sellel 'targal' tarkvaral on nii omad eeldused, kui puutused, kuid ühte saab kindlalt väita, et IDE on kõige parem tarkvara koodi kirjutamiseks. IDE aitab programeerijatel kiirelt ja mugavalt teha omad tööd, kiirendades sellega keskkonna progressi ja vähendades ressurside raiskamist.

Kasutatud materjalid

[1] http://bourabai.kz/einf/ide.htm

[2] https://www.veracode.com/security/integrated-development-environment#:~:text=History%20of%20IDE&text=In%201983%2C%20Borland%20Ltd.&text=While%20TurboPascal%20launched%20the%20idea,programming%20language%20throughout%20the%201980s

[3] https://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D1%80%D0%B5%D0%B4%D0%B0_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B8

[4] https://intuit.ru/studies/courses/13805/1223/lecture/23386

[5] https://medium.com/analytics-vidhya/difference-between-text-editor-and-ide-integrated-development-environment-73f8b2368de6

[6] https://medium.com/@sgarcia.dev/learn-webdev-series-coding-tools-part-1-introduction-ides-vs-text-editors-and-the-rise-of-the-75c74bf26988

[7] https://intellipaat.com/blog/tutorial/pycharm-tutorial/what-is-ide/

[8] https://www.sololearn.com/Blog/51/what-is-an-ide-what-you-need-to-know-about-an-integrated-development-environment/

[9] https://searchcloudcomputing.techtarget.com/definition/cloud-IDE#:~:text=A%20cloud%20IDE%20is%20a,user%20interface%20(GUI)%20builder

[10] https://pypl.github.io/IDE.html

[11] https://tproger.ru/translations/python-ide/

[12] https://moluch.ru/archive/309/69869/

[13] https://tproger.ru/translations/python-ide/

[14] https://www.tiobe.com/tiobe-index/

[15] https://pypl.github.io/PYPL.html

[16], [17] https://medium.com/@sgarcia.dev/learn-webdev-series-coding-tools-part-1-introduction-ides-vs-text-editors-and-the-rise-of-the-75c74bf26988

[18] https://pdfs.semanticscholar.org/019e/36673a0821b1864b9d62b527813e900d13ba.pdf