Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ

Zgjedhja e një mjedisi zhvillimi (IDE).

"Kam menduar, kur do të vijë momenti kur do të më duhet të them në stilin "po, jam në moshën tuaj! .., etj." Dhe tani ... Ky moment, ka shumë të ngjarë, ka ardhur. mund të shihet nga postimi juaj i fundit - 16 vjeç, dhe ju pozicionoheni si një i ri që është i dhënë pas programimit. Ose do të përdorni Go për një projekt web në shkallë të gjerë, atëherë nuk mund të gjeni një ngjyrë skema që redaktori Sublime Text 3 të fillojë programimin, dhe një temë për punën e ditës, dhe e dyta - për natën. Dhe e gjithë kjo me qëllim që, siç e keni vendosur në të njëjtin postim, në të ardhmen e afërt përsëri - të fillojë të shkruani në gjuhën golang.Tani vetë IDE është në pyetje.

Në moshën tuaj, ose më mirë, nga 12 vjeç e diku deri në 16 vjeç, u ula në shtëpi në kompjuterin gumëzhitës ES-1840, të pajisur me një monitor bardh e zi "Electronics". Atje, më besoni, nuk kishte tema - as natë as ditë. Nuk po flas as për faktin se koncepti i "grafikës" u reduktua në algoritme për shfaqjen e formave të thjeshta gjeometrike dhe praktikisht, si të thuash, "piksel pas piksel". Nuk kishte as IDE të zbukuruara, dhe Norton / Volkov Commander u konsiderua kulmi i ergonomisë së UI. Windows dhe GUI? Jo, nuk kam dëgjuar .. Kishte MS-DOS në gjithë lavdinë e tij.

Por nga ana tjetër, miku im i ri, kishte Borland TurboPascal, Borland C ++, Microsoft GW-BASIC dhe të tjerë - më të thjeshtat në kuptimin e një guaskë grafike (nëse koncepti i tillë mund të gjendej fare atje), por mjediset e nevojshme të zhvillimit për MS-DOS, falë të cilave shumë u bënë profesionistë pa asnjë temë nate. Oh po, harrova të përmend: atëherë nuk kishte internet dhe përgjigja për një pyetje si "Si ta bësh atë ..." nuk mund të gjendej duke përdorur Google. Dhe nuk kishte libra. Ndoshta libri i V. E. Figurnov "IBM PC për përdoruesit" është pothuajse e vetmja Bibël e gjeneratës sonë dhe skanime të pakta të dokumentacionit që vinin me versionet zyrtare të programeve të mësipërme dhe u konsideruan më të vlefshme se ari.

Siç ju kam shkruar tashmë, unë njoh njerëz (dhe shumë e dinë) që kanë shkuar për të mësuar Java prej vitesh, por nuk mund të vendosin se cili është më i mirë - Eclipse ose NetBeans. Si rezultat, ata qëndruan aty ku ishin, duke mos mësuar absolutisht asgjë. Dhe gjithçka sepse ata iu afruan procesit nga ana e gabuar, duke besuar qartë se rrënja e keqkuptimit të tyre të bazave të programimit lidhet me përdorimin e një IDE të papërshtatshme.

Ju uroj përparim dhe prandaj ju kërkoj: mos e përsëritni përvojën e humbësve dhe mos e shkelni këtë grabujë të rraskapitur të të tjerëve. Mësoni dhe filloni të kodoni dhe lini temat për më vonë.

Dëshiroj të ngre edhe një herë këtë temë mjaft të diskutueshme.

Që kur kam filluar programimin, kjo pyetje më përndjek, dhe tema të shumta në forume dhe habré nuk janë sqaruar. Plus, më duket se disa argumente për të dyja palët nuk janë paraqitur. Dhe ato që jepen kanë prioritete të gabuara dhe kontekst të humbur.

Në këtë artikull do të përpiqem ta korrigjoj këtë lëshim dhe të shënoj pak më shumë "e".

I ftoj të gjithë të marrin pjesë në kërkimin e mjetit të përsosur.

Rreth përvojës sime

Fillova të programoj në DOS. në Turbo Pascal. Dhe, për disa arsye, ne më pas përdorëm IDE vetëm për korrigjimin e gabimeve, dhe kjo është mjaft e rrallë. Për të shkruar kodin, ata preferuan të përdornin një edit.exe të paemërtuar pa ndonjë theksim sintaksor në lidhje me Volkov Commander. Dhe kaq mjaftoi. Në të njëjtën mënyrë, më vonë u mora me asembler dhe, pjesërisht, C ++.

Duke vazhduar të studioj C ++, kalova në Windows dhe, në përputhje me rrethanat, Visual Studio - ku pa të. Gjeta versione, nëse nuk gabohem, nga 5 në 7. Pas një redaktori të thjeshtë, ishte diçka - gjenerimi i kodit dhe plotësimi automatik ishin të këndshëm. Vërtetë, ishte pothuajse e pamundur të kuptohej gjithë kjo mirësi e krijuar, por dukej e parëndësishme.

Pas një kohe, kalova në Linux dhe fillova zhvillimin e uebit në php. Këtu kam studiuar vim paralelisht dhe kam përdorur ZendStudio për zhvillim. Në një moment, fillova të përdor vetëm Vim për gjithçka - e ktheva atë, sipas manualeve të shumta, në një ide të vogël. Në të, unë shkrova CMS-në time të parë të biçikletës në php.

Vini re se më parë programimi nuk ishte aktiviteti im kryesor. Po, kam shkruar shërbime të ndryshme të vogla për punë, kam bërë tema për WordPress, por aktiviteti im kryesor ka qenë administrimi.

Sapo fillova të zhvillohesha profesionalisht, nuk më mjaftonin më mundësitë e vim-it. Fillimisht kishte eklips, pastaj netbeans, tani phpstorm.

Për gjysmë viti i fundit jam përpjekur heroikisht të zotëroj emacs, përfshirë. si mjedisi kryesor i punës.

Kështu që unë kam diçka për të krahasuar dhe, shpresoj, mendimi im do të jetë mjaft i bazuar dhe i bazuar.

IDE? IDE ...

Mendova gjatë se në çfarë forme të sillja krahasimin e avantazheve dhe disavantazheve të palëve. Lista nuk është shumë e përshtatshme për këtë, pasi një listë e thjeshtë nuk pasqyron plotësisht thelbin e çështjes. Redaktori dhe IDE nuk janë të kundërta, por mjete, fushëveprimi i të cilave mbivendoset në disa fusha. Përparësitë e redaktorit nuk janë gjithmonë disavantazhet e mjedisit, dhe anasjelltas. Për këtë arsye, arsyetimi pak a shumë i strukturuar mbi këtë temë vazhdon.

Do të filloj, ndoshta, me një nga avantazhet e padiskutueshme të redaktorit - mundësitë e tij të pasura për të punuar me tekst dhe aftësinë për të bërë gjithçka pa hequr duart nga tastiera. Shumica e mjediseve nuk e bëjnë këtë. Por a keni vërtet nevojë për aftësi të tilla kur shkruani kod? Kur shkruani një artikull ose letër, mendoj se është e përshtatshme të ndërroni 2 fjalë me një shtypje tasti ose të zhvendosni një paragraf në krye të faqes. Por në tekstin e programit, në shumicën e rasteve është i pakuptimtë dhe kërkon rifaktorim. Dhe ju duhet të paguani për këtë ose me shkurtesat e tastierës emacs që ndajnë gishtat, ose me komandat po aq të dëmshme në vim. Por e gjithë kjo duhet të mbahet mend! Ajo që zgjidhet thjesht me një lëvizje të miut, si lëvizja e dritareve ose ndryshimi i madhësisë së tyre, kthehet në një kërkim të tërë. Po, edhe theksimi i tekstit është më i lehtë me miun - më saktë, më i shpejtë dhe nuk duhet të numëroni sa fjalë ka deri në vendin e duhur në tekst. Jo, edhe programuesi mund Këto funksione mund të jenë të dobishme, por fakti është se koha e tij e shpenzuar për modifikimin e vërtetë të kodit është e papërfillshme, kështu që praktikisht nuk do të ketë asnjë përfitim në kohë. Por një ndërlikim domethënës i instrumentit është i dukshëm.

Një programues shpenzon 80% të kohës së tij duke kuptuar dhe lundruar kodin e shkruar. Për më tepër, lëvizja është përmes kodit, dhe jo përmes tekstit! Dhe këtu redaktori nuk mund ta ndihmojë atë me absolutisht asgjë. Lista e parametrave të metodës në këshillën e veglave nuk do të shfaqet, nuk do t'ju lejojë të shkoni te përkufizimi i metodës, sintaksa nuk do të kontrollojë. Dhe IDE-të, edhe ato më të thjeshtat, e trajtojnë këtë në një mënyrë të thjeshtë dhe elegante. Kohët e fundit kam kaluar 10 minuta duke kërkuar për një përkufizim të një metode në një projekt duke përdorur silversearcher nga emacs. Doli që klasa ishte përcaktuar në një modul tjetër, etj. 10 minuta në vend të një klikimi të mausit! Sigurisht, nuk kam përvojë të mjaftueshme në emacs, ndaj le të jetë 5 minuta, qoftë edhe një minutë. Por raporti është ende mbresëlënës.

Dhe këtu IDE tregon plusin e tij, ndoshta të vetëm, por shumë të guximshëm - kjo është prania e një analizuesi të gjuhës programuese. Mjedisi "e kupton" që është duke redaktuar kodin. Redaktori nuk është. Dhe ky është plotësimi automatik, lundrimi dhe nxjerrja në pah e gabimeve sintaksore dhe, ndonjëherë, semantike. Duket e tepërt, një gjë e vogël e këndshme, vetëkënaqësi. Por ajo kthehet në një domosdoshmëri pasi madhësia e projektit kalon një kufi të caktuar. Dhe duke marrë parasysh kornizat voluminoze moderne, ky kufi vjen pothuajse menjëherë.

Po, në një projekt me dhjetëra skedarë dhe disa mijëra rreshta, ky plus nuk manifestohet në gjithë lavdinë e tij. Redaktori mund të kryejë gjithashtu të njëjtin plotësim automatik, por nuk do të eliminojë kurrë opsionet e pakuptimta. Dhe nëse madhësia e projektit i afrohet 100 mijë rreshtave dhe përbëhet nga mijëra skedarë, pa llogaritur bibliotekat, atëherë bëhet problematike të zgjedhësh emrin e dëshiruar nga një grumbull emrash variablash, metoda të klasave të tjera dhe vetëm fjalë nga komentet (kam këtë në vim, nuk e di, ndoshta e kanë rregulluar). Kërkesat inteligjente eliminojnë nevojën për të mbajtur mend emrat e funksioneve të dëshiruara dhe parametrat e tyre. Shpesh kjo thjesht nuk është fizikisht e mundur.

Duke folur për projekte. Të gjitha IDE-të kanë këtë koncept. Cilësimet, burimet janë të lidhura me të, mund të kërkoni, etj. Në redaktorët, kjo është në rastin më të mirë një drejtori e hapur në sistemin e skedarëve. Ndonjëherë pak më shumë.

Integrimi me korrigjuesin në redaktorët gjithashtu lë shumë për të dëshiruar. Testimi i njësisë, regjistrimi, deri diku, e shpëton situatën, por ndonjëherë nuk mund të shkoni askund pa një korrigjues.

Dikush mund të argumentojë se në redaktorët modernë, shumë nga këto funksione tashmë janë zbatuar dhe nuk janë në asnjë mënyrë inferiore ndaj IDE-ve më të sofistikuara. Unë nuk jam dakord. Së pari, nuk ka zbatime të plota. Ata nuk punojnë siç duhet. Së dyti, instalimi i gjithë kësaj është tashmë një detyrë mjaft e vështirë. Edhe konfigurimi i funksioneve të brendshme të redaktorit është tashmë jo i parëndësishëm. Provoni, le të themi, të aktivizoni numërimin e rreshtave në të njëjtat emacs! Plus, shpesh funksionaliteti i kërkuar zbatohet nga një duzinë shtojcash, nuk është e qartë se si ndërveprojnë me njëri-tjetrin. Dhe shpesh ata gjithashtu kanë një duzinë versione dhe degë, jo gjithmonë të pajtueshme, çuditërisht të personalizueshme, etj. Sigurisht, mund të kaloni një muaj, të konfiguroni dhe instaloni gjithçka (që është gjithashtu shumë entuziastësh), por kjo vetëm sa do ta afrojë redaktorin me nivelin IDE. Për shembull, le të kthehemi te të njëjtat projekte - kam provuar Project nën vim dhe projectile nën emacs dhe disa shtojca të tjera. Nëse Projekti pak a shumë i plotëson kërkesat e mia (edhe pse në versionin e fundit nuk arrita të krijoj fare një projekt për shkak të gabimeve), atëherë predha la një përshtypje jashtëzakonisht negative.

E megjithatë, redaktorët kanë disa fusha aplikimi ku ata, të paktën, konkurrojnë me mjediset e zhvillimit.

Së pari, ata performojnë më mirë në projekte të vogla. Nuk ka kuptim të shkarkoni një korrës IDE për të punuar me një projekt prej 10-20 skedarësh. Është më e lehtë të korrigjosh 3-4 rreshta në redaktues.

Së dyti, në disa fusha specifike, të gjitha avantazhet e IDE janë të niveluara. Për shembull, zhvillimi i nivelit të ulët për Linux. Unë nuk e bëra këtë, por duke gjykuar nga struktura e kodit dhe preferencat e zhvilluesve (rreth 70% - emacs dhe klone, 25% - vim, 5% - një lloj ekzotike si jed), nuk ka asgjë për të bërë IDE atje. I gjithë kodi i nevojshëm me të cilin punoni mblidhet, si rregull, në një ose dy skedarë dhe nuk keni nevojë të hidheni rreth të gjithë projektit. Dhe plotësimi automatik nuk do të ndihmojë shumë kur zgjidhni nga një duzinë ose dy funksione me pothuajse të njëjtët emra.

Së treti, redaktorët mund të punojnë me më shumë sesa thjesht kod. E gjithë fuqia e tyre mund të përdoret kur punoni me skedarë csv ose xml. Ose diçka tjetër, e cila ndonjëherë është e nevojshme, si një artikull ose letër. Dhe nuk keni nevojë të mësoni përsëri, të kërkoni një program të përshtatshëm ose të mësoni përmendësh tastet kryesore - gjithçka është afër, gjithçka është e njëjtë.

Së katërti, aftësia për të punuar me gjuhë për të cilat nuk ka IDE të arsyeshme. Thuaj, me të njëjtin rubin, mjedisi nuk më ndihmoi shumë. SublimeText ishte i mjaftueshëm. Megjithëse nuk punova me një projekt të madh rubin, ndoshta IDE do të ishte shfaqur atje.

Dhe së pesti, mundësia famëkeqe e zgjerimit. Me shtojca të mira, redaktori bëhet shumë miqësor për përdoruesit! Plus, kënaqësia specifike e akordimit të vazhdueshëm të instrumentit tuaj kryesor dhe ndjenja e kontrollit të plotë mbi të vlen shumë.

Total

Nuk më pëlqejnë vërtet IDE-të, megjithëse mund të duket kështu nga teksti i mëparshëm. Unë i konsideroj ato mjaft monstruoze, me një sërë funksionesh të panevojshme, të ngadalta dhe kërkuese për burime. Dhe më të mirat janë mjaft të shtrenjta. Gjithashtu, më duket se përdorimi i një IDE është relaksues dhe i mbështetur te vetja. Për redaktorët, në përputhje me rrethanat, e kundërta është e vërtetë. Plus disponueshmërinë dhe mundësinë e rregullimit të imët për veten tuaj. Të paktën vim dhe emacs. Në fund të fundit, më pëlqejnë ato. Për shembull, unë po shkruaj këtë artikull në Emacs.

Por industria (dhe shefat) diktojnë kërkesat e veta. Nëse nuk përdorni një IDE, performanca do të bjerë ndjeshëm. Por askush nuk do t'ju japë gjysmë ore për të gjetur presjen që mungon në 10 mijë rreshta kodi. E gjithë kjo duhet të bëhet automatikisht dhe të korrigjohet automatikisht. Gjithashtu ndonjëherë më pëlqen të gërmoj kode pa asnjë mjet - por në punë është humbje kohe.

Pas gjithë provës dhe gabimit tim, arrita në këtë përfundim - redaktor mund përdorni për zhvillim, por me një IDE, pas një kufiri të caktuar nuk krahasohet dhe përdorimi i një redaktori për diçka për të cilën paguheni është një luks i papranueshëm. Po, nëse përdorni praktikat e duhura të zhvillimit, hartoni / dokumentoni kodin në mënyrë korrekte, ndiqni standardet - mund të zbutni të metat e qenësishme të redaktorëve. Por ne nuk jetojmë në një botë ideale, kështu që përdorimi i një IDE është një domosdoshmëri, pavarësisht nga dëshira jonë.

Përpiluesi konverton kodin burimor (* .c, * .cpp skedarët) në një program pune. Nëse nuk keni një përpilues, duhet ta instaloni përpara se të filloni programimin. Ka shumë përpilues të disponueshëm për shkarkim në internet. Nëse jeni përdorues i Mac OS X, Linux ose sistemeve të tjera * nix (të tilla si Unix ose FreeBSD), ndoshta keni të instaluar tashmë përpilues si GCC ose G ++.

Konceptet bazë

Përpilues- një program që përkthen kodin burimor (të nivelit të lartë) të programit në kodin përfundimtar (të nivelit të ulët).
Përmbledhje- procesi i konvertimit të një teksti burimor të programit të nivelit të lartë në një tekst programi ekuivalent, por tashmë në një gjuhë të nivelit të ulët.
Lidhës(Linker) - një program që gjeneron një modul të ekzekutueshëm duke lidhur skedarët e objektit të projektit.
IDE(Integrated Development Environment) - Një kombinim i një redaktuesi teksti dhe një përpiluesi. Zhvillimi, përpilimi dhe nisja e programeve tuaja kryhen drejtpërdrejt në IDE. Mjediset e Integruara të Zhvillimit (IDE) thjeshtojnë procesin e shkrimit të programeve duke përpiluar dhe ekzekutuar programe në të njëjtin program, IDE, për të shkruar kodin. Një veçori tjetër e rëndësishme e IDE është se IDE ju ndihmon të gjeni dhe rregulloni shpejt gabimet e përpilimit.

Kuptimi i proceseve të përpilimit

Proceset e përpilimit dhe lidhjes - Një përshkrim i shkurtër i asaj që ndodh saktësisht kur përpiloni një program.
Gabimet e përpilimit, në disa rreshta përpiluesi gjen gabime që duhen eliminuar.
Paralajmërimet e përpiluesit - çfarë janë paralajmërimet e përpiluesit dhe si dhe pse zgjidhen ato.
Cili është ndryshimi midis deklaratave dhe përcaktimeve në C / C ++. Mësoni ndryshimin midis një deklarate dhe një përkufizimi në C / C ++ dhe pse është kaq e rëndësishme.

Zgjedhja e përpiluesit (IDE)

Për Windows OS:
Kodi :: Blloqe me Mingw - IDE-ja jonë e rekomanduar falas! Kodi :: Blloqet disponohen gjithashtu në Linux. Ju mund të shihni se si ta instaloni këtë IDE në artikullin tonë Instalimi i Kodit :: Blocks dhe MINGW.
Microsoft Visual C ++ - Lexoni rreth Visual C ++. Udhëzuesi i instalimit të Microsoft Visual Studio 2012

Ne paraqesim në vëmendjen tuaj një përshtatje të një artikulli nga Martin Heller, programues dhe redaktor i burimit JavaWorld. Ju ndoshta keni dëgjuar tashmë për tre IDE-të më të mira për zhvillimin e Java. Rreth 90 përqind e programuesve industrialë përdorin ose Eclipse, NetBeans ose IntelliJ IDEA, dhe çdo IDE ka avantazhet dhe disavantazhet e veta. Në këtë artikull ne do të përpiqemi t'i përshkruajmë ato në mënyrë që të kuptoni se cila është e duhura për ju. Edhe pse, sigurisht, është më mirë t'i provoni të treja në punë dhe të zbuloni se cila funksionon më mirë për ju. Kjo nuk mund të zëvendësohet me asnjë rishikim. Unë kam punuar me këto IDE më parë, por për këtë hulumtim kam instaluar IntelliJ IDEA Ultimate 2016.2, Eclipse Neon Java EE dhe NetBeans 8.1 Java EE në një laptop MacBook Pro. Unë e kam testuar IDE-në në disa projekte Java me burim të hapur.

Çfarë të presësh nga një IDE

Një IDE moderne "zhvilluesi i shëndetshëm Java" duhet të mbështesë Java 8, Scala, Groovy dhe gjuhë të tjera të makinës virtuale Java që përdor rregullisht. Mbështetja për serverët e aplikacioneve kryesore dhe kornizat më të njohura të uebit, duke përfshirë Spring MVC, JSF, Struts, GWT, Play, Wicket, Grails dhe Vaadin, nuk do të ishte e tepërt. IDE duhet të jetë në përputhje me çdo ndërtim të sistemeve të kontrollit të versioneve si Ant, Maven ose Gradle, së bashku me Git, SVN, CVS, Mercurial ose Bazaar. Për më tepër, është e rëndësishme që mjedisi i zhvillimit të jetë në gjendje të punojë me bazat e të dhënave dhe shtresën e klientit të stackit tuaj, të ketë mbështetje për JavaScript të integruar, TypeScript, HTML, SQL, Faqet e JavaServer, Hibernate, si dhe Java Persistence API. Së fundi, është logjike të shpresojmë se IDE do t'ju lejojë të redaktoni, ndërtoni, korrigjoni dhe testoni sistemet pa stres të panevojshëm. Është ideale nëse mjedisi i zhvillimit mbështet jo vetëm plotësimin inteligjent të kodit, por edhe rifaktorimin inteligjent dhe metrikën e kodit. Në shumë raste, mbështetja për kornizat e testimit dhe cungët do të jetë e dobishme. Nëse ekipi juaj përdor një sistem biletash dhe CI / CD, ju duhet IDE që të mund të lidheni me ta. Gjithashtu, vendosni nëse keni nevojë për vendosje dhe korrigjim në kontejnerë dhe re. Ne kemi renditur vetëm pritjet kryesore (ndoshta keni diçka për të shtuar), dhe tani le t'i hedhim një vështrim më të afërt rivalëve tanë.

IntelliJ IDEA


IntelliJ IDEA vjen në dy variante për sa i përket veçorive dhe çmimit: botimi falas i Komunitetit dhe versioni Ultimate me pagesë me funksionalitet të zgjeruar. Edicioni i komunitetit është për zhvillimin e JVM dhe Android. Versioni falas mbështet Java, Kotlin, Groovy dhe Scala; Android; Maven, Gradle dhe SBT; punon me sistemet e kontrollit të versioneve Git, SVN, Mercurial dhe CVS. Edicioni Ultimate është përshtatur për zhvillimin e ueb-it dhe ndërmarrjeve. Ky version i IDE jo vetëm që funksionon me Git, SVN, Mercurial dhe CVS, por edhe me Perforce, ClearCase dhe TFS; në të mund të shkruani në JavaScript dhe TypeScript; Natyrisht, ka mbështetje për Java EE, Spring, GWT, Vaadin, Play, Grails dhe një sërë kornizash të tjera. Dhe, sigurisht, jo pa SQL dhe mjete të bazës së të dhënave. Ideja, e cila udhëhiqet nga zhvilluesit e kësaj IDE, kur formojnë një politikë çmimi, është që versioni i tij komercial (Ultimate) të zërë vendin e tij në kompjuterët e profesionistëve, për shkak të të cilit produktiviteti i tyre do të rritet. Nëse një programues Java bën 50 mijë dollarë (ose edhe më shumë) në vit, kthimi i investimit të shpenzuar në IntelliJ IDEA IDE të paguar (500 dollarë për abonim vjetor) do të ndodhë shumë shpejt për shkak të një përshpejtimi qoftë edhe të lehtë të punës së tij. Në vitet në vijim, çmimi për biznesin bie, për startup-et, përkthyes të pavarur është dukshëm më i ulët, dhe për studentët, mësuesit, kampionët e Java-s dhe zhvilluesit me burim të hapur, është plotësisht falas. IntelliJ IDEA bën përshtypje me kuptimin e thellë të kodit, ergonominë inteligjente, funksionet e integruara të zhvillimit dhe mbështetjen për shumë gjuhë.
Figura 1. IntelliJ IDEA tregon numrin e paralajmërimeve dhe supozimeve të bazuara në analizën statistikore të kodit Java. Ju mund të eksploroni supozimet në mënyrë më të detajuar duke klikuar mbi to, siç tregohet në foto; në shumë raste, do të merrni një listë me zgjedhje dhe opsione për korrigjime.

Kuptimi i thellë i kodit

Theksimi i sintaksës dhe plotësimi i thjeshtë i kodit janë të zakonshme në çdo redaktues modern Java. IDEA e ka bërë një hap më tej duke ofruar "përfundim inteligjent". Ky term do të thotë që mjedisi i zhvillimit tregon një listë të simboleve më të rëndësishme që janë të zbatueshme në një kontekst të caktuar. Lista e simboleve varet jo vetëm nga konteksti si i tillë, "përgjithësisht i pranuar", por nga stili i programimit të zhvilluesit, nga sa shpesh ai përdor operatorë të caktuar. "Fundi i një zinxhiri" në fakt tregon një listë të karaktereve të aplikueshme që lejohen përmes metodave ose marrësve në kontekstin aktual. Përveç kësaj, në rastin e anëtarëve ose konstantave statikë, IDEA shton automatikisht çdo deklaratë importi të kërkuar. Në të gjitha rastet e plotësimit automatik, IDEA përpiqet të hamendësojë llojin e një simboli në kohën e ekzekutimit, të rafinojë zgjedhjen e tij dhe madje të aplikojë një cast nëse është e nevojshme. Kodi Java shpesh përfshin fragmente nga gjuhë të tjera si vargje. IDEA mund të injektojë kodin SQL, XPath, HTML, CSS ose JavaScript në vargjet literale Java. Në këtë kuptim, IDE mund të rifaktorojë kodin në shumë gjuhë. Për shembull, nëse riemërtoni një klasë në hartën JPA, IDEA do të përditësojë entitetin dhe klasën e shprehjes korresponduese JPA. Kur rifaktoron një pjesë të kodit, zhvilluesi ka një dëshirë (mjaft të natyrshme): që të gjitha dublikatat e këtij kodi të rifaktorohen gjithashtu. IDEA Ultimate gjen dublikatë dhe fragmente të ngjashme dhe i rifaktoron gjithashtu. IntelliJ IDEA analizon kodin në ngarkim dhe drejtpërdrejt në hyrje. Ai tregon probleme të dyshuara (si në foton tonë më lart) dhe ofron opsionalisht një listë të zgjidhjeve të shpejta të mundshme për problemet e zbuluara.

Ergonomia


IntelliJ IDEA është krijuar në mënyrë që të mos e rrëzojë zhvilluesin nga gjendja e produktivitetit të transmetimit nëse ai është tashmë në të. Dritarja e Projektit, e paraqitur në figurën e parë në të majtë, zhduket me një klikim të thjeshtë të mausit, në mënyrë që programuesi të fokusohet në dritaren e redaktuesit të kodit. Për të gjitha veprimet që nevojiten gjatë shkrimit të kodit, ekzistojnë shkurtore të tastierës për shkurtoren e tyre, duke përfshirë përcaktimin e simboleve në dritaret që shfaqen. Në fillim, të gjitha këto kombinime janë të vështira për t'u mbajtur mend, por gradualisht mësoheni me to dhe përdorni vetëm ato. Sidoqoftë, edhe nëse programuesi nuk përdor kombinime kyçe, siç tregon praktika, ai mësohet të punojë në IDEA shpejt dhe lehtë. Unë do të doja të shënoja veçanërisht korrigjuesin IDEA: vlerat e variablave shfaqen drejtpërdrejt në dritaren e redaktuesit, pranë kodit burimor përkatës. Kur ndryshon gjendja e ndryshores, ndryshon edhe ngjyra e theksimit.

Mjete të integruara

IntelliJ IDEA ofron një ndërfaqe të qëndrueshme për të bashkëvepruar me shumicën e sistemeve të kontrollit të versioneve, duke përfshirë Git, SVN, Mercurial, CVS, Perforce dhe TFS. Ju mund të menaxhoni ndryshimet drejtpërdrejt në IDE, gjë që është shumë e përshtatshme. Kur testova IDEA-n, kisha dëshirën që ndryshimi i fundit në kodin burimor të shfaqej në dritaren e redaktuesit si një shënim (siç ndodh, për shembull, në Visual Studio). Siç doli, IDEA ka një shtojcë të veçantë për këtë. IDEA ka gjithashtu mjete ndërtimi, një kohë testimi, mjete mbulimi dhe një dritare terminali të integruar. IntelliJ nuk ka profiluesin e vet, por shtojcat e palëve të treta mund të lidhen me të. Për shembull, YourKit nga një ish zhvillues kryesor i JetBrains ose VisualVM (ky është një version i ripaketuar i NetBeans Profiler). Korrigjimi në Java mund të jetë torturues kur gjëra të çuditshme ndodhin me klasat për të cilat nuk keni burimin. IDEA vjen me një dekompilues për raste të tilla. Programimi Java nga ana e serverit përfshin ndërveprime të shpeshta të bazës së të dhënave, kështu që programuesit IDEA Ultimate do të vlerësojnë komoditetin e mjeteve të SQL dhe bazës së të dhënave. Por nëse aftësitë e tyre nuk janë të mjaftueshme për dikë, mund të blini versionin IDEA Ultimate me SQL IDE të integruar (DataGrip). Vërtetë, do të jetë disi më e shtrenjtë se një abonim i rregullt IDEA Ultimate. IntelliJ IDEA mbështet të gjithë serverët kryesorë të aplikacioneve JVM dhe ju lejon të vendosni dhe korrigjoni në këta serverë, duke eliminuar vështirësitë e njohura me të cilat janë njohur programuesit e Java Enterprise. IDEA gjithashtu mbështet Docker (duke përdorur një shtojcë që shton një dritare të veçantë të mjeteve Docker në mjedisin e zhvillimit. Nga rruga, IDEA ka një det shtojcash).

Poliglot i vërtetë

IDEA ka zgjeruar mbështetjen e kodit për Spring, Java EE, Grails, Play, Android, GWT, Vaadin, Thymeleaf, Android, React, AngularJS dhe korniza të tjera. Ju ndoshta keni vënë re se jo të gjitha janë specifike për Java. IDEA direkt nga kutia "kupton" gjuhë të tjera - Groovy, Kotlin, Scala, JavaScript, TypeScript dhe SQL. Nëse nuk e gjeni gjuhën që dëshironi në këtë listë, aktualisht ekzistojnë 19 shtojca gjuhësore IntelliJ, posaçërisht për të mbështetur R, Elm dhe D.


Për shumë vite, Eclipse e ka mbajtur me besim pëllëmbën në popullaritet midis IDE-ve Java. Ky mjedis është plotësisht falas, me burim të hapur, i shkruar kryesisht në Java. Sidoqoftë, arkitektura e saj modulare lejon që Eclipse të përdoret edhe me gjuhë të tjera. Projekti Eclipse, i iniciuar nga IBM, u shfaq në 2001. Ata donin të zëvendësonin familjen e mjediseve të zhvillimit të IBM Visual Age bazuar në Smalltalk. Epo, qëllimi kryesor, siç thotë edhe emri, ishte të shkëlqente Microsoft Visual Studio (eklipsi në anglisht do të thotë eklips). Transportueshmëria Java ndihmon Eclipse të jetë ndër-platformë: Ky IDE funksionon në Linux, Mac OS X, Solaris dhe Windows. Për mirë ose për keq, Java Standard Widget Toolkit (SWT) është të paktën pjesërisht përgjegjës për pamjen dhe ndjesinë e Eclipse. Eclipse ia detyron performancën e tij (ose, siç thonë disa dashamirës, ​​mungesën e tij) JVM-së. Eclipse është mjaft i ngadalshëm sepse i ka rrënjët në harduerët mjaft të vjetër dhe versionet e lashta të JVM. Edhe sot duket e ngadaltë, veçanërisht me shumë shtojca të bashkangjitura. Disa nga shpenzimet e përgjithshme të Eclipse mund t'i atribuohen përpiluesit të tij të integruar në rritje, i cili funksionon sa herë që ngarkohet një skedar ose përditësohet kodi. Një gjë e dobishme, është ajo që kap gabimet kur fut tekst. Pavarësisht nga montimi, një projekt Eclipse mban një model përmbajtjeje që përmban informacione rreth hierarkisë së tipit, referencat dhe deklaratat e elementeve Java. Versioni aktual i Eclipse quhet Neon (4.6.0). Unë kam instaluar Eclipse Java EE IDE për zhvilluesit e uebit (ky është larg nga opsioni i vetëm, ju mund të zgjidhni diçka tjetër). Ai përmban një SDK minimale të Eclipse dhe shtohen shtojca sipas kërkesës. Meqë ra fjala, puna me shtojca në këtë IDE nuk është për ata që janë të zbehtë. Shtojcat e palëve të treta shpesh bien ndesh me njëra-tjetrën, megjithëse specifikimi i tyre zyrtar nuk thotë asgjë për këtë.
Figura 2. Nga e majta në të djathtë, ka katër shirita veglash në Eclipse: Package Explorer, Java Editor, Java Class Structure dhe Task List. Projekti i ngarkuar në Eclipse në këtë figurë është korniza e testit JUnit. Panelet mund të ndërrohen lehtësisht.

Mbështetja e shtojcave

Ekosistemi i shtojcave Eclipse është njëkohësisht një pikë e fortë e këtij IDE dhe një nga problemet kryesore të tij. Është për shkak të papajtueshmërisë së shtojcave që ndonjëherë të gjithë asambletë prishen dhe programuesit duhet të fillojnë nga e para. Aktualisht ka mbi 1700 shtojca të shkruara për Eclipse, zyrtare dhe jozyrtare, të cilat mund të funksionojnë ose jo shumë mirë. Shtojcat Eclipse mbështesin mbi 100 gjuhë programimi dhe afro 200 korniza të zhvillimit të aplikacioneve. Shumica e serverëve Java mbështeten gjithashtu: nëse caktoni një lidhje të re serveri nga Eclipse, do të çoheni te lista e dosjeve të shitësve, ku do të gjeni rreth 30 serverë aplikacioni. Do të ketë vetëm nëntë variante të Apache Tomcat. Shitësit komercialë priren t'i bashkojnë zgjidhjet e tyre së bashku: për shembull, ekziston vetëm një Red Hat JBoss Middleware, dhe brenda do të gjeni mjetet e serverit WildFly dhe EAP, si dhe JBoss AS.

Redaktimi, rifaktorimi dhe korrigjimi

Përvoja e parë me Eclipse mund të jetë konfuze dhe madje konfuze. Së pari, duhet të konfiguroni Eclipse dhe të mësoheni me arkitekturën e tij konceptuale për hapësirat e punës, pamjet dhe pamjet. E gjithë kjo përcaktohet nga shtojcat që keni instaluar. Për zhvillimin e Java-s nga ana e serverit, ju ndoshta do të përdorni pamjet e shfletimit Java, Java EE dhe Java, pamjen e "Package Explorer", pamjen e korrigjimit, pamjen e sinkronizimit të komandës së veglave të Uebit, pamjen e zhvillimit të bazës së të dhënave dhe pamjen e korrigjimit të bazës së të dhënave. .. Në praktikë, gjithçka ka kuptim kur hapni dritaret që dëshironi. Eclipse pothuajse gjithmonë ofron disa mënyra për të përmbushur një detyrë të caktuar. Për shembull, mund ta shikoni kodin duke përdorur këndvështrimin e shfletimit Java. Çfarë të zgjidhni është çështje shije dhe zgjedhjeje. Java Custom Search ju lejon të gjeni deklarata, referenca dhe dukuritë e paketave Java, llojet, metodat, fushat. Mund të përdorni gjithashtu qasje të shpejtë për të kërkuar dhe parë. Modelet e zakonshme të kodit mund të gjenerohen nga modelet e kodit. Refactoring Java në Eclipse mbështet 23 operacione, duke filluar nga operacionet e zakonshme të riemërtimit deri te konvertimet më pak të dukshme (si në librin e Martin Fowler). Eclipse mbështet korrigjimin lokal dhe në distancë, me kusht që të përdorni një JVM që mbështet korrigjimin në distancë. Korrigjimi është mjaft standard: ju përcaktoni pikat e ndërprerjes dhe më pas shikoni variablat në skedën e korrigjimit. Sigurisht, ju mund të kaloni nëpër kodin tuaj dhe të vlerësoni shprehjet. Eclipse ka një bazë të dhënash të gjerë dokumentacioni të të gjitha moshave, vlerave dhe dobisë. Mjerisht, gjetja e një fotografie në manual që nuk korrespondon me versionin aktual, për shembull, me një ndërfaqe të vjetëruar dhe paraqitjen e butonit, është një gjë e zakonshme për këtë IDE. Fatkeqësisht, problemi i përditësimeve të vonuara të dokumentacionit është shumë i zakonshëm për çdo projekt me kod burim.


NetBeans filloi si një projekt universitar studentor në Pragë në 1996. Në 1997, IDE u bë një produkt komercial, dhe në 1999 u ble nga Sun Microsystems (prindërit e Java) dhe prezantoi një version me burim të hapur vitin e ardhshëm. Versioni aktual 8.1 funksionon në makinat që përdorin Windows, Mac OS X, Linux dhe Solaris. Epo, paketa portative mund të ekzekutohet në çdo sistem për të cilin ekziston një makinë Java. Për veten time, shkarkova paketën Java EE, e cila është një nga gjashtë paketat e mundshme të shkarkimit. Kjo paketë mbështet JavaScript dhe HTML, GlassFish dhe Tomcat, por nuk mbështet PHP, C / C ++ / Fortran, Groovy dhe Grails: mund t'i merrni në paketën All Inclusive (ose thjesht All). Sidoqoftë, nëse dëshiroj, në çdo kohë mund të shkarkoj mbështetjen për gjuhët e mësipërme duke zgjedhur shtojcën e duhur (dhe çdo tjetër). NetBeans ka më pak prej tyre se Eclipse, por ato zakonisht nuk bien ndesh me njëri-tjetrin. Këtë vjeshtë, Oracle (ajo trashëgoi NetBeans pas marrjes së Sun Microsystems) vendosi ta zhvendosë këtë mjedis zhvillimi nën krahun e Apache Software Foundation, së bashku me të gjitha të drejtat, kodin burimor, markën tregtare, domenin netbeans.org dhe një numër infrastrukturash të tjera elementet. Prandaj, e ardhmja e projektit është ende e paqartë, megjithëse më herët sistemi kishte privilegje të caktuara farefisnore. Pra, ishte NetBeans ai që së pari mori mbështetje për Java 8 pothuajse menjëherë pas lëshimit të platformës së përditësuar dhe u emërua "IDE zyrtare për Java 8". Sidoqoftë, një muaj pas lëshimit, ky avantazh humbi: ishte atëherë që IDE të tjera morën gjithashtu mbështetje për Java e tetë. Sidoqoftë, dua të theksoj se mbështetja e Java 8 e NetBeans është vërtet e mirë dhe kjo IDE është e shkëlqyeshme për t'i ndërthurur truket e versionit 8 në kodin "trashëgimi". Redaktorët e tij, analizuesit e kodeve dhe konvertuesit do të ndihmojnë programuesin të përmirësojë kodin duke përdorur konstruktet tipike të Java 8 - shprehjet lambda, operatorët e funksioneve dhe referencat e metodave. Shtojcat JavaScript në NetBeans 8 bëjnë një punë të shkëlqyer për të mbështetur Node.js dhe mjetet më të fundit të JavaScript si Gulp dhe Mocha, si dhe mbështesin interpretuesin JavaScript Nashorn.
Figura 3. Këtu NetBeans po punon me të njëjtin projekt të bazuar në Maven siç u hap IntelliJ IDEA në Figurën 1. Vini re funksionalitetin e zgjeruar në menynë e kontekstit dhe nënmenutë e rifaktorimit

Redaktimi dhe rifaktorimi

Redaktori i NetBeans mbështet gjuhët, zbulon gabimet ndërsa shkruani dhe ju ndihmon me këshillat e veglave dhe plotësimin e kodit inteligjent. Subjektivisht, IDE e përballon këtë detyrë më shpejt se Eclipse, por disi më ngadalë se IntelliJ IDEA. Për më tepër, NetBeans ka një gamë të plotë mjetesh rifaktorimi (siç tregohet në Figurën 3) që i mundësojnë programuesit të ristrukturojë kodin pa e prishur atë, të kryejë analizën e burimit dhe ofron një gamë të gjerë këshillash për rregullime të shpejta ose zgjerime kodi. NetBeans përfshin një mjet dizajni për Swing GUI, i njohur më parë si "Project Matisse". Zhvilluesit vlerësojnë mjetin e rifaktorimit të automatizuar Inspect & Transform të prezantuar në NetBeans 7.1. Kjo ju lejon të analizoni kodin e projektit dhe të bëni përmirësime të sugjeruara. Personalisht, megjithatë, preferoj që së pari të testoj të gjithë kodin tim me testet e njësisë dhe vetëm më pas të ekzekutoj mjete që mund të bëjnë ndryshime rrënjësore. Unë kam vuajtur vazhdimisht nga të gjitha llojet e rregullimeve automatike, të cilat çuan në pasoja të pariparueshme.

Ndërtimi, korrigjimi dhe profilizimi

NetBeans ka mbështetje të madhe të integruar për Maven dhe Ant, si dhe një shtojcë për Gradle. Isha pa masë kur zbulova se projektet e Maven perceptohen si vendase nga sistemi. Kjo do të thotë se ato thjesht mund të hapen dhe të mos importohen. NetBeans përmban gjithashtu një ekran grafik tërheqës (dhe të dobishëm) për varësitë Maven. NetBeans Java Debugger nuk është i keq, por me paralajmërime. Një korrigjues i veçantë vizual i lejon programuesit të marrë pamje nga ekrani të GUI dhe të ekzaminojë ndërfaqet e aplikacioneve të bëra me JavaFX dhe Swing. NetBeans Profiler e bën më të qartë se si përdoren CPU dhe memoria dhe ka mjete të shkëlqyera për të gjetur rrjedhjet e kujtesës.

Krahasimi i tre gjigantëve

Unë i kam përdorur të tre IDE-të, Eclipse, NetBeans dhe IntelliJ IDEA, gjatë viteve, sipas rendit kronologjik. Sa herë që kaloja në një IDE tjetër, ndjeja se produktiviteti im rritej. Por edhe kur isha plotësisht i bindur se zgjedhja ime përfundimtare ishte IDEA, ndonjëherë më duhej të kthehesha te një nga dy IDE-të e mbetura. Ky ishte rasti, për shembull, në një kohë kur Eclipse ishte i vetmi mjet që mbështeste zhvillimin për Android (sot ekziston Android Studio, IDE-ja aktuale zyrtare për Android, bazohet në IntelliJ IDEA). Sigurisht, të tre IDE-të kanë fansat dhe kundërshtarët e tyre. Unë njoh shumë zhvillues Java që e duan IntelliJ IDEA, si dhe fansa besnikë të Visual Studio C ++ dhe C #. Më shpesh sesa jo, këta njerëz janë të kënaqur me faktin se produktiviteti i tyre është rritur dhe kostoja e abonimit vjetor kthehet në vetëm disa javë nga përdorimi i versionit me pagesë të IDEA. Sidoqoftë, përdoruesit e NetBeans dhe Eclipse janë gjithashtu shpesh të lidhur me mjetet e tyre dhe pyesin veten pse programuesit e tjerë do të paguanin para për IDEA. Për zhvilluesit që aspirojnë Java, do t'ju këshilloja të qëndroni larg Eclipse. Përkundër faktit se është ende IDE më e popullarizuar për Java, është e vështirë për fillestarët me të: është e lehtë të humbasësh në natyrën e Eclipse, si gjatë vendosjes së sistemit ashtu edhe gjatë punës së përditshme. Eclipse ka ekosistemin më të gjerë të shtojcave midis të gjitha IDE-ve, dhe gjithashtu ka më shumë gjasa të rrëzohet për shkak të instalimit të një grupi të papajtueshëm të këtyre shtojcave të njëjta. Fatkeqësisht, gjatë përdorimit të Eclipse, m'u desh të hiqja në mënyrë të përsëritur një asamble tjetër të prishur të kësaj IDE dhe të instaloja një pako "të pastër". NetBeans është i mirë për shumicën e zhvilluesve, ka një profilues të shkëlqyeshëm dhe e përdor herë pas here. Megjithatë, unë preferoj të paguaj për IntelliJ IDEA Ultimate. Dhe e ardhmja e NetBeans është ende e paqartë. Për fillestarët e Java-s që nuk kanë ende mjetet për të blerë mjete, unë rekomandoj përdorimin e NetBeans ose IntelliJ IDEA Community Edition në varësi të nevojave të tyre. E para duhet të zgjidhet për ata që kodojnë serverë Java, por vetëm nëse nuk bëni pjesë në kategorinë e atyre që mund të marrin IntelliJ IDEA Ultimate falas ose me një zbritje të madhe (studentët ose ata programues që zhvillojnë një projekt me burim të hapur) .

IDE të lehta Java

Shumica e zhvilluesve të Java sot përdorin IDEA, NetBeans ose Eclipse, por ndonjëherë ka nevojë për IDE më të lehta apo edhe redaktues kodesh si Sublime Text, emacs ose vim që mbështesin shtojcat Java. Më poshtë kam renditur opsionet e arsyeshme për ata që kërkojnë diçka më të lehtë:
  • DrJava është një mjedis i vogël zhvillimi pa pagesë. Është krijuar për studentët në Universitetin Rice dhe është bërë mjaft popullor: DrJava tashmë është shkarkuar mbi 2 milionë herë. DrJava është e përkushtuar ndaj zhvillimit të bazuar në teste. Mjedisi përmban një redaktues kodi inteligjent, një panel ndërveprimi për vlerësimin e kodit të aplikacionit, një korrigjues të nivelit të burimit dhe mjete testimi të njësisë.
  • BlueJ është një mjedis zhvillimi Java falas i krijuar nga Universiteti i Kentit për programuesit aspirues. Ky mjedis mbështetet nga Oracle. BlueJ ka një ndërfaqe shumë më koncize dhe të thjeshtë sesa IDE-të profesionale si NetBeans ose Eclipse, dhe madje përmban një tutorial të dedikuar mbi bazat e OOP.
  • JCreator është një tjetër Java IDE e vogël për Windows e shkruar në C ++ (për arsye të performancës). Versioni i paguar Pro ka një korrigjues, mbështetje Ant dhe magjistarë të kodit, por versioni falas (LE) jo.
  • Eclipse Che është një IDE cloud i bazuar në shfletues që mbështet Java, C ++, JavaScript, Python, PHP, Ruby dhe SQL.

Zgjedhja e Java IDE në varësi të projektit

Jam përpjekur të përshkruaj avantazhet e rëndësishme të secilit prej tre IDE-ve më domethënëse të Java-s dhe të përmendura më parë rivalët e tyre të vegjël të dobishëm. Për të zgjedhur IDE-në e duhur, duhet të peshoni të mirat dhe të këqijat dhe t'i përshtatni ato me nevojat tuaja dhe nevojat e projekteve tuaja. Nëse po i bashkoheni një ekipi, do të ishte e mençur të përdorni të njëjtën IDE si zhvilluesit e tjerë, megjithëse kjo nuk kërkohet. Nëse ekipi juaj po pret burimin në GitHub, natyrisht do të jetë më i përshtatshëm nëse IDE juaj mbështet GitHub. Po, ju mund të trajtoni transferimet e kodit pa një IDE duke përdorur klientin GitHub ose linjën e komandës git. Por sa efektive do të jenë kërcime të tilla ndërmjet sistemeve të ndryshme? Është gjithashtu e rëndësishme që IDE të mbajë një sistem ndërtimi. Për shembull, nëse është Maven, ndoshta nuk do të dëshironi të rindërtoni sistemin në Ant për testim lokal. Për fat të mirë, të tre IDE-të e mëdha Java mbështesin Ant, Maven dhe Gradle, ose jashtë kutisë ose me një plugin. Por për IDE-të "të vogla", kjo mund të mos jetë e vërtetë. Është një dëshirë e natyrshme që mjedisi i zhvillimit të mbështesë versionin e JRE që përdoret në projekt. Nëse versionet nuk përputhen, ka të ngjarë që të merrni shumë gabime të panevojshme, të cilat, për shembull, do të shfaqen për ju, ndërsa anëtarët e tjerë të ekipit jo. Nuk ka gjasa që një situatë e tillë të ketë një efekt të mirë në karmën tuaj. Sinqerisht, mospërputhjet e JRE-së kanë më shumë gjasa të ndodhin me gabimet e konfigurimit sesa me mungesën e mbështetjes IDE, përveç nëse IDE nuk është përditësuar ende në një version të ri të Java. Thjesht më besoni: nëse IDE juaj mbështet plotësisht kornizat dhe teknologjitë që përdoren në projekt, kjo ndihmon vërtet për të shpejtuar punën tuaj. Ju ndoshta mund ta bëni gjithsesi. Por nëse IDE kupton se si deklaratat JPA lidhen me entitetin dhe klasat e shprehjeve JPA (si IntelliJ), do të shpenzoni shumë më pak kohë në kodin e lidhur me JPA sesa në rastin e një keqkuptimi total. Epo, nëse IDE mbështet kornizën e testimit dhe programin e kodit të përdorur për projektin, mund të kryeni teste pa ndryshuar mjedisin e punës. E cila gjithashtu do të përshpejtojë procesin e zhvillimit. Më në fund, gjërat bëhen më të shpejta nëse IDE është në përputhje me sistemet e ndjekjes së gabimeve dhe biletave të projektit. Përsëri, mund të përdorni një klient të pavarur ose ueb, të themi, JIRA, por është e vështirë të mos pajtohesh se kontrollimi i biletave është shumë më i shpejtë pa ndryshuar dritaren dhe pa qëndruar drejtpërdrejt në IDE.

Falas apo me pagesë?

Pasi e testova nga IntelliJ IDEA Ultimate, mora ndjenjën e mjedisit të duhur të zhvillimit. Një lloj Cadillac i botës IDE. Përsëri, megjithëse nuk është falas, mendoj se përfitimet e performancës nga përdorimi i tij ia vlen abonimi vjetor. Për fillestarët që nuk mund të përballojnë abonimin 1-vjeçar të IntelliJ IDEA Ultimate, unë rekomandoj përdorimin e NetBeans mbi Eclipse. Sigurisht, ekosistemi i shtojcave Eclipse sot është shumë më i zhvilluar se çdo IDE tjetër, por është shumë i mbipopulluar dhe i parregullt: një zhvillues fillestar rrezikon të zhytet në xhunglën IDE në vend që të zhytet në punë. Kam prekur edhe alternativa "të lehta", dy prej të cilave janë krijuar posaçërisht për qëllime edukative. Epo, nëse sapo po filloni me gjuhët dhe preferoni një mjedis minimalist, pse jo?

Të shkruash në Python duke përdorur IDLE ose Python Shell është mirë kur bëhet fjalë për gjëra të thjeshta, por ndërsa projektet rriten në madhësi, programimi bëhet një dhimbje. Përdorimi i një IDE apo edhe një redaktuesi të mirë të kodit mund ta bëjë jetën tuaj shumë më të lehtë. Por pyetja është - çfarë të zgjidhni?

Në këtë artikull, ne do të shqyrtojmë mjetet bazë për të shkruar në Python. Ne nuk do të zgjedhim opsionin më të mirë për ju, por do të shqyrtojmë të mirat dhe të këqijat e secilit dhe do t'ju ndihmojmë të merrni një vendim të informuar.

Çfarë është IDE dhe Redaktori i Kodit?

Një IDE (ose Mjedisi i Integruar i Zhvillimit) është një program i krijuar për zhvillimin e softuerit. Siç sugjeron emri, IDE bashkon disa mjete posaçërisht për zhvillim. Këto mjete zakonisht përfshijnë një redaktues të dedikuar për të punuar me kodin (për shembull, theksimi i sintaksës dhe plotësimi automatik); vegla për ndërtimin, ekzekutimin dhe korrigjimin e gabimeve; dhe disa forma të sistemit të kontrollit të versionit.

Shumica e IDE-ve mbështesin shumë gjuhë programimi dhe kanë shumë veçori, të cilat mund të jenë të mëdha, kërkojnë kohë për t'u shkarkuar dhe instaluar dhe kërkojnë njohuri të thelluara për t'u përdorur në mënyrë korrekte.

Nga ana tjetër, ka redaktues kodesh, të cilët janë një redaktues teksti me aftësi për të theksuar sintaksë dhe për formatimin e kodit. Shumica e redaktuesve të mirë të kodit mund të ekzekutojnë kodin dhe të përdorin një korrigjues, dhe më të mirët madje mund të ndërveprojnë me sistemet e kontrollit të burimit. Krahasuar me një IDE, një redaktues i mirë kodi është zakonisht më i lehtë dhe më i shpejtë, por shpesh me koston e më pak funksionalitetit.

Kërkesat për një mjedis të mirë zhvillimi

Pra, çfarë na nevojitet nga një mjedis zhvillimi? Grupet e funksioneve të mjediseve të ndryshme mund të ndryshojnë, por ka një sërë gjërash themelore që thjeshtojnë programimin:

  • Ruajtja e skedarëve. Nëse IDE ose redaktori nuk ju jep mundësinë të ruani punën tuaj dhe më vonë të hapni gjithçka në të njëjtën gjendje në të cilën ishte në kohën e mbylljes, atëherë kjo nuk është një IDE e tillë;
  • Ekzekutimi i kodit nga mjedisi. Po kështu, nëse ju duhet të dilni nga mjedisi për të ekzekutuar kodin tuaj, atëherë ky nuk është asgjë më shumë se një redaktues i thjeshtë teksti;
  • Mbështetje për korrigjimin e gabimeve. Aftësia për të kaluar përmes kodit është një tipar bazë i të gjitha IDE-ve dhe redaktuesve më të mirë të kodit;
  • Theksimi i sintaksës. Aftësia për të gjetur shpejt fjalë kyçe, variabla, e kështu me radhë e bën më të lehtë leximin dhe kuptimin e kodit në një renditje të madhësisë;
  • Formatimi automatik i kodit. Çdo redaktues ose IDE që është në të vërtetë do të njohë dy pika pas një kohe ose për shprehje dhe automatikisht do të futë rreshtin tjetër.

Sigurisht, ka shumë veçori të tjera që do të donit t'i merrnit parasysh, por sa më sipër janë tiparet kryesore që duhet të ketë një IDE e mirë.

Tani le të hedhim një vështrim në disa mjete për qëllime të përgjithshme që mund të përdorni për zhvillimin e Python.

Redaktorët e Python dhe IDE-të

Eclipse + PyDev

Nëse jeni afër komunitetit me burim të hapur, atëherë me siguri keni dëgjuar për Eclipse. I disponueshëm për Linux, Windows dhe OS X, Eclipse është de facto IDE me burim të hapur për zhvillimin e Java. Ka shumë shtesa dhe shtesa që e bëjnë Eclipse të dobishëm për të gjitha llojet e detyrave.

Një shtesë e tillë është PyDev, e cila ofron një tastierë interaktive Python dhe veçori për korrigjimin dhe plotësimin e kodit. Instalimi i tij është i thjeshtë: filloni Eclipse, zgjidhni Help → Eclipse Marketplace, më pas kërkoni për PyDev. Klikoni Install dhe rinisni Eclipse nëse është e nevojshme.

Përparësitë: Nëse tashmë keni të instaluar Eclipse, instalimi i PyDev do të jetë i shpejtë dhe pa probleme. Një përdorues me përvojë i Eclipse nuk duhet ta ketë problem të mësojë këtë shtesë.

Të metat: Nëse sapo po filloni me Python ose zhvillimin në përgjithësi, Eclipse mund të jetë dërrmues. E mbani mend kur thamë se IDE-të janë të mëdha dhe kërkojnë më shumë përvojë për t'i përdorur ato plotësisht? E gjithë kjo mund të thuhet për Eclipse.

Tekst sublim

Një lloj: redaktori i kodit
Faqja e internetit: http://www.sublimetext.com

Sublime Text, i shkruar nga një inxhinier i Google me ëndrrën për një redaktues më të mirë teksti, është një redaktues kodi shumë popullor. I disponueshëm në të gjitha platformat, Sublime Text ka mbështetje të integruar për redaktimin e kodit Python, si dhe një grup të pasur shtesash të quajtura paketa që zgjerojnë aftësitë e sintaksës dhe redaktimit.

Instalimi i një pakete shtesë Python mund të jetë i ndërlikuar – të gjitha paketat Sublime Text janë të shkruara në Python, kështu që instalimi i paketave të komunitetit shpesh mund të përfshijë ekzekutimin e një skripti Python drejtpërdrejt në redaktues.

Përparësitë: Teksti Sublime ka një numër të madh ndjekësish. Si një redaktues kodi, Sublime Text është i shpejtë, i lehtë dhe i mbështetur mirë.

Të metat: Sublime Text nuk është falas, megjithëse mund ta përdorni periudhën e provës për aq kohë sa dëshironi. Instalimi i shtesave mund të kthehet në një kërkim tjetër. Gjithashtu, nuk ka mbështetje për korrigjimin dhe ekzekutimin e kodit në redaktues.

Atomi

Një lloj: redaktori i kodit
Uebfaqja: https://atom.io/

I disponueshëm në të gjitha platformat, Atom është quajtur "redaktori i tekstit i hakeruar i shekullit të 21-të". Atom është shkruar duke përdorur Electron, një kornizë për ndërtimin e aplikacioneve desktop ndër-platformë duke përdorur JavaScript, HTML dhe CSS, dhe ka shumë zgjerime. Mbështetja e Python gjithashtu mund të lidhet duke përdorur një shtesë që mund të instalohet direkt në Atom.

Përparësitë: Mbështetje në të gjitha platformat falë Electron. Atom është i lehtë dhe i shpejtë për t'u shkarkuar dhe ngarkuar.

Të metat: Mbështetja e ndërtimit dhe korrigjimit nuk është e integruar, por shtohet nëpërmjet shtesave. Meqenëse Atom është shkruar me Electron, ai gjithmonë funksionon si një proces JavaScript dhe jo si një aplikacion vendas.

GNU Emacs

Një lloj: redaktori i kodit
Faqja e internetit: https://www.gnu.org/software/emacs/

Shumë kohë përpara luftës iPhone-Android, para luftës Linux-Windows, madje edhe para luftës PC-Mac, pati një luftë redaktuese me GNU Emacs si një nga pjesëmarrësit në armiqësi. I përshkruar si "një redaktues teksti i zgjerueshëm, i personalizueshëm, vetë-dokumentues", GNU Emacs ka ekzistuar pothuajse për aq kohë sa UNIX dhe ka fituar shumë fansa.

I disponueshëm falas në çdo platformë (në një formë ose në një tjetër), GNU Emacs përdor gjuhën Lisp për personalizim. Sigurisht, ka edhe skriptet e personalizimit për Python.

Përparësitë: jeni njohur me Emacs, ju përdorni Emacs, ju pëlqen Emacs. Lisp është gjuha juaj e dytë dhe ju e dini se mund të bëni gjithçka me të.

Të metat: personalizimi nënkupton shkrimin (ose kopjimin dhe ngjitjen) e kodit Lisp në skriptet e ndryshme. Nëse nuk ka asnjë, atëherë mund t'ju duhet të mësoni Lisp për ta kuptuar atë.

Vi / Vim

Një lloj: redaktori i kodit
Uebfaqja: https://www.vim.org/

Në anën tjetër të barrikadave në luftën e redaktorit është VI / VIM. I disponueshëm si parazgjedhje në pothuajse çdo sistem UNIX dhe Mac OS X, VI ka fituar një numër të barabartë fansash. VI dhe VIM janë redaktues modalë që ndajnë shikimin e një skedari nga redaktimi i tij. VIM përfshin gjithçka që është në VI, plus disa përmirësime të tilla si disponueshmëria e shtesave. Për të gjitha llojet e detyrave të Python, mund të përdorni VIMScripts.

Përparësitë: jeni njohur me VI-në, po përdorni VI-në, ju e doni VI-në. VIMScripts nuk ju trembin, dhe ju e dini se si t'i përkulni ato sipas dëshirës tuaj.

Të metat: Ashtu si me Emacs, nuk jeni shumë të kënaqur duke kërkuar ose duke skriptuar për të shtuar zhvillimin e Python dhe nuk e keni idenë se si duhet të funksionojë fare një redaktues modal.

Studio pamore

Përparësitë: Ashtu si me Eclipse, nëse tashmë keni të instaluar Visual Studio për detyra të tjera, instalimi i PTVS do të funksionojë mirë.

Të metat: Ashtu si me Eclipse, Visual Studio është pak dërrmuese nëse ju nevojitet vetëm Python. Plus, nëse jeni në Linux, nuk mund të diskutohet - Visual Studio nuk është i disponueshëm për këtë platformë.

Kodi Visual Studio

Një lloj: redaktori i kodit
Uebfaqja: https://code.visualstudio.com/
Mjetet e Python: https://marketplace.visualstudio.com/items?itemName=ms-python.python

Kodi i Visual Studio (që nuk duhet ngatërruar me Visual Studio) është një redaktues kodi me funksione të plota i disponueshëm në Windows, Linux dhe Mac OS X. VS Code është një redaktues me burim të hapur të zgjeruar që mund të personalizohet për çdo detyrë. Ashtu si Atom, VS Code është ndërtuar në Electron, kështu që ka të njëjtat avantazhe dhe disavantazhe.

Shtimi i mbështetjes së Python në VS Code është i lehtë - kërkoni në treg për "Python", klikoni Instalo dhe rinisni redaktorin nëse është e nevojshme. Kodi VS do të zbulojë automatikisht interpretuesin Python dhe bibliotekat e instaluara.

Përparësitë Falë Electron, VS Code është i disponueshëm në të gjitha platformat me funksionalitet çuditërisht të shkëlqyer. Përveç kësaj, kodi burim mund të gjendet në domenin publik.

Të metat: meqenëse Electron është i përfshirë, atëherë VS Code nuk është një aplikacion vendas. Përveç kësaj, disa njerëz mund të mos lejohen të përdorin produktet e Microsoft për shkak të fesë së tyre.

Redaktorët dhe IDE-të e krijuara për Python

PyCharm

Një nga IDE-të më të mira të Python me funksione të plota është PyCharm. Ekzistojnë si IDE me burim të hapur (Komuniteti) dhe me pagesë (Profesionale). PyCharm është i disponueshëm në Windows, Mac OS X dhe Linux.

PyCharm mbështet zhvillimin e Python jashtë kutisë - hapni një skedar të ri dhe filloni të kodoni. Ju mund të ekzekutoni dhe korrigjoni kodin direkt nga PyCharm. Përveç kësaj, IDE ka mbështetjen e projektit dhe kontrollin e burimit.

Përparësitë: Ky është një IDE Python me mbështetje për gjithçka dhe këdo dhe një komunitet të mirë. Në të "jashtë kutisë" mund të modifikoni, ekzekutoni dhe korrigjoni kodin Python.

Të metat: PyCharm mund të ngarkohet ngadalë dhe cilësimet e paracaktuara mund të kenë nevojë të rregullohen për projektet ekzistuese.

Spyder

Spyder është një Python IDE me burim të hapur i optimizuar për shkencën e të dhënave. Spyder vjen me menaxherin e paketave Anaconda, kështu që është e mundur që ta keni të instaluar tashmë.

Ajo që është interesante për Spyder është se audienca e saj e synuar janë shkencëtarët e të dhënave që përdorin Python. Për shembull, Spyder punon mirë me bibliotekat e shkencës së të dhënave si SciPy, NumPy dhe Matplotlib.

Spyder ka të gjithë funksionalitetin që do të prisni nga një IDE standarde, si p.sh. një redaktues kodesh me theksim sintaksor, plotësimin e kodit dhe madje edhe një shfletues dokumentacioni të integruar.

Një tipar dallues i Spyder është eksploruesi i tij i ndryshueshëm. Kjo ju lejon të shikoni vlerat e variablave në formën e një tabele pikërisht brenda IDE. Integrimi me IPython / Jupyter gjithashtu funksionon mirë.

Spyder mund të thuhet se është më me këmbë në tokë se IDE-të e tjera. Ai mund të mendohet si një mjet për një qëllim specifik dhe jo një mjedis primar zhvillimi. Ajo që është e mrekullueshme është se është falas, me burim të hapur dhe i disponueshëm në Windows, macOS dhe Linux.

Përparësitë: ju jeni një shkencëtar i të dhënave duke përdorur Anaconda.

Të metat: Zhvilluesit më me përvojë të Python mund ta shohin Spyder jo mjaftueshëm funksional për punën e tyre të përditshme dhe do të zgjedhin një IDE ose redaktues më funksional.

Thoni

Thonny quhet një IDE për fillestarët. Shkruar dhe mirëmbajtur nga Instituti i Informatikës i Universitetit të Tartu në Estoni, Thonny është i disponueshëm në të gjitha platformat kryesore.

Si parazgjedhje, Tonny është instaluar me versionin e bashkuar të Python, kështu që nuk keni nevojë të instaloni asgjë tjetër. Përdoruesit e avancuar mund të kenë nevojë të ndryshojnë këtë cilësim në mënyrë që IDE të gjejë dhe të përdorë bibliotekat që janë instaluar tashmë.

Përparësitë: ju jeni një programues fillestar Python dhe keni nevojë për një IDE me të cilën mund të shkoni direkt në betejë.

Të metat: përdoruesit e avancuar nuk do të kenë funksionalitet të mjaftueshëm dhe do të zëvendësojnë përkthyesin e integruar. Përveç kësaj, duke pasur parasysh risinë e IDE-së, mund të shfaqen probleme që aktualisht nuk kanë zgjidhje.

Pra, cilin të zgjidhni?

  • Pitonistët fillestarë duhet të marrin diçka me opsionet më të pakta të personalizimit. Sa më pak pengesa aq më mirë;
  • Nëse tashmë përdorni disa redaktues për detyra të tjera, atëherë shikoni redaktuesit e kodit;
  • Epo, nëse tashmë keni një IDE për një gjuhë tjetër, atëherë provoni të shtoni mbështetje për Python në të.

Jeni të interesuar edhe për ueb? Pastaj hidhini një sy të ngjashme tonë për zhvillimin e uebit.

Artikujt kryesorë të lidhur