Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Sfat
  • Alegerea unui mediu de dezvoltare (IDE).

Alegerea unui mediu de dezvoltare (IDE).

„M-am gândit, când va veni momentul când va trebui să spun în stilul „da, sunt la vârsta ta! .., etc.” „Și acum... Acest moment, cel mai probabil, a venit. poate fi văzut din postarea ta recentă - 16 ani și te poziționezi ca o persoană tânără pasionată de programare. Fie vei folosi Go pentru un proiect web la scară largă, atunci nu poți găsi o culoare schema pentru editorul Sublime Text 3 pentru a începe programarea, iar unul un subiect pentru munca de zi, iar al doilea - pentru noapte. Și toate acestea pentru ca, așa cum ați spus în aceeași postare, în viitorul apropiat din nou - să începeți să scrieți în limba golang.Acum IDE-ul în sine este în discuție.

La vârsta ta, sau mai bine zis, de la 12 ani și undeva până la 16 ani, am stat acasă la computerul zgomotos ES-1840, echipat cu un monitor alb-negru „Electronics”. Acolo, credeți-mă, nu erau subiecte – nici noaptea, nici ziua. Nici măcar nu vorbesc despre faptul că conceptul de „grafică” s-a redus la algoritmi de afișare a formelor geometrice simple, și practic, ca să spunem așa, „pixel cu pixel”. Nu existau nici IDE-uri de lux, iar Norton / Volkov Commander a fost considerat vârful ergonomiei UI. Windows și GUI? Nu, nu am auzit .. A existat MS-DOS în toată gloria sa.

Dar, pe de altă parte, tânărul meu prieten, au existat Borland TurboPascal, Borland C ++, Microsoft GW-BASIC și altele - cele mai simple în sensul unui shell grafic (dacă conceptul unui astfel de lucru ar putea fi găsit acolo), dar mediile de dezvoltare necesare pentru MS-DOS, datorită cărora mulți au devenit profesioniști fără subiecte de noapte. Da, am uitat să menționez: atunci nu exista Internet și răspunsul la o întrebare de genul „Cum să faci asta...” nu putea fi găsit folosind Google. Și nu erau cărți. Poate că cartea lui V. E. Figurnov „IBM PC for the User” este aproape singura Biblie din generația noastră și scanări puține ale documentației care au venit cu versiunile oficiale ale programelor de mai sus și au fost considerate mai valoroase decât aurul.

După cum v-am scris deja, cunosc oameni (și mulți știu) care au de gând să învețe Java de ani de zile, dar nu pot decide care este mai bun - Eclipse sau NetBeans. Drept urmare, au rămas acolo unde erau, fără să învețe absolut nimic. Și totul pentru că au abordat procesul din partea greșită, crezând în mod clar că rădăcina neînțelegerii lor cu privire la elementele de bază ale programării este asociată cu utilizarea unui IDE incomod.

Vă doresc să progresați și, prin urmare, vă întreb: nu repeta experiența învinșilor și nu călca pe această grebla uzată a altora. Învățați și începeți să codificați și lăsați subiectele pentru mai târziu.

Aș dori să ridic încă o dată acest subiect destul de controversat.

De când am început să programez, această întrebare mă bântuie, iar numeroase subiecte de pe forumuri și habré nu s-au clarificat. În plus, mi se pare că unele argumente pentru ambele părți nu au fost prezentate. Iar cele care sunt date au priorități greșite și context ratat.

În acest articol voi încerca să corectez această omisiune și să pun mai puțin „e”-ul.

Îi invit pe toți să participe la căutarea instrumentului perfect.

Despre experiența mea

Am început să programez la DOS. pe Turbo Pascal. Și, dintr-un motiv oarecare, am folosit apoi IDE-ul doar pentru depanare, iar asta este destul de rar. Pentru a scrie codul, au preferat să folosească un anumit edit.exe fără nume, fără nicio evidențiere a sintaxelor, împreună cu Volkov Commander. Și asta a fost suficient. În același mod, mai târziu m-am ocupat de asamblare și, parțial, de C++.

Continuând să studiez C ++, am trecut la Windows și, în consecință, la Visual Studio - unde fără el. Am găsit versiuni, dacă nu mă înșel, de la 5 la 7. După un editor simplu, a fost ceva - generarea de cod și completarea automată erau încântătoare. Adevărat, era aproape imposibil să-ți dai seama că toate acestea au generat bunătate, dar părea lipsită de importanță.

După un timp, am trecut la Linux și am început dezvoltarea web în php. Aici am studiat vim în paralel și am folosit ZendStudio pentru dezvoltare. La un moment dat, am început să folosesc doar Vim pentru orice - l-am transformat, conform numeroaselor manuale, într-o mică idee. În el, am scris primul meu CMS pentru biciclete în php.

Rețineți că înainte de acea programare nu era activitatea mea principală. Da, am scris diverse mici utilitare pentru munca, am facut teme pentru WordPress, dar principala mea activitate a fost administrarea.

De îndată ce am început să mă dezvolt profesional, posibilitățile vim nu au mai fost suficiente pentru mine. A fost mai întâi eclipse, apoi netbeans, acum phpstorm.

În ultima jumătate de an am încercat eroic să stăpânesc emacs-ul, inclusiv. ca mediu de lucru principal.

Deci am ceva cu ce să compar și, sper, părerea mea va fi destul de bine întemeiată și bine întemeiată.

IDE? IDE...

M-am gândit multă vreme sub ce formă să aduc comparația avantajelor și dezavantajelor părților. Lista nu este prea potrivită pentru asta, de vreme ce o listă simplă nu reflectă în totalitate esența problemei. Editorul și IDE-ul nu sunt opuse, ci instrumente al căror domeniu de aplicare se suprapune într-o anumită zonă. Avantajele editorului nu sunt întotdeauna dezavantajele mediului și invers. Din acest motiv, raționamentul mai mult sau mai puțin structurat asupra subiectului continuă.

Voi începe, poate, cu unul dintre avantajele incontestabile ale editorului - posibilitățile sale bogate de a lucra cu text și capacitatea de a face totul fără a-ți lua mâinile de pe tastatură. Majoritatea mediilor nu fac asta. Dar chiar ai nevoie de astfel de capabilități atunci când scrii cod? Când scrieți un articol sau o scrisoare, cred că este convenabil să schimbați 2 cuvinte cu o singură apăsare a tastei sau să mutați un paragraf în partea de sus a paginii. Dar în textul programului este, în cele mai multe cazuri, lipsit de sens și necesită refactorizare. Și trebuie să plătiți pentru asta fie cu comenzile rapide de la tastatură emacs care despărtesc degetele, fie cu comenzile la fel de zdrobitoare din vim. Dar toate acestea trebuie amintite! Ceea ce se rezolvă pur și simplu cu o singură mișcare a mouse-ului, cum ar fi mutarea ferestrelor sau redimensionarea lor, se transformă într-o întreagă căutare. Da, chiar și evidențierea textului este mai ușoară cu mouse-ul - mai precis, mai rapid și nu trebuie să numeri câte cuvinte sunt până la locul potrivit în text. Nu, și programatorul Mai Aceste funcții pot fi utile, dar adevărul este că timpul petrecut pentru editarea efectivă a codului este neglijabil, așa că practic nu va exista niciun beneficiu în timp. Dar o complicație semnificativă a instrumentului este evidentă.

Un programator își petrece 80% din timp înțelegând și navigând în codul scris. Mai mult, mișcarea se face prin cod, și nu prin text! Și aici editorul nu-l poate ajuta cu absolut nimic. Lista parametrilor metodei din tooltip nu va fi afișată, nu vă va permite să mergeți la definiția metodei, sintaxa nu va controla. Și IDE-urile, chiar și cele mai simple, gestionează acest lucru într-un mod simplu și elegant. Am petrecut recent 10 minute căutând o definiție a unei metode într-un proiect folosind Silversearcher de la emacs. S-a dovedit că clasa a fost definită într-un alt modul etc. 10 minute în loc de un clic de mouse! Desigur, nu am suficientă experiență în emacs, așa că lăsați-l să dureze 5 minute, chiar și un minut. Dar raportul este încă impresionant.

Și aici IDE-ul arată, poate, singurul său plus, dar foarte îndrăzneț - acesta este prezența unui analizator al limbajului de programare. Mediul „înțelege” că editează cod. Editorul nu este. Și aceasta este completarea automată, navigarea și evidențierea erorilor sintactice și, uneori, semantice. Pare exagerat, un fleac plăcut, îngăduință de sine. Dar se transformă într-o necesitate după ce dimensiunea proiectului depășește o anumită limită. Și ținând cont de cadrele moderne voluminoase, această limită vine aproape imediat.

Da, pe un proiect de zeci de fișiere și câteva mii de rânduri, acest plus nu se manifestă în toată gloria. Editorul poate efectua, de asemenea, aceeași completare automată, dar nu va elimina niciodată opțiunile fără sens. Și dacă dimensiunea proiectului se apropie de 100 de mii de linii și constă din mii de fișiere, fără a număra bibliotecile, atunci devine problematic să alegeți numele dorit dintr-un amestec de nume de variabile, metode ale altor clase și doar cuvinte din comentarii (am avut asta in vim, nu stiu, poate au remediat). Instrucțiunile inteligente elimină nevoia de a reține numele funcțiilor dorite și parametrii acestora. Adesea, acest lucru pur și simplu nu este posibil din punct de vedere fizic.

Apropo de proiecte. Toate IDE-urile au acest concept. Setările, resursele sunt legate de el, puteți căuta etc. În editori, acesta este în cel mai bun caz un director deschis pe sistemul de fișiere. Uneori un pic mai mult.

Integrarea cu depanatorul în editori lasă, de asemenea, mult de dorit. Testarea unitară, înregistrarea în jurnal, într-o oarecare măsură, salvează situația, dar uneori nu poți merge nicăieri fără un depanator.

Cineva ar putea argumenta că în editorii moderni, multe dintre aceste funcții au fost deja implementate și nu sunt în niciun fel inferioare celor mai sofisticate IDE-uri. Nu sunt de acord. În primul rând, nu există implementări cu drepturi depline. Nu funcționează așa cum ar trebui. În al doilea rând, instalarea tuturor acestor lucruri este deja o sarcină destul de dificilă. Chiar și configurarea funcțiilor interne ale editorului este deja netrivială. Încercați, de exemplu, să activați numerotarea liniilor în același emacs! În plus, adesea funcționalitatea necesară este implementată de o duzină de plugin-uri, nu este clar cum interacționează între ele. Și de multe ori au și o duzină de versiuni și ramuri, nu întotdeauna compatibile, ciudat de personalizabile etc. Puteți, desigur, să petreceți o lună, să configurați și să instalați totul (care este și mulțimea pasionaților), dar acest lucru nu va face decât să apropie editorul de nivelul IDE. De exemplu, să revenim la aceleași proiecte - am încercat Project sub vim și projectile sub emacs și alte plugin-uri. Dacă Project încă îndeplinește mai mult sau mai puțin cerințele mele (deși în cea mai recentă versiune nu am reușit deloc să creez un proiect din cauza erorilor), atunci proiectile a lăsat o impresie extrem de negativă.

Și totuși, editorii au mai multe domenii de aplicare în care, cel puțin, concurează cu mediile de dezvoltare.

În primul rând, au performanțe mai bune la proiectele mici. Nu are sens să descărcați un harvester IDE pentru a lucra cu un proiect de 10-20 de fișiere. Este mai ușor să corectezi 3-4 rânduri în editor.

În al doilea rând, în unele zone specifice, toate avantajele IDE-ului sunt nivelate. De exemplu, dezvoltare la nivel scăzut pentru Linux. Nu am făcut-o, dar judecând după structura codului și preferințele dezvoltatorilor (aproximativ 70% - emacs și clone, 25% - vim, 5% - un fel de exotic ca jed), nu există nimic IDE sa fac acolo. Tot codul necesar pentru a lucra este colectat, de regulă, într-unul sau două fișiere și nu este nevoie să săriți prin întregul proiect. Iar completarea automată nu va ajuta prea mult atunci când alegeți dintre o duzină sau două funcții cu aproape aceleași nume.

În al treilea rând, editorii pot lucra cu mai mult decât doar cod. Toată puterea lor poate fi folosită atunci când lucrați cu fișiere csv sau xml. Sau altceva, care uneori este necesar, cum ar fi un articol sau o scrisoare. Și nu este nevoie să reînvățați, să căutați un program convenabil sau să memorați tastele rapide - totul este la îndemână, totul este la fel.

În al patrulea rând, capacitatea de a lucra cu limbi pentru care nu există un IDE sănătos. Să zicem, cu același rubin, mediul nu m-a ajutat prea mult. SublimeText a fost suficient. Deși nu am lucrat cu un proiect mare de ruby, poate că IDE-ul s-ar fi arătat acolo.

Și în al cincilea rând, notoria posibilitate de extindere. Cu pluginuri bune, editorul devine foarte ușor de utilizat! Plus plăcerea specifică de a acorda continuu instrumentul principal și sentimentul de control complet asupra acestuia valorează foarte mult.

Total

Nu prea îmi plac IDE-urile, deși ar putea părea așa din textul anterior. Le consider destul de monstruoase, cu o grămadă de funcții inutile, lente și solicitante cu resurse. Iar cele mai bune sunt destul de scumpe. De asemenea, consider că folosirea unui IDE este relaxantă și independentă. Pentru editori, în consecință, este adevărat opusul. Plus disponibilitatea și posibilitatea de a regla pentru tine. Cel puțin vim și emacs. Până la urmă, pur și simplu îmi plac. De exemplu, scriu acest articol în Emacs.

Dar industria (și șefii) își dictează propriile cerințe. Dacă nu utilizați un IDE, performanța va scădea semnificativ. Dar nimeni nu vă va acorda jumătate de oră pentru a găsi virgula lipsă în 10 mii de rânduri de cod. Toate acestea ar trebui făcute automat și corectate automat. De asemenea, uneori îmi place să sape în cod fără niciun instrument - dar la serviciu este o pierdere de timp.

După toate încercările și erorile mele, am ajuns la această concluzie - editor poate sa folosit pentru dezvoltare, dar cu un IDE, după o anumită limită nu se compară și folosirea unui editor pentru ceva pentru care ești plătit este un lux inacceptabil. Da, dacă utilizați practicile de dezvoltare corecte, proiectați / documentați codul corect, urmați standardele - puteți elimina defectele inerente ale editorilor. Dar nu trăim într-o lume ideală, așa că folosirea unui IDE este o necesitate, indiferent de dorința noastră.

Compilatorul convertește codul sursă (fișiere * .c, * .cpp) într-un program de lucru. Dacă nu aveți un compilator, trebuie să îl instalați înainte de a începe programarea. Există multe compilatoare disponibile pentru descărcare de pe Internet. Dacă sunteți un utilizator de Mac OS X, Linux sau alte sisteme * nix (cum ar fi Unix sau FreeBSD), probabil că aveți deja instalate compilatoare precum GCC sau G ++.

Noțiuni de bază

Compilator- un program care traduce codul sursă (de nivel înalt) al programului în codul final (de nivel scăzut).
Compilare- procesul de conversie a unui text sursă de program de nivel înalt într-un text de program echivalent, dar deja într-un limbaj de nivel scăzut.
Linker(Linker) - un program care generează un modul executabil prin legarea fișierelor obiect de proiect.
IDE(Mediu de dezvoltare integrat) - O combinație între un editor de text și un compilator. Dezvoltarea, compilarea și lansarea programelor dumneavoastră sunt efectuate direct în IDE. Mediile de dezvoltare integrate (IDE) simplifică procesul de compunere a programelor deoarece scrieți cod, compilați și rulați programe într-un singur program - IDE. O altă caracteristică importantă a IDE-ului este că IDE-ul vă ajută să găsiți și să remediați rapid erorile de compilare.

Înțelegerea proceselor de compilare

Procesele de compilare și legare - O scurtă descriere a ceea ce se întâmplă exact când compilați un program.
Erori de compilare, în unele linii compilatorul găsește erori care trebuie eliminate.
Avertismente ale compilatorului - ce sunt avertismentele compilatorului și cum și de ce sunt rezolvate.
Care este diferența dintre declarații și definiții în C/C++. Aflați diferența dintre o declarație și o definiție în C/C++ și de ce este atât de importantă.

Selectarea compilatorului (IDE)

Pentru sistemul de operare Windows:
Cod :: Blocks with Mingw - IDE-ul nostru gratuit recomandat! Code :: Blocks este disponibil și pe Linux. Puteți vedea cum să instalați acest IDE în articolul nostru Cod de instalare :: Blocks și MINGW.
Microsoft Visual C ++ - Citiți despre Visual C ++. Ghid de instalare Microsoft Visual Studio 2012

Vă prezentăm atenției o adaptare a unui articol de Martin Heller, programator și editor al resursei JavaWorld. Probabil ați auzit deja de primele trei IDE-uri pentru dezvoltarea Java. Aproximativ 90% dintre programatorii industriali folosesc fie Eclipse, NetBeans, fie IntelliJ IDEA, iar fiecare IDE are propriile sale avantaje și dezavantaje. În acest articol vom încerca să le descriem astfel încât să înțelegeți care este potrivit pentru dvs. Deși, bineînțeles, cel mai bine este să le încerci pe toate trei la serviciu și să afli care ți se potrivește cel mai bine. Acest lucru nu poate fi înlocuit cu nicio recenzie. Am mai lucrat cu aceste IDE-uri, dar pentru această cercetare am instalat IntelliJ IDEA Ultimate 2016.2, Eclipse Neon Java EE și NetBeans 8.1 Java EE pe un laptop MacBook Pro. Am testat IDE-ul pe mai multe proiecte Java open source.

La ce să vă așteptați de la un IDE

Un IDE modern „dezvoltator Java sănătos” ar trebui să accepte Java 8, Scala, Groovy și alte limbaje Java pentru mașini virtuale pe care le utilizează în mod regulat. Suportul pentru serverele de aplicații majore și cele mai populare cadre web, inclusiv Spring MVC, JSF, Struts, GWT, Play, Wicket, Grails și Vaadin, nu ar fi de prisos. IDE-ul trebuie să fie compatibil cu orice versiune de sisteme de control al versiunilor, cum ar fi Ant, Maven sau Gradle, împreună cu Git, SVN, CVS, Mercurial sau Bazaar. În plus, este important ca mediul de dezvoltare să poată lucra cu bazele de date și cu stratul client al stivei dvs., să aibă suport pentru JavaScript încorporat, TypeScript, HTML, SQL, JavaServer Pages, Hibernate, precum și API-ul Java Persistence. În cele din urmă, este logic să sperăm că IDE-ul vă va permite să editați, să construiți, să depanați și să testați sisteme fără stres inutil. Este ideal dacă mediul de dezvoltare acceptă nu numai completarea codului inteligent, ci și refactorizarea inteligentă și metrica codului. În multe cazuri, suportul pentru cadrele de testare și stub-uri va fi util. Dacă echipa ta folosește un sistem de bilete și CI/CD, ai nevoie de IDE pentru a te putea conecta la ele. De asemenea, decideți dacă aveți nevoie de implementare și depanare în containere și cloud. Am enumerat doar așteptările principale (poate aveți ceva de adăugat), iar acum să aruncăm o privire mai atentă la rivalii noștri.

IntelliJ IDEA


IntelliJ IDEA vine în două variante în ceea ce privește caracteristicile și prețul: ediția gratuită Community și ediția Ultimate plătită cu funcționalitate extinsă. Ediția comunitară este pentru dezvoltarea JVM și Android. Versiunea gratuită acceptă Java, Kotlin, Groovy și Scala; Android; Maven, Gradle și SBT; funcționează cu sistemele de control al versiunilor Git, SVN, Mercurial și CVS. Ediția Ultimate este adaptată pentru dezvoltarea web și a întreprinderilor. Această versiune a IDE nu funcționează numai cu Git, SVN, Mercurial și CVS, ci și cu Perforce, ClearCase și TFS; în el puteți scrie în JavaScript și TypeScript; desigur, există suport pentru Java EE, Spring, GWT, Vaadin, Play, Grails și o serie de alte cadre. Și, desigur, nu fără instrumente SQL și baze de date. Ideea, care este ghidată de dezvoltatorii acestui IDE, atunci când se formează o politică de prețuri, este că versiunea sa comercială (Ultimate) își va lua locul pe computerele profesioniștilor, datorită căreia productivitatea acestora va crește. Dacă un programator Java câștigă 50 de mii de dolari (sau chiar mai mult) anual, rentabilitatea investiției cheltuită pentru IDE-ul plătit IntelliJ IDEA (500 de dolari pe abonament anual) se va întâmpla foarte repede, din cauza chiar și a unei ușoare accelerări a muncii sale. În anii următori, prețul pentru business scade, pentru startup-uri, freelanceri este semnificativ mai mic, iar pentru studenți, profesori, campioni Java și dezvoltatori open source, este complet gratuit. IntelliJ IDEA impresionează prin înțelegerea profundă a codului, ergonomia inteligentă, funcțiile de dezvoltare încorporate și suportul pentru multe limbi.
Figura 1. IntelliJ IDEA arată numărul de avertismente și ipoteze bazate pe analiza statistică a codului Java. Puteți explora ipotezele mai detaliat făcând clic pe ele, așa cum se arată în imagine; în multe cazuri, veți primi o listă cu opțiuni și opțiuni pentru corecții.

Înțelegerea profundă a codului

Evidențierea sintaxelor și completarea simplă a codului sunt comune în orice editor Java modern. IDEA a făcut un pas mai departe, oferind „completare inteligentă”. Acest termen înseamnă că mediul de dezvoltare arată o listă cu cele mai relevante simboluri care sunt aplicabile într-un context dat. Lista de simboluri depinde nu numai de contextul ca atare, „general acceptat”, ci de stilul de programare al dezvoltatorului, de cât de des folosește anumiți operatori. „Sfârșitul unui lanț” arată de fapt o listă de caractere aplicabile care sunt permise prin metode sau gettere în contextul curent. În plus, în cazul membrilor statici sau constantelor, IDEA adaugă automat orice instrucțiuni de import necesare. În toate cazurile de completare automată, IDEA încearcă să ghicească tipul unui simbol în timpul execuției, să-și rafineze alegerea și chiar să aplice o distribuție, dacă este necesar. Codul Java include adesea fragmente din alte limbi sub formă de șiruri. IDEA poate injecta cod SQL, XPath, HTML, CSS sau JavaScript în literale șiruri Java. În acest sens, IDE-ul poate refactoriza codul în mai multe limbi. De exemplu, dacă redenumiți o clasă în maparea JPA, IDEA va actualiza entitatea JPA și clasa de expresie corespunzătoare. Când refactorizează o bucată de cod, dezvoltatorul are o singură dorință (destul de naturală): ca toate duplicatele acestui cod să fie, de asemenea, refactorizate. IDEA Ultimate găsește duplicate și fragmente similare și le refactorizează, de asemenea. IntelliJ IDEA analizează codul la încărcare și direct la intrare. Indică probleme suspectate (ca în imaginea noastră de mai sus) și oferă opțional o listă de soluții rapide probabile pentru problemele detectate.

Ergonomie


IntelliJ IDEA este conceput astfel încât să nu scoată dezvoltatorul din starea de productivitate în streaming dacă acesta este deja în ea. Fereastra Proiect, prezentată în prima figură din stânga, dispare cu un simplu clic de mouse, astfel încât programatorul să se poată concentra pe fereastra editorului de cod. Pentru toate acțiunile care sunt necesare în timpul scrierii codului, există comenzi rapide de la tastatură pentru comanda lor rapidă, inclusiv definirea simbolurilor în ferestrele pop-up. La început, toate aceste combinații sunt greu de reținut, dar treptat te obișnuiești cu ele și doar le folosești. Cu toate acestea, chiar dacă programatorul nu folosește combinații de taste, așa cum arată practica, el se obișnuiește să lucreze în IDEA rapid și ușor. Aș dori să remarc în special depanatorul IDEA: valorile variabilelor sunt afișate direct în fereastra editorului, lângă codul sursă corespunzător. Când starea variabilei se schimbă, se schimbă și culoarea de evidențiere.

Instrumente încorporate

IntelliJ IDEA oferă o interfață consistentă pentru a interacționa cu majoritatea sistemelor de control al versiunilor, inclusiv Git, SVN, Mercurial, CVS, Perforce și TFS. Puteți gestiona modificările direct în IDE, ceea ce este foarte convenabil. Când am testat IDEA, am avut dorința ca ultima modificare a codului sursă să fie afișată în fereastra editorului ca adnotare (cum se întâmplă, de exemplu, în Visual Studio). După cum sa dovedit, IDEA are un plugin special pentru asta. IDEA are, de asemenea, instrumente de compilare, un timp de testare, instrumente de acoperire și o fereastră de terminal încorporată. IntelliJ nu are propriul profiler, dar pot fi conectate pluginuri de la terți. De exemplu, YourKit de la un fost dezvoltator principal JetBrains sau VisualVM (aceasta este o versiune reambalată a NetBeans Profiler). Depanarea în Java poate fi chinuitoare când se întâmplă lucruri ciudate la clase pentru care nu aveți sursa. IDEA vine cu un decompilator pentru astfel de cazuri. Programarea Java pe partea de server implică interacțiuni frecvente cu bazele de date, astfel încât programatorii IDEA Ultimate vor aprecia comoditatea SQL și a instrumentelor de baze de date. Dar dacă capacitățile lor nu sunt suficiente pentru cineva, puteți achiziționa versiunea IDEA Ultimate cu SQL IDE (DataGrip) încorporat. Adevărat, va fi ceva mai scump decât un abonament obișnuit IDEA Ultimate. IntelliJ IDEA acceptă toate serverele majore de aplicații JVM și vă permite să implementați și să depanați pe aceste servere, eliminând dificultățile familiare cu care sunt familiarizați programatorii Java Enterprise. IDEA acceptă și Docker (folosind un plugin care adaugă o fereastră specială de instrumente Docker în mediul de dezvoltare. Apropo, IDEA are o mulțime de pluginuri).

Poliglot adevărat

IDEA are suport extins pentru cod pentru Spring, Java EE, Grails, Play, Android, GWT, Vaadin, Thymeleaf, Android, React, AngularJS și alte cadre. Probabil ați observat că nu toate sunt specifice Java. IDEA direct din cutie „înțelege” alte limbaje - Groovy, Kotlin, Scala, JavaScript, TypeScript și SQL. Dacă nu găsiți limba pe care o doriți în această listă, există în prezent 19 pluginuri de limbă IntelliJ, în special pentru a suporta R, Elm și D.


Timp de mulți ani, Eclipse a deținut cu încredere palma în popularitate printre IDE-urile Java. Acest mediu este complet gratuit, open source, scris în principal în Java. Cu toate acestea, arhitectura sa modulară permite ca Eclipse să fie folosit și cu alte limbi. Proiectul Eclipse, inițiat de IBM, a apărut în 2001. Au vrut să înlocuiască familia de medii de dezvoltare IBM Visual Age bazate pe Smalltalk. Ei bine, scopul principal, așa cum spune chiar și numele, a fost să eclipseze Microsoft Visual Studio (eclipse în engleză înseamnă eclipsă). Portabilitatea Java ajută Eclipse să fie multiplatformă: acest IDE rulează pe Linux, Mac OS X, Solaris și Windows. La bine sau la rău, Java Standard Widget Toolkit (SWT) este cel puțin parțial responsabil pentru aspectul și senzația Eclipse. Eclipse își datorează performanța (sau, după cum spun unii simpatizanți, lipsa) JVM-ului. Eclipse este destul de lent, deoarece își are rădăcinile în hardware destul de vechi și versiuni vechi ale JVM-ului. Chiar și astăzi pare lent, mai ales cu o mulțime de pluginuri atașate. O parte din suprasarcina Eclipse poate fi atribuită compilatorului său incremental încorporat, care rulează ori de câte ori este încărcat un fișier sau este actualizat codul. Un lucru util, ea este cea care prinde erori la introducerea textului. Indiferent de asamblare, un proiect Eclipse menține un model de conținut care conține informații despre ierarhia tipurilor, referințe și declarațiile elementelor Java. Versiunea actuală de Eclipse se numește Neon (4.6.0). Am instalat Eclipse Java EE IDE for Web Developers (aceasta este departe de singura opțiune, puteți alege altceva). Conține un SDK Eclipse minim, iar pluginurile sunt adăugate la cerere. Apropo, lucrul cu pluginuri în acest IDE nu este pentru cei slabi de inimă. Pluginurile de la terți sunt adesea în conflict între ele, deși specificațiile lor oficiale nu spun nimic despre acest lucru.
Figura 2. De la stânga la dreapta, există patru bare de instrumente în Eclipse: Package Explorer, Java Editor, Java Class Structure și Task List. Proiectul încărcat în Eclipse în această figură este cadrul de testare JUnit. Panourile pot fi schimbate cu ușurință.

Suport pentru pluginuri

Ecosistemul plugin-ului Eclipse este atât un punct forte al acestui IDE, cât și una dintre principalele sale probleme. Din cauza incompatibilității pluginurilor, uneori, ansambluri întregi se prăbușesc, iar programatorii trebuie să o ia de la capăt. În prezent există peste 1.700 de pluginuri scrise pentru Eclipse, oficiale și neoficiale, care pot sau nu să funcționeze foarte bine. Pluginurile Eclipse acceptă peste 100 de limbaje de programare și aproape 200 de cadre de dezvoltare a aplicațiilor. Majoritatea serverelor Java sunt, de asemenea, acceptate: dacă desemnați o nouă conexiune la server de la Eclipse, veți fi dus la lista de foldere a furnizorilor, unde veți găsi aproximativ 30 de servere de aplicații. Numai vor exista nouă variante de Apache Tomcat. Furnizorii comerciali tind să-și grupeze soluțiile: de exemplu, există un singur Red Hat JBoss Middleware, iar în interior veți găsi instrumente de server WildFly și EAP, precum și JBoss AS.

Editare, refactorizare și depanare

Prima experiență cu Eclipse poate fi confuză și chiar confuză. În primul rând, trebuie să configurați Eclipse și să vă obișnuiți cu arhitectura sa conceptuală pentru spații de lucru, vizualizări și vizualizări. Toate acestea sunt determinate de pluginurile pe care le-ați instalat. Pentru dezvoltarea Java pe partea de server, veți utiliza probabil vizualizările de navigare Java, Java EE și Java, vizualizarea Explorer de pachete, vizualizarea de depanare, vizualizarea de sincronizare a comenzilor instrumentelor web, vizualizarea de dezvoltare a bazei de date și vizualizarea de depanare a bazei de date. .. În practică, totul are sens când deschizi ferestrele pe care le dorești. Eclipse oferă aproape întotdeauna mai multe moduri de a îndeplini o anumită sarcină. De exemplu, puteți vizualiza codul folosind perspectiva de navigare Java. Ce să alegi este o chestiune de gust și alegere. Java Custom Search vă permite să găsiți declarații, referințe și apariții ale pachetelor, tipuri, metode, câmpuri Java. De asemenea, puteți utiliza accesul rapid pentru a căuta și a previzualiza. Modelele de cod comune pot fi generate din modele de cod. Refactorizarea Java în Eclipse acceptă 23 de operațiuni, variind de la operațiuni comune de redenumire la conversii mai puțin evidente (ca în cartea lui Martin Fowler). Eclipse acceptă atât depanarea locală, cât și la distanță, cu condiția să utilizați un JVM care acceptă depanarea la distanță. Depanarea este destul de standard: definiți punctele de întrerupere și apoi vizualizați variabilele în fila de depanare. Desigur, puteți parcurge codul și evalua expresiile. Eclipse are o bază de date vastă de documentație de toate vârstele, valorile și utilitatea. Din păcate, pentru a găsi o imagine în manual care nu corespunde versiunii curente, de exemplu, cu o interfață învechită și un aspect al butoanelor, este un lucru obișnuit pentru acest IDE. Din păcate, problema actualizărilor tardive a documentației este foarte comună pentru orice proiecte cu cod sursă.


NetBeans a început ca proiect universitar studențesc la Praga în 1996. În 1997, IDE-ul a devenit un produs comercial, iar în 1999 a fost cumpărat de Sun Microsystems (părinții Java) și a prezentat o versiune open source anul următor. Versiunea actuală 8.1 rulează pe mașini care rulează Windows, Mac OS X, Linux și Solaris. Ei bine, pachetul portabil poate fi rulat pe orice sisteme pentru care există o mașină Java. Pentru mine, am descărcat pachetul Java EE, care este unul dintre cele șase pachete de descărcare posibile. Acest pachet acceptă JavaScript și HTML, GlassFish și Tomcat, dar nu acceptă PHP, C / C ++ / Fortran, Groovy și Grails: le puteți obține în pachetul All Inclusive (sau doar All). Cu toate acestea, dacă doresc, pot oricând să descarc suport pentru limbile de mai sus selectând pluginul corespunzător (și oricare altul). NetBeans are mai puține dintre ele decât Eclipse, dar de obicei nu intră în conflict între ele. În această toamnă, Oracle (a moștenit NetBeans după preluarea Sun Microsystems) a decis să mute acest mediu de dezvoltare sub aripa Apache Software Foundation, împreună cu toate drepturile, codul sursă, marca comercială, domeniul netbeans.org și o serie de alte infrastructuri. elemente. Prin urmare, viitorul proiectului este încă vag, deși anterior sistemul avea anumite privilegii înrudite. Deci, NetBeans a fost primul care a primit suport pentru Java 8 aproape imediat după lansarea platformei actualizate și a fost numit „IDE-ul oficial pentru Java 8”. Cu toate acestea, la o lună de la lansare, acest avantaj a fost pierdut: atunci și alte IDE-uri au primit suport pentru al optulea Java. Cu toate acestea, vreau să subliniez că suportul pentru Java 8 de la NetBeans este foarte bun, iar acest IDE este grozav pentru a țese trucurile versiunii 8 în codul „moștenit”. Editorii, analizatorii de cod și convertoarele săi vor ajuta programatorul să actualizeze codul folosind constructe tipice Java 8 - expresii lambda, operatori de funcție și referințe de metodă. Pluginurile JavaScript din NetBeans 8 fac o treabă excelentă de a susține Node.js și cele mai recente instrumente JavaScript precum Gulp și Mocha, precum și acceptă interpretul Nashorn JavaScript.
Figura 3. Aici NetBeans lucrează cu același proiect bazat pe Maven, așa cum a fost deschis IntelliJ IDEA în Figura 1. Observați funcționalitatea extinsă în meniul contextual și submeniurile de refactorizare

Editare și refactorizare

NetBeans Editor acceptă limbi, detectează erorile pe măsură ce tastați și vă ajută cu sfaturi despre instrumente și completarea inteligentă a codului. Subiectiv, IDE-ul face față acestei sarcini mai rapid decât Eclipse, dar ceva mai lent decât IntelliJ IDEA. În plus, NetBeans are o gamă completă de instrumente de refactorizare (prezentate în Figura 3) care permit programatorului să restructureze codul fără a-l rupe, să efectueze analize sursei și oferă o gamă largă de sfaturi pentru remedieri rapide sau extensii de cod. NetBeans include un instrument de proiectare pentru Swing GUI, cunoscut anterior ca „Proiect Matisse”. Dezvoltatorii apreciază instrumentul de refactorizare automată Inspect & Transform introdus în NetBeans 7.1. Vă permite să analizați codul proiectului și să faceți îmbunătățiri sugerate. Personal, totuși, prefer să testez mai întâi tot propriul cod cu teste unitare și abia apoi să rulez instrumente care pot face schimbări radicale. Am suferit în mod repetat de tot felul de remedieri automate, care au dus la consecințe ireparabile.

Construire, depanare și profilare

NetBeans are un suport excelent încorporat pentru Maven și Ant, precum și un plugin pentru Gradle. Am fost nespus de bucuros când am descoperit că proiectele Maven sunt percepute ca native de către sistem. Aceasta înseamnă că pot fi pur și simplu deschise și nu importate. NetBeans conține, de asemenea, un afișaj grafic atractiv (și util) pentru dependențele Maven. NetBeans Java Debugger nu este rău, dar cu avertismente. Un depanator vizual separat permite programatorului să facă capturi de ecran ale GUI și să examineze interfețele aplicațiilor realizate cu JavaFX și Swing. NetBeans Profiler face mai evident modul în care CPU și memoria sunt utilizate și are instrumente excelente pentru a găsi scurgeri de memorie.

Comparația celor trei giganți

Am folosit toate cele trei IDE-uri, Eclipse, NetBeans și IntelliJ IDEA, de-a lungul anilor, în ordine cronologică. Ori de câte ori am trecut la alt IDE, am simțit că productivitatea mea a crescut. Dar chiar și atunci când eram ferm convins că alegerea mea finală era IDEA, uneori trebuia să mă întorc la unul dintre cele două IDE-uri rămase. Acesta a fost cazul, de exemplu, pe vremea când Eclipse era singurul instrument care a susținut dezvoltarea pentru Android (azi există Android Studio, actualul IDE oficial pentru Android, acesta se bazează pe IntelliJ IDEA). Desigur, toate cele trei IDE-uri au fanii și adversarii lor. Cunosc mulți dezvoltatori Java care iubesc IntelliJ IDEA, precum și fani loiali ai Visual Studio C ++ și C #. De cele mai multe ori, acești oameni sunt mulțumiți de faptul că productivitatea lor a crescut, iar costul abonamentului anual este returnat în doar câteva săptămâni de la utilizarea versiunii plătite a IDEA. Cu toate acestea, utilizatorii NetBeans și Eclipse sunt adesea legați de instrumentele lor și se întreabă de ce alți programatori ar plăti bani pentru IDEA. Pentru dezvoltatorii Java aspiranți, v-aș sfătui să stați departe de Eclipse. În ciuda faptului că acesta este încă cel mai popular IDE pentru Java, este dificil pentru începători cu el: este ușor să te pierzi în sălbăticia Eclipse, atât în ​​timpul implementării sistemului, cât și în timpul lucrului zilnic. Eclipse are cel mai extins ecosistem de pluginuri dintre toate IDE-urile și, de asemenea, cel mai probabil să se blocheze din cauza instalării unui set incompatibil de aceleași plugin-uri. Din păcate, în timp ce foloseam Eclipse, a trebuit să scot în mod repetat un alt ansamblu rupt al acestui IDE și să instalez un pachet „curat”. NetBeans este bun pentru majoritatea dezvoltatorilor, are un profiler grozav și îl folosesc ocazional. Cu toate acestea, prefer să plătesc pentru IntelliJ IDEA Ultimate. Și viitorul NetBeans este încă neclar. Pentru începătorii Java care nu au încă instrumentele pentru a cumpăra instrumente, recomand să folosească NetBeans sau IntelliJ IDEA Community Edition în funcție de nevoile lor. Prima ar trebui să fie aleasă de cei care se ocupă de codificarea serverelor Java, dar numai dacă nu intrați în categoria celor care pot obține IntelliJ IDEA Ultimate gratuit sau la o reducere uriașă (studenți sau acei programatori care dezvoltă un proiect open source).

IDE-uri Java ușoare

Majoritatea dezvoltatorilor Java folosesc astăzi IDEA, NetBeans sau Eclipse, dar uneori apare nevoia de IDE-uri mai ușoare sau chiar editori de cod precum Sublime Text, emacs sau vim care acceptă pluginuri Java. Mai jos am enumerat opțiuni rezonabile pentru cei care caută ceva mai ușor:
  • DrJava este un mic mediu de dezvoltare gratuit. A fost creat pentru studenții de la Universitatea Rice și a devenit destul de popular: DrJava a fost deja descărcat de peste 2 milioane de ori. DrJava este dedicat dezvoltării bazate pe teste. Mediul conține un editor de cod inteligent, un panou de interacțiune pentru evaluarea codului aplicației, un depanator la nivel sursă și instrumente de testare unitară.
  • BlueJ este un mediu de dezvoltare Java gratuit creat de Universitatea Kent pentru programatori aspiranți. Acest mediu este susținut de Oracle. BlueJ are o interfață mult mai concisă și simplă decât IDE-urile profesionale precum NetBeans sau Eclipse și chiar conține un tutorial dedicat despre elementele de bază ale OOP.
  • JCreator este un alt mic IDE Java pentru Windows scris în C++ (din motive de performanță). Versiunea Pro plătită are un depanator, suport Ant și vrăjitori de cod, dar versiunea gratuită (LE) nu are.
  • Eclipse Che este un IDE cloud bazat pe browser care acceptă Java, C++, JavaScript, Python, PHP, Ruby și SQL.

Alegerea Java IDE în funcție de proiect

Am încercat să descriu avantajele importante ale fiecăruia dintre cele mai importante trei IDE-uri Java și am menționat în treacăt micii lor rivali utili. Pentru a alege IDE-ul potrivit, trebuie să cântăriți argumentele pro și contra și să le adaptați nevoilor dvs. și nevoilor proiectelor dvs. Dacă vă alăturați unei echipe, va fi înțelept să utilizați același IDE ca și alți dezvoltatori, deși acest lucru nu este necesar. Dacă echipa dvs. găzduiește sursa pe GitHub, va fi desigur mai convenabil dacă IDE-ul dvs. acceptă GitHub. Da, puteți gestiona transferurile de cod fără un IDE folosind clientul GitHub sau linia de comandă git. Dar cât de eficiente vor fi astfel de salturi între diferite sisteme? De asemenea, este important ca IDE-ul să mențină un sistem de compilare. De exemplu, dacă este Maven, probabil că nu veți dori să reconstruiți sistemul în Ant pentru testare locală. Din fericire, toate cele trei mari IDE-uri Java acceptă Ant, Maven și Gradle, fie din cutie, fie cu un plugin. Dar pentru IDE-urile „mici”, acest lucru poate să nu fie adevărat. Este o dorință firească ca mediul de dezvoltare să sprijine versiunea JRE care este utilizată în proiect. Dacă versiunile nu se potrivesc, este probabil să obțineți o mulțime de bug-uri inutile, care, de exemplu, vor apărea pentru dvs., în timp ce alți membri ai echipei nu vor apărea. Este puțin probabil ca o astfel de situație să aibă un efect bun asupra karmei tale. Sincer, inconsecvențele JRE sunt mai probabil să apară cu erori de configurare decât fără suport IDE, cu excepția cazului în care IDE-ul nu trebuie încă actualizat la o nouă versiune de Java. Aveți încredere în mine: dacă IDE-ul dvs. acceptă pe deplin cadrele și tehnologiile care sunt utilizate în proiect, vă ajută cu adevărat să vă accelerați munca. Probabil o poți face oricum. Dar dacă IDE înțelege modul în care declarațiile JPA se referă la clasele de entități și expresii JPA (cum ar fi IntelliJ), veți petrece mult mai puțin timp pe codul JPA decât în ​​cazul unei neînțelegeri totale. Ei bine, dacă IDE-ul acceptă cadrul de testare și rulerul de cod utilizat pentru proiect, puteți rula teste fără a schimba mediul de lucru. Ceea ce va grăbi și procesul de dezvoltare. În cele din urmă, lucrurile devin mai repede dacă IDE-ul este compatibil cu sistemele de urmărire a erorilor și de bilete ale proiectului. Din nou, puteți utiliza un client autonom sau web, să zicem, JIRA, dar este greu să fiți de acord că verificarea biletelor este mult mai rapidă fără a schimba fereastra și a rămâne direct în IDE.

Gratuit sau cu plată?

După ce l-am testat de la IntelliJ IDEA Ultimate, am simțit că este un mediu de dezvoltare potrivit. Un fel de Cadillac al lumii IDE. Din nou, deși nu este gratuit, cred că câștigurile de performanță din utilizarea lui merită abonamentul anual. Pentru începătorii care nu își permit abonamentul IntelliJ IDEA Ultimate de 1 an, recomand să folosească NetBeans peste Eclipse. Desigur, ecosistemul plugin-ului Eclipse este astăzi mult mai dezvoltat decât orice alt IDE, dar este foarte depășit și neîngrijit: un dezvoltator începător riscă să se blocheze în jungla IDE în loc să se scufunde în muncă. Am atins și alternativele „ușoare”, dintre care două au fost concepute special pentru scopuri educaționale. Ei bine, dacă abia începi cu limbile și preferi un mediu minimalist, de ce nu?

Scrierea în Python folosind IDLE sau Python Shell este bine când vine vorba de lucruri simple, dar pe măsură ce proiectele cresc în dimensiune, programarea devine o chinuri. Folosirea unui IDE sau chiar a unui editor de cod bun vă poate face viața mult mai ușoară. Dar întrebarea este - ce să alegi?

În acest articol, vom parcurge instrumentele de bază pentru a scrie în Python. Nu vom alege cea mai bună opțiune pentru dvs., dar vom lua în considerare avantajele și dezavantajele fiecăruia și vă vom ajuta să luați o decizie în cunoștință de cauză.

Ce este IDE și Code Editor?

Un IDE (sau Integrated Development Environment) este un program conceput pentru dezvoltarea de software. După cum sugerează și numele, IDE-ul reunește mai multe instrumente special pentru dezvoltare. Aceste instrumente includ de obicei un editor dedicat lucrului cu codul (de exemplu, evidențierea sintaxelor și completarea automată); construiți, rulați și depanați instrumente; și o formă de sistem de control al versiunilor.

Majoritatea IDE-urilor acceptă multe limbaje de programare și au multe caracteristici, care pot fi mari, consumatoare de timp pentru descărcare și instalare și necesită cunoștințe aprofundate pentru a le utiliza corect.

Pe de altă parte, există editori de cod, care sunt un editor de text cu evidențiere de sintaxă și capabilități de formatare a codului. Majoritatea editorilor de cod buni pot executa cod și utiliza un depanator, iar cei mai buni pot chiar interacționa cu sistemele de control sursă. În comparație cu un IDE, un editor de cod bun este de obicei mai ușor și mai rapid, dar adesea cu prețul unei funcționalități mai puține.

Cerințe pentru un mediu de dezvoltare bun

Deci de ce avem nevoie de la un mediu de dezvoltare? Setul de funcții ale diferitelor medii poate diferi, dar există un set de lucruri de bază care simplifică programarea:

  • Salvarea fișierelor. Dacă IDE-ul sau editorul nu vă oferă posibilitatea de a vă salva munca și de a deschide ulterior totul în aceeași stare în care se afla la momentul închiderii, atunci acesta nu este un astfel de IDE;
  • Rularea codului din mediu. De asemenea, dacă trebuie să părăsești mediul pentru a rula codul, atunci acesta nu este altceva decât un simplu editor de text;
  • Suport pentru depanare. Abilitatea de a parcurge codul este o caracteristică de bază a tuturor IDE-urilor și a celor mai bune editori de cod;
  • Evidențierea sintaxelor. Capacitatea de a găsi rapid cuvinte cheie, variabile și așa mai departe face citirea și înțelegerea codului un ordin de mărime mai ușoară;
  • Formatarea automată a codului. Orice editor sau IDE care este într-adevăr va recunoaște două puncte după timp sau pentru expresie și va indenta automat următoarea linie.

Desigur, există multe alte caracteristici pe care ți-ar plăcea să le iei în considerare, dar cele de mai sus sunt principalele caracteristici pe care ar trebui să le aibă un IDE bun.

Acum să aruncăm o privire la câteva instrumente de uz general pe care le puteți folosi pentru dezvoltarea Python.

Editori Python și IDE-uri

Eclipse + PyDev

Dacă sunteți aproape de comunitatea open-source, atunci probabil că ați auzit de Eclipse. Disponibil pentru Linux, Windows și OS X, Eclipse este de facto IDE open-source pentru dezvoltarea Java. Există multe extensii și suplimente care fac Eclipse util pentru tot felul de sarcini.

O astfel de extensie este PyDev, care oferă o consolă Python interactivă și funcții pentru depanare și completarea codului. Instalarea este simplă: porniți Eclipse, alegeți Ajutor → Eclipse Marketplace, apoi căutați PyDev. Faceți clic pe Instalare și reporniți Eclipse dacă este necesar.

Avantaje: Dacă aveți deja instalat Eclipse, instalarea PyDev va fi rapidă și ușoară. Un utilizator experimentat Eclipse nu ar trebui să aibă probleme în a învăța această extensie.

Defecte: Dacă abia începi cu Python sau cu dezvoltarea în general, Eclipse poate fi copleșitor. Vă amintiți când spuneam că IDE-urile sunt mari și necesită mai multă experiență pentru a le folosi pe deplin? Toate acestea se pot spune despre Eclipse.

Text sublim

Un fel: editor de cod
Site: http://www.sublimetext.com

Sublime Text, scris de un inginer Google cu visul unui editor de text mai bun, este un editor de cod foarte popular. Disponibil pe toate platformele, Sublime Text are suport încorporat pentru editarea codului Python, precum și un set bogat de extensii numite pachete care extind sintaxa și capacitățile de editare.

Instalarea unui pachet Python suplimentar poate fi dificilă - toate pachetele Sublime Text sunt scrise în Python, așa că instalarea pachetelor comunitare poate implica adesea executarea unui script Python direct în editor.

Avantaje: Sublime Text are un număr mare de urmăritori. Ca editor de cod, Sublime Text este rapid, ușor și bine acceptat.

Defecte: Sublime Text nu este gratuit, deși puteți folosi perioada de probă atât timp cât doriți. Instalarea extensiilor se poate transforma într-o altă căutare. De asemenea, nu există suport pentru depanarea și rularea codului în editor.

Atom

Un fel: editor de cod
Site: https://atom.io/

Disponibil pe toate platformele, Atom a fost numit „editorul de text hackabil al secolului 21”. Atom este scris folosind Electron, un cadru pentru construirea de aplicații desktop multiplatforme folosind JavaScript, HTML și CSS și are multe extensii. Suportul Python poate fi, de asemenea, conectat folosind o extensie care poate fi instalată direct în Atom.

Avantaje: Suport pe toate platformele datorită Electron. Atom este ușor și rapid de descărcat și încărcat.

Defecte: Suportul de construire și depanare nu este încorporat, ci este adăugat prin extensii. Deoarece Atom este scris cu Electron, rulează întotdeauna ca un proces JavaScript și nu ca o aplicație nativă.

GNU Emacs

Un fel: editor de cod
Site: https://www.gnu.org/software/emacs/

Cu mult înainte de războiul iPhone-Android, înainte de războiul Linux-Windows, chiar înainte de războiul PC-Mac, a existat un război al editorilor cu GNU Emacs ca unul dintre participanții la ostilități. Descris ca „un editor de text extensibil, personalizabil, cu auto-documentare”, GNU Emacs există aproape la fel de mult ca UNIX și și-a câștigat mulți fani.

Disponibil gratuit pe fiecare platformă (într-o formă sau alta), GNU Emacs folosește limbajul Lisp pentru personalizare. Desigur, există și scripturi de personalizare pentru Python.

Avantaje: ești familiarizat cu Emacs, folosești Emacs, îți place Emacs. Lisp este a doua ta limbă și știi că poți face orice cu ea.

Defecte: personalizarea înseamnă scrierea (sau copierea și lipirea) codului Lisp în diferite scripturi. Dacă nu există, atunci poate fi necesar să înveți Lisp pentru a-l da seama.

Vi / Vim

Un fel: editor de cod
Site: https://www.vim.org/

Pe cealaltă parte a baricadelor din războiul redactorului se află VI/VIM. Disponibil în mod implicit pe aproape fiecare sistem UNIX și Mac OS X, VI a câștigat un număr egal de fani. VI și VIM sunt editori modali care separă vizualizarea unui fișier de editarea acestuia. VIM include tot ce este în VI, plus unele îmbunătățiri, cum ar fi disponibilitatea extensiilor. Pentru tot felul de sarcini Python, puteți utiliza VIMScripts.

Avantaje: ești familiarizat cu VI, folosești VI, îți place VI. VIMScript-urile nu te sperie și știi cum să le îndoiești la voința ta.

Defecte: Ca și în cazul Emacs, nu vă simțiți foarte confortabil să căutați sau să scrieți scripturi pentru a adăuga dezvoltare Python și nu aveți idee cum ar trebui să funcționeze un editor modal.

Studio vizual

Avantaje: Ca și în cazul Eclipse, dacă aveți deja instalat Visual Studio pentru alte sarcini, instalarea PVS va funcționa bine.

Defecte: Ca și în cazul Eclipse, Visual Studio este puțin copleșitor dacă aveți nevoie doar de Python. În plus, dacă sunteți pe Linux, nu aveți discuție - Visual Studio nu este disponibil pentru această platformă.

Codul Visual Studio

Un fel: editor de cod
Site: https://code.visualstudio.com/
Instrumente Python: https://marketplace.visualstudio.com/items?itemName=ms-python.python

Visual Studio Code (a nu se confunda cu Visual Studio) este un editor de cod complet disponibil pe Windows, Linux și Mac OS X. VS Code este un editor extensibil open source care poate fi personalizat pentru orice sarcină. La fel ca Atom, VS Code este construit pe Electron, deci are aceleași avantaje și dezavantaje.

Adăugarea suportului Python la VS Code este ușoară - căutați pe Piață „Python”, faceți clic pe Instalare și reporniți editorul dacă este necesar. VS Code va detecta automat interpretul Python și bibliotecile instalate.

Avantaje Datorită Electron, VS Code este disponibil pe toate platformele cu o funcționalitate surprinzător de mare. În plus, codul sursă poate fi găsit în domeniul public.

Defecte: deoarece Electron este implicat, atunci VS Code nu este o aplicație nativă. În plus, este posibil ca unele persoane să nu li se permită să folosească produsele Microsoft din cauza religiei lor.

Editori și IDE-uri concepute pentru Python

PyCharm

Unul dintre cele mai bune IDE-uri Python cu funcții complete este PyCharm. Există atât IDE-uri cu sursă deschisă (comunității) gratuite, cât și plătite (profesionale). PyCharm este disponibil pe Windows, Mac OS X și Linux.

PyCharm acceptă dezvoltarea Python imediată - deschideți un fișier nou și începeți codarea. Puteți rula și depana cod direct din PyCharm. În plus, IDE-ul are suport pentru proiecte și control sursă.

Avantaje: Acesta este un IDE Python cu suport pentru orice și pentru toată lumea și o comunitate bună. În el, „din cutie” puteți edita, rula și depana codul Python.

Defecte: PyCharm se poate încărca lent și este posibil ca setările implicite să fie modificate pentru proiectele existente.

Spyder

Spyder este un IDE Python open-source optimizat pentru știința datelor. Spyder vine cu managerul de pachete Anaconda, așa că este posibil să îl aveți deja instalat.

Ceea ce este interesant la Spyder este că publicul său țintă este oamenii de știință de date care folosesc Python. De exemplu, Spyder funcționează bine cu bibliotecile de știință a datelor, cum ar fi SciPy, NumPy și Matplotlib.

Spyder are toate funcționalitățile pe care le-ați aștepta de la un IDE standard, cum ar fi un editor de cod cu evidențiere de sintaxă, completare a codului și chiar un browser de documentație încorporat.

O caracteristică distinctivă a lui Spyder este exploratorul său variabil. Vă permite să vizualizați valorile variabilelor sub forma unui tabel chiar în interiorul IDE-ului. Integrarea cu IPython / Jupyter funcționează, de asemenea, bine.

Spyder se poate spune că este mai cu picioarele pe pământ decât alte IDE-uri. Poate fi considerat un instrument pentru un scop specific, mai degrabă decât un mediu de dezvoltare primar. Ceea ce este grozav este că este gratuit, open-source și disponibil pe Windows, macOS și Linux.

Avantaje: sunteți un cercetător de date care utilizează Anaconda.

Defecte: Dezvoltatorii Python mai experimentați ar putea găsi că Spyder nu este suficient de funcțional pentru munca lor de zi cu zi și vor opta pentru un IDE sau un editor mai funcțional.

Thonny

Thonny este numit un IDE pentru începători. Scrisă și întreținută de Institutul de Informatică al Universității din Tartu din Estonia, Thonny este disponibil pe toate platformele majore.

În mod implicit, Tonny este instalat cu versiunea inclusă de Python, deci nu trebuie să instalați nimic altceva. Este posibil ca utilizatorii avansați să fie nevoiți să schimbe această setare pentru ca IDE-ul să găsească și să utilizeze bibliotecile care sunt deja instalate.

Avantaje: sunteți un programator Python începător și aveți nevoie de un IDE cu care puteți intra direct în luptă.

Defecte: utilizatorii avansați nu vor avea suficientă funcționalitate și vor înlocui interpretul încorporat. În plus, având în vedere noutatea IDE-ului, pot apărea probleme care în prezent nu au soluție.

Deci pe care să o aleg?

  • Pitoniștii începători ar trebui să ia ceva cu cele mai puține opțiuni de personalizare. Cu cât sunt mai puține obstacole, cu atât mai bine;
  • Dacă utilizați deja un editor pentru alte sarcini, atunci priviți editorii de cod;
  • Ei bine, dacă aveți deja un IDE pentru o altă limbă, atunci încercați să adăugați suport Python la acesta.

Ești și tu interesat de web? Apoi aruncați o privire la cel similar pentru dezvoltare web.

Top articole similare