Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Savjet
  • Odabir razvojnog okruženja (IDE).

Odabir razvojnog okruženja (IDE).

„Razmišljao sam, kada će doći trenutak kada ću morati da kažem u stilu „da, u tvojim sam godinama!.., itd.“ A sada... Ovaj trenutak, najverovatnije, je došao. vidi se iz vašeg nedavnog posta - imate 16 godina, a vi se pozicionirate kao mlada osoba koja voli programiranje. Ili ćete koristiti Go za veliki web projekat, onda ne možete pronaći boju shema za Sublime Text 3 editor za pocetak programiranja, i jedna tema za dnevni rad, a druga za nocni. I sve to kako bi, kako ste stavili u isti post, u bliskoj buducnosti ponovo - da pocnem pisati na golang jeziku.Sada je sam IDE u pitanju.

U vašim godinama, tačnije, od 12 godina i negde do 16 godina, sedeo sam kod kuće za kompjuterom koji zuji ES-1840, opremljen crno-belim monitorom "Elektronika". Tamo, vjerujte, nije bilo tema - ni noći ni dana. O tome da se pojam "grafike" sveo na algoritme za prikazivanje jednostavnih geometrijskih oblika, i praktično, da tako kažem, "piksel po piksel", da i ne govorim. Nije bilo ni fensi IDE-a, a Norton/Volkov Commander se smatrao vrhuncem ergonomije korisničkog interfejsa. Windows i GUI? Ne, nisam čuo.. Postojao je MS-DOS u svom sjaju.

Ali s druge strane, moj mladi prijatelju, tu su bili Borland TurboPascal, Borland C++, Microsoft GW-BASIC i drugi - najjednostavniji u smislu grafičke ljuske (ako se koncept takvog uopće tu može naći), ali neophodna razvojna okruženja za MS-DOS, zahvaljujući kojima su mnogi postali profesionalci bez ikakvih noćnih tema. Oh, da, zaboravio sam napomenuti: tada nije bilo interneta i odgovor na pitanje poput "Kako to učiniti..." nije se mogao naći pomoću Google-a. I nije bilo knjiga. Možda je knjiga V. E. Figurnova "IBM PC za korisnika" gotovo jedina Biblija naše generacije i oskudni skenirani dokumenti koji su dolazili sa službenim verzijama gore navedenih programa i smatrani su vrijednijim od zlata.

Kao što sam vam već napisao, poznajem ljude (i mnogi znaju) koji će godinama učiti Javu, ali ne mogu odlučiti šta je bolje - Eclipse ili NetBeans. Kao rezultat toga, ostali su gdje su bili, ne naučivši apsolutno ništa. A sve zato što su pristupili procesu s pogrešne strane, jasno vjerujući da je korijen njihovog nerazumijevanja osnova programiranja povezan s korištenjem nezgodnog IDE-a.

Želim vam napredak i zato vas molim: ne ponavljajte iskustvo gubitnika i ne gazite ovu istrošenu grabulje drugih. Naučite i počnite kodirati, a teme ostavite za kasnije.

Želio bih još jednom pokrenuti ovu prilično kontroverznu temu.

Otkad sam počeo da programiram ovo pitanje me proganja, a brojne teme na forumima i habre nisu razjašnjene. Osim toga, čini mi se da neki argumenti za obje strane nisu izneseni. A oni koji su dati imaju pogrešne prioritete i propušten kontekst.

U ovom članku pokušaću da ispravim ovaj propust i malo više stavim tačku na "e".

Pozivam sve da učestvuju u potrazi za savršenim alatom.

O mom iskustvu

Počeo sam da programiram u DOS-u. na Turbo Pascal. I, iz nekog razloga, tada smo koristili IDE samo za otklanjanje grešaka, a to je prilično rijetko. Da bi napisali kod, radije su koristili određeni neimenovani edit.exe bez ikakvog isticanja sintakse u vezi sa Volkov Commander. I to je bilo dovoljno. Na isti način sam se kasnije bavio asemblerom i, dijelom, C++.

Nastavljajući da učim C ++, prešao sam na Windows i, shodno tome, Visual Studio - gdje bez njega. Pronašao sam verzije, ako se ne varam, od 5 do 7. Nakon jednostavnog editora, bilo je nešto - generiranje koda i autodovršavanje su bili divni. Istina, bilo je gotovo nemoguće dokučiti svu tu stvorenu dobrotu, ali se činilo nevažnim.

Nakon nekog vremena, prešao sam na Linux i preuzeo web razvoj u php-u. Ovdje sam paralelno proučavao vim i koristio ZendStudio za razvoj. U nekom trenutku sam počeo da koristim samo Vim za sve - pretvorio ga, prema brojnim priručnicima, u malu ideju. U njemu sam napisao svoj prvi biciklistički CMS na php.

Imajte na umu da prije toga programiranje nije bila moja glavna aktivnost. Da, pisao sam razne male uslužne programe za posao, napravio sam teme za WordPress, ali moja glavna aktivnost je bila administracija.

Čim sam počeo da se profesionalno razvijam, mogućnosti Vima više mi nisu bile dovoljne. Prvo je bilo pomračenje, zatim netbeans, sada phpstorm.

Zadnjih pola godine sam se herojski trudio savladati emacs, uklj. kao glavno radno okruženje.

Tako da imam sa čime da uporedim i nadam se da će moje mišljenje biti razumno utemeljeno i dobro utemeljeno.

IDE? IDE ...

Dugo sam razmišljao u kom obliku da donesem poređenje prednosti i mana stranaka. Lista nije baš pogodna za ovo, jer jednostavan popis ne odražava u potpunosti suštinu problema. Editor i IDE nisu suprotnosti, već alati čiji se opseg preklapa u nekom području. Prednosti urednika nisu uvijek nedostaci okruženja, i obrnuto. Iz tog razloga, više-manje strukturirano razmišljanje o ovoj temi se nastavlja.

Počeću, možda, s jednom od neospornih prednosti editora - bogatim mogućnostima za rad sa tekstom i mogućnošću da sve uradite bez skidanja ruku s tastature. Većina okruženja to ne radi. Ali da li su vam zaista potrebne takve sposobnosti kada pišete kod? Kada pišete članak ili pismo, mislim da je zgodno zamijeniti 2 riječi jednim pritiskom na tipku ili pomjeriti pasus na vrh stranice. Ali u tekstu programa to je, u većini slučajeva, besmisleno i zahtijeva refaktoriranje. I morate platiti za ovo ili sa emacs prečicama na tastaturi koje dijele prste, ili sa isto tako naredbama koje razbijaju mozak u vim-u. Ali svega ovoga treba zapamtiti! Ono što se jednostavno rješava jednim pokretom miša, poput pomicanja prozora ili njihove veličine, pretvara se u čitavu potragu. Da, čak i isticanje teksta je lakše pomoću miša – tačnije, brže, i ne morate da brojite koliko reči ima do pravog mesta u tekstu. Ne, programer takođe svibanj Ove funkcije mogu biti korisne, ali činjenica je da je njegovo vrijeme utrošeno na stvarno uređivanje koda zanemarivo, tako da od vremena praktično neće biti nikakve koristi. Ali značajna komplikacija instrumenta je očigledna.

Programer troši 80% svog vremena na razumijevanje i navigaciju u pisanom kodu. Štaviše, kretanje je kroz kod, a ne kroz tekst! I tu mu urednik ne može ništa pomoći. Lista parametara metode u opisu alata neće se prikazati, neće vam dozvoliti da odete na definiciju metode, sintaksa neće kontrolirati. A IDE, čak i oni najjednostavniji, rješavaju ovo na jednostavan i elegantan način. Nedavno sam proveo 10 minuta tražeći definiciju jedne metode u projektu koristeći silversearcher iz emacsa. Ispostavilo se da je klasa definisana u drugom modulu itd. 10 minuta umjesto jednog klika mišem! Naravno, nisam dovoljno iskusan u emacsu, pa neka bude 5 minuta, pa makar i minut. Ali omjer je i dalje impresivan.

I ovdje IDE pokazuje svoj, možda, jedini, ali vrlo hrabar plus - ovo je prisustvo parsera programskog jezika. Okruženje "razumije" da uređuje kod. Urednik nije. A ovo je i automatsko dovršavanje, i navigacija, i isticanje sintaktičkih i, ponekad, semantičkih grešaka. Deluje preterano, prijatna sitnica, ugađanje sebi. Ali to postaje neophodnost nakon što veličina projekta pređe određenu granicu. A uzimajući u obzir obimne moderne okvire, ova granica dolazi gotovo odmah.

Da, na projektu od desetina datoteka i nekoliko hiljada linija, ovaj plus se ne manifestira u svoj svojoj slavi. Urednik također može izvesti isto automatsko dovršavanje, ali nikada neće izbaciti besmislene opcije. A ako se veličina projekta približi 100 hiljada linija i sastoji se od hiljada fajlova, ne računajući biblioteke, onda postaje problematično izabrati željeno ime iz gomile imena varijabli, metoda drugih klasa i samo riječi iz komentara (imao sam ovo u vim, ne znam, mozda su popravili). Pametne upute eliminiraju potrebu za pamćenjem naziva željenih funkcija i njihovih parametara. Često to jednostavno fizički nije moguće.

Govoreći o projektima. Svi IDE imaju ovaj koncept. Postavke, resursi su vezani za njega, možete pretraživati ​​itd. U uređivačima, ovo je u najboljem slučaju otvoreni direktorij na sistemu datoteka. Ponekad malo više.

Integracija sa programom za otklanjanje grešaka u editorima takođe ostavlja mnogo da se poželi. Jedinično testiranje, logiranje, donekle, spašavaju situaciju, ali ponekad ne možete nigdje ići bez debagera.

Neko bi mogao tvrditi da su u modernim uređivačima mnoge od ovih funkcija već implementirane i ni na koji način nisu inferiorne u odnosu na najsofisticiranije IDE. Ne slažem se. Prvo, nema punopravnih implementacija. Ne rade kako bi trebali. Drugo, instalacija svega ovoga je već prilično težak zadatak. Čak je i konfiguracija internih funkcija uređivača već netrivijalna. Pokušajte, recimo, uključiti numeriranje redova u istom emacsu! Osim toga, često potrebnu funkcionalnost implementira desetak dodataka, nije jasno kako oni međusobno djeluju. A često imaju i desetak verzija i grana, koje nisu uvijek kompatibilne, čudno prilagodljive itd. Možete, naravno, potrošiti mjesec dana, sve konfigurirati i instalirati (što je također puno entuzijasta), ali ovo će samo približiti editor IDE nivou. Na primjer, vratimo se istim projektima - isprobao sam Project pod vim i projectile pod emacs-om i nekim drugim dodacima. Ako Projekt i dalje manje-više zadovoljava moje zahtjeve (iako u najnovijoj verziji uopće nisam uspio napraviti projekat zbog grešaka), onda je projektil ostavio izuzetno negativan utisak.

Pa ipak, urednici imaju nekoliko područja primjene u kojima se, u najmanju ruku, nadmeću sa razvojnim okruženjima.

Prvo, bolje rade na malim projektima. Nema smisla preuzimati IDE harvester za rad s projektom od 10-20 datoteka. Lakše je ispraviti 3-4 reda u editoru.

Drugo, u nekim specifičnim oblastima sve prednosti IDE-a su nivelirane. Na primjer, razvoj niskog nivoa za linux. Nisam to uradio, ali sudeći po strukturi koda i preferencijama programera (oko 70% - emacs i klonovi, 25% - vim, 5% - neka vrsta egzotike kao jed), nema ničeg IDE uraditi tamo. Sav potreban kod za rad skuplja se, po pravilu, u jedan ili dva fajla, i nema potrebe da skačete oko celog projekta. A automatsko dovršavanje neće puno pomoći pri odabiru između desetak ili dvije funkcije s gotovo istim nazivima.

Treće, urednici mogu raditi s više od samog koda. Sva njihova moć se može iskoristiti pri radu sa csv ili xml datotekama. Ili nešto drugo, što je ponekad neophodno, kao što je članak ili pismo. I nema potrebe za ponovnim učenjem, traženjem pogodnog programa ili pamćenjem prečica - sve je pri ruci, sve je isto.

Četvrto, mogućnost rada sa jezicima za koje ne postoji zdrav IDE. Recimo, kod istog rubina mi okruženje nije puno pomoglo. SublimeText je bio dovoljan. Iako nisam radio s velikim ruby ​​projektom, možda bi se IDE pokazao tamo.

I peto, ozloglašena mogućnost proširenja. Uz dobre dodatke, uređivač postaje vrlo jednostavan za korištenje! Plus specifično zadovoljstvo neprekidnog podešavanja vašeg glavnog instrumenta i osećaj potpune kontrole nad njim vredi mnogo.

Ukupno

Ne volim baš IDE-ove, iako bi tako moglo izgledati iz prethodnog teksta. Smatram ih prilično monstruoznim, sa gomilom nepotrebnih funkcija, sporim i zahtjevnim za resurse. A najbolji su prilično skupi. Također, smatram da je korištenje IDE-a opuštajuće i samostalno. Shodno tome, za urednike je suprotno. Plus dostupnost i mogućnost finog podešavanja za sebe. Barem vim i emacs. Na kraju, jednostavno mi se sviđaju. Na primjer, pišem ovaj članak u Emacsu.

Ali industrija (i šefovi) diktiraju svoje zahtjeve. Ako ne koristite IDE, performanse će značajno pasti. Ali niko vam neće dati pola sata da pronađete zarez koji nedostaje u 10 hiljada linija koda. Sve ovo treba da bude urađeno automatski i automatski ispravljeno. Takođe ponekad volim da kopam po kodu bez ikakvih alata - ali na poslu je to gubljenje vremena.

Nakon svih pokušaja i grešaka, došao sam do ovog zaključka - urednik mogu koristiti za razvoj, ali sa IDE-om se nakon određenog ograničenja ne može porediti i korištenje editora za nešto za što se plaća je neprihvatljiv luksuz. Da, ako koristite prave razvojne prakse, pravilno dizajnirate / dokumentujete kod, pratite standarde - možete izgladiti inherentne nedostatke urednika. Ali mi ne živimo u idealnom svijetu, pa je korištenje IDE-a neophodnost, bez obzira na našu želju.

Kompajler pretvara izvorni kod (* .c, * .cpp datoteke) u program koji radi. Ako nemate kompajler, morate ga instalirati prije nego počnete programirati. Postoji mnogo kompajlera dostupnih za preuzimanje na Internetu. Ako ste korisnik Mac OS X, Linuxa ili drugih * nix sistema (kao što su Unix ili FreeBSD), vjerovatno već imate instalirane kompajlere kao što su GCC ili G++.

Osnovni koncepti

Kompajler- program koji prevodi izvorni (visokorazinski) kod programa u konačni (niskorazinski) kod.
Kompilacija- proces pretvaranja izvornog teksta programa visokog nivoa u ekvivalentan programski tekst, ali već na jeziku nižeg nivoa.
Linker(Linker) - program koji generiše izvršni modul povezujući objektne datoteke projekta.
IDE(Integrirano razvojno okruženje) - Kombinacija uređivača teksta i kompajlera. Razvoj, kompilacija i pokretanje vaših programa se obavljaju direktno u IDE. Integrisana razvojna okruženja (IDE) pojednostavljuju proces sastavljanja programa jer pišete kod, kompajlirate i pokrećete programe u jednom programu - IDE. Još jedna važna karakteristika IDE-a je da vam IDE pomaže da brzo pronađete i popravite greške kompilacije.

Razumijevanje procesa kompilacije

Procesi kompilacije i povezivanja – Kratak opis onoga što se tačno dešava kada kompajlirate program.
Greške u kompilaciji, u nekim redovima kompajler pronalazi greške koje treba eliminisati.
Upozorenja kompajlera - šta su upozorenja kompajlera, i kako i zašto se rešavaju.
Koja je razlika između deklaracija i definicija u C / C ++. Naučite razliku između deklaracije i definicije u C / C ++ i zašto je to toliko važno.

Odabir kompajlera (IDE)

Za Windows OS:
Code :: Blocks with Mingw - naš preporučeni besplatni IDE! Code :: Blocks je također dostupan na Linuxu. Možete vidjeti kako instalirati ovaj IDE u našem članku Instaliranje koda :: Blokovi i MINGW.
Microsoft Visual C ++ - Pročitajte o Visual C ++. Vodič za instalaciju Microsoft Visual Studio 2012

Predstavljamo vašoj pažnji adaptaciju članka Martina Hellera, programera i urednika resursa JavaWorld. Verovatno ste već čuli za tri najbolja IDE-a za Java razvoj. Oko 90 posto industrijskih programera koristi Eclipse, NetBeans ili IntelliJ IDEA, a svaki IDE ima svoje prednosti i nedostatke. U ovom članku pokušat ćemo ih opisati kako biste razumjeli koji je pravi za vas. Mada, naravno, najbolje je isprobati sve tri na poslu i saznati šta vam najviše odgovara. Ovo se ne može zamijeniti nikakvom recenzijom. Radio sam sa ovim IDE-ovima ranije, ali za ovo istraživanje sam instalirao IntelliJ IDEA Ultimate 2016.2, Eclipse Neon Java EE i NetBeans 8.1 Java EE na MacBook Pro laptopu. Testirao sam IDE na nekoliko Java projekata otvorenog koda.

Šta očekivati ​​od IDE-a

Moderni "zdravi Java developer" IDE bi trebao podržavati Java 8, Scala, Groovy i druge jezike Java virtuelnih mašina koje redovno koristi. Podrška za glavne servere aplikacija i najpopularnije web okvire, uključujući Spring MVC, JSF, Struts, GWT, Play, Wicket, Grails i Vaadin, ne bi bila suvišna. IDE mora biti kompatibilan sa svim verzijama sistema kontrole verzija kao što su Ant, Maven ili Gradle, zajedno sa Git, SVN, CVS, Mercurial ili Bazaar. Osim toga, važno je da razvojno okruženje može raditi sa bazama podataka i klijentskim slojem vašeg steka, imati podršku za ugrađeni JavaScript, TypeScript, HTML, SQL, JavaServer Pages, Hibernate, kao i Java Persistence API. Konačno, logično je nadati se da će vam IDE omogućiti da uređujete, gradite, otklanjate greške i testirate sisteme bez nepotrebnog stresa. Idealno je ako razvojno okruženje podržava ne samo pametno dovršavanje koda, već i pametno refaktoriranje i metriku koda. U mnogim slučajevima, podrška za testiranje okvira i stubova će biti korisna. Ako vaš tim koristi tiket sistem i CI/CD, potreban vam je IDE da biste se mogli povezati s njima. Također, odlučite da li vam je potrebna implementacija i otklanjanje grešaka u kontejnerima i oblacima. Naveli smo samo glavna očekivanja (možda imate nešto da dodate), a sada pogledajmo izbliza naše rivale.

IntelliJ IDEA


IntelliJ IDEA dolazi u dvije varijante u pogledu karakteristika i cijene: besplatno Community izdanje i plaćeno Ultimate izdanje sa proširenom funkcionalnošću. Community izdanje je za razvoj JVM-a i Androida. Besplatna verzija podržava Java, Kotlin, Groovy i Scala; Android; Maven, Gradle i SBT; radi sa sistemima kontrole verzija Git, SVN, Mercurial i CVS. Ultimate izdanje je skrojeno za web i poslovni razvoj. Ova verzija IDE-a ne radi samo sa Git, SVN, Mercurial i CVS, već i sa Perforce, ClearCase i TFS; u njemu možete pisati u JavaScript-u i TypeScript-u; naravno, postoji podrška za Java EE, Spring, GWT, Vaadin, Play, Grails i niz drugih okvira. I, naravno, ne bez SQL-a i alata za baze podataka. Ideja kojom se vode programeri ovog IDE-a pri formiranju politike cijena je da njegova komercijalna verzija (Ultimate) zauzme svoje mjesto na kompjuterima profesionalaca, zbog čega će se povećati njihova produktivnost. Ako Java programer zarađuje 50 hiljada dolara (ili čak i više) godišnje, povrat ulaganja u plaćeni IntelliJ IDEA IDE (500 dolara po godišnjoj pretplati) će se dogoditi vrlo brzo zbog čak i blagog ubrzanja njegovog rada. U narednim godinama cijena poslovanja pada, za startape, freelancere je znatno niža, a za studente, nastavnike, Java šampione i open source programere potpuno je besplatna. IntelliJ IDEA impresionira svojim dubokim razumijevanjem koda, pametnom ergonomijom, ugrađenim razvojnim funkcijama i podrškom za mnoge jezike.
Slika 1. IntelliJ IDEA prikazuje broj upozorenja i pretpostavki zasnovanih na statističkoj analizi Java koda. Pretpostavke možete detaljnije istražiti klikom na njih, kao što je prikazano na slici; u mnogim slučajevima, dobićete listu sa izborom i opcijama za ispravke.

Duboko razumijevanje koda

Isticanje sintakse i jednostavno dovršavanje koda uobičajeni su u svakom modernom Java uređivaču. IDEA je napravila korak dalje nudeći "pametno dovršavanje". Ovaj izraz znači da razvojno okruženje prikazuje listu najrelevantnijih simbola koji su primenljivi u datom kontekstu. Lista simbola ne zavisi samo od konteksta kao takvog, "općeprihvaćenog", već i od stila programiranja programera, od toga koliko često koristi određene operatore. "Kraj lanca" zapravo prikazuje listu primjenjivih znakova koji su dozvoljeni putem metoda ili gettera u trenutnom kontekstu. Osim toga, u slučaju statičkih članova ili konstanti, IDEA automatski dodaje sve potrebne naredbe za uvoz. U svim slučajevima automatskog dovršavanja, IDEA pokušava pogoditi tip simbola u vrijeme izvođenja, precizirati njegov izbor, pa čak i primijeniti cast ako je potrebno. Java kod često uključuje isječke iz drugih jezika kao nizove. IDEA može ubaciti SQL, XPath, HTML, CSS ili JavaScript kod u Java string literale. U tom smislu, IDE može refaktorirati kod na više jezika. Na primjer, ako preimenujete klasu u JPA mapiranju, IDEA će ažurirati odgovarajući JPA entitet i klasu izraza. Kada refaktoriše deo koda, programer ima jednu (sasvim prirodnu) želju: da se svi duplikati ovog koda takođe refaktorišu. IDEA Ultimate pronalazi duplikate i slične fragmente i refaktorira ih. IntelliJ IDEA analizira kod pri učitavanju i direktno na ulazu. Ukazuje na sumnjive probleme (kao na našoj slici iznad) i opciono nudi listu mogućih brzih rješenja za otkrivene probleme.

Ergonomija


IntelliJ IDEA je dizajnirana tako da programera ne izbaci iz stanja streaming produktivnosti ako je već u tome. Prozor projekta, prikazan na prvoj slici lijevo, nestaje jednostavnim klikom miša tako da se programer može fokusirati na prozor uređivača koda. Za sve radnje koje su potrebne prilikom pisanja koda, postoje prečice na tastaturi za njihovu prečicu, uključujući i definiciju simbola u iskačućim prozorima. U početku je sve ove kombinacije teško zapamtiti, ali postepeno se naviknete na njih i samo ih koristite. Ipak, čak i ako programer ne koristi kombinacije tipki, kao što pokazuje praksa, on se brzo i lako navikne na rad u IDEA-i. Posebno bih želio napomenuti IDEA debugger: vrijednosti varijabli se prikazuju direktno u prozoru uređivača, pored odgovarajućeg izvornog koda. Kada se stanje varijable promijeni, mijenja se i boja isticanja.

Ugrađeni alati

IntelliJ IDEA pruža konzistentan interfejs za interakciju sa većinom sistema kontrole verzija, uključujući Git, SVN, Mercurial, CVS, Perforce i TFS. Možete upravljati promjenama direktno u IDE-u, što je vrlo zgodno. Kada sam testirao IDEA, imao sam želju da posljednja promjena u izvornom kodu bude prikazana u prozoru editora kao napomena (kao što se dešava, na primjer, u Visual Studio-u). Kako se ispostavilo, IDEA ima poseban dodatak za ovo. IDEA također ima alate za pravljenje, test runtime, alate za pokrivenost i ugrađeni prozor terminala. IntelliJ nema svoj profiler, ali se na njega mogu povezati dodaci treće strane. Na primjer, YourKit bivšeg JetBrains ili VisualVM glavnog programera (ovo je prepakirana verzija NetBeans Profilera). Otklanjanje grešaka u Javi može biti mučno kada se čudne stvari dogode klasama za koje nemate izvor. IDEA dolazi sa dekompajlerom za takve slučajeve. Java programiranje na strani servera uključuje česte interakcije baze podataka, tako da će IDEA Ultimate programeri cijeniti pogodnost SQL-a i alata za baze podataka. Ali ako nekome nisu dovoljne njihove mogućnosti, možete kupiti IDEA Ultimate verziju sa ugrađenim SQL IDE-om (DataGrip). Istina, bit će nešto skuplji od obične pretplate na IDEA Ultimate. IntelliJ IDEA podržava sve glavne JVM servere aplikacija i omogućava vam da implementirate i otklanjate greške na ovim serverima, eliminišući poznate poteškoće sa kojima su Java Enterprise programeri upoznati. IDEA također podržava Docker (koristeći dodatak koji dodaje poseban prozor Docker alata u razvojno okruženje. Inače, IDEA ima more dodataka).

Pravi poliglota

IDEA ima proširenu podršku koda za Spring, Java EE, Grails, Play, Android, GWT, Vaadin, Thymeleaf, Android, React, AngularJS i druge okvire. Verovatno ste primetili da nisu svi specifični za Java. IDEA direktno iz kutije "razumije" druge jezike - Groovy, Kotlin, Scala, JavaScript, TypeScript i SQL. Ako ne pronađete jezik koji želite na ovoj listi, trenutno postoji 19 IntelliJ jezičkih dodataka, posebno za podršku R, Elm i D.


Dugi niz godina, Eclipse je pouzdano držao dlan popularnosti među Java IDE-ovima. Ovo okruženje je potpuno besplatno, otvorenog koda, napisano prvenstveno na Javi. Međutim, njegova modularna arhitektura omogućava da se Eclipse koristi i sa drugim jezicima. Projekat Eclipse, koji je pokrenuo IBM, pojavio se 2001. godine. Željeli su zamijeniti porodicu IBM Visual Age razvojnih okruženja zasnovanih na Smalltalku. Pa, glavni cilj, kao što i samo ime kaže, bio je nadmašiti Microsoft Visual Studio (eclipse na engleskom znači pomračenje). Java prenosivost pomaže da Eclipse bude na više platformi: ovaj IDE radi na Linux, Mac OS X, Solaris i Windows. Za bolje ili gore, Java Standard Widget Toolkit (SWT) je barem djelimično odgovoran za izgled i osjećaj Eclipse-a. Eclipse duguje svoje performanse (ili, kako neki dobronamjerni kažu, nedostatak) JVM-u. Eclipse je prilično spor jer ima svoje korijene u prilično starom hardveru i starim verzijama JVM-a. Čak i danas djeluje tromo, posebno s puno dodataka koji su povezani s njim. Neki od troškova Eclipse-a mogu se pripisati njegovom ugrađenom inkrementalnom kompajleru, koji se pokreće kad god se datoteka učita ili ažurira kod. Korisna stvar, ona je ta koja hvata greške prilikom unosa teksta. Bez obzira na sklapanje, Eclipse projekat održava model sadržaja koji sadrži informacije o hijerarhiji tipova, referencama i deklaracijama Java elemenata. Trenutna verzija Eclipsea nosi naziv Neon (4.6.0). Instalirao sam Eclipse Java EE IDE za web programere (ovo je daleko od jedina opcija, možete odabrati nešto drugo). Sadrži minimalni Eclipse SDK i dodaci se dodaju na zahtjev. Inače, rad sa dodacima u ovom IDE-u nije za one sa slabim srcem. Dodaci trećih strana često se međusobno sukobljavaju, iako njihove službene specifikacije ne govore ništa o tome.
Slika 2. S leva na desno, postoje četiri trake sa alatkama u Eclipse-u: Package Explorer, Java Editor, Java Class Structure i Task List. Projekat učitan u Eclipse na ovoj slici je JUnit test okvir. Paneli se mogu lako zamijeniti.

Podrška za dodatke

Ekosistem dodataka Eclipse je i jača strana ovog IDE-a i jedan od njegovih glavnih problema. Zbog nekompatibilnosti dodataka ponekad se cijeli sklopovi kvare, a programeri moraju početi ispočetka. Trenutno postoji preko 1700 dodataka napisanih za Eclipse, službenih i nezvaničnih, koji mogu, ali i ne moraju raditi vrlo dobro. Eclipse dodaci podržavaju preko 100 programskih jezika i skoro 200 okvira za razvoj aplikacija. Većina Java servera je takođe podržana: ako odredite novu serversku vezu iz Eclipse-a, bićete odvedeni na listu fascikli dobavljača, gde ćete pronaći oko 30 servera aplikacija. Postojaće devet varijanti samo Apache Tomcata. Komercijalni dobavljači obično spajaju svoja rješenja zajedno: na primjer, postoji samo jedan Red Hat JBoss Middleware, a unutra ćete pronaći WildFly i EAP serverske alate, kao i JBoss AS.

Uređivanje, refaktorisanje i otklanjanje grešaka

Prvo iskustvo sa Eclipseom može biti zbunjujuće, pa čak i zbunjujuće. Prvo, morate postaviti Eclipse i naviknuti se na njegovu konceptualnu arhitekturu za radne prostore, poglede i poglede. Ovo je sve određeno dodacima koje ste instalirali. Za razvoj Java-e na strani servera, vjerovatno ćete koristiti Java, Java EE i Java preglede pregledavanja, pregled Package Explorer, prikaz za otklanjanje grešaka, prikaz sinhronizacije komandi Web alata, prikaz razvoja baze podataka i prikaz za otklanjanje grešaka u bazi podataka. . .. U praksi, sve ima smisla kada otvorite prozore koje želite. Eclipse gotovo uvijek nudi nekoliko načina za postizanje datog zadatka. Na primjer, možete vidjeti kod koristeći Java perspektivu pretraživanja. Šta izabrati je stvar ukusa i izbora. Java prilagođena pretraga vam omogućava da pronađete deklaracije, reference i pojavljivanja Java paketa, tipova, metoda, polja. Također možete koristiti brzi pristup za pretragu i pregled. Uobičajeni obrasci koda mogu se generirati iz kodnih obrazaca. Java refaktoring u Eclipse podržava 23 operacije, u rasponu od uobičajenih operacija preimenovanja do manje očiglednih konverzija (kao u knjizi Martina Fowlera). Eclipse podržava i lokalno i udaljeno otklanjanje grešaka, pod uslovom da koristite JVM koji podržava udaljeno otklanjanje grešaka. Otklanjanje grešaka je prilično standardno: definišete tačke prekida, a zatim pregledate varijable na kartici za otklanjanje grešaka. Naravno, možete koračati kroz svoj kod i procjenjivati ​​izraze. Eclipse ima ogromnu bazu podataka dokumentacije svih uzrasta, vrijednosti i korisnosti. Nažalost, pronaći sliku u priručniku koja ne odgovara trenutnoj verziji, na primjer, sa zastarjelim sučeljem i rasporedom gumba, uobičajena je stvar za ovaj IDE. Nažalost, problem kasnog ažuriranja dokumentacije je vrlo čest za sve projekte sa izvornim kodom.


NetBeans je započeo kao studentski univerzitetski projekat u Pragu 1996. godine. 1997. IDE je postao komercijalni proizvod, a 1999. kupio ga je Sun Microsystems (roditelji Jave) i sljedeće godine je predstavio open source izdanje. Trenutna verzija 8.1 radi na mašinama koje koriste Windows, Mac OS X, Linux i Solaris. Pa, prenosivi paket se može pokrenuti na bilo kojem sistemu za koji postoji Java mašina. Za sebe sam preuzeo Java EE bundle, koji je jedan od šest mogućih paketa za preuzimanje. Ovaj paket podržava JavaScript i HTML, GlassFish i Tomcat, ali ne podržava PHP, C / C ++ / Fortran, Groovy i Grails: možete ih nabaviti u All Inclusive (ili samo Sve) paketu. Ipak, ako želim, mogu u svakom trenutku preuzeti podršku za gore navedene jezike odabirom odgovarajućeg dodatka (i bilo kojeg drugog). NetBeans ih ima manje od Eclipsea, ali obično nisu u sukobu jedan s drugim. Ove jeseni, Oracle (naslijedio je NetBeans nakon preuzimanja Sun Microsystems) odlučio je da premjesti ovo razvojno okruženje pod okrilje Apache Software Foundation, zajedno sa svim pravima, izvornim kodom, zaštitnim znakom, netbeans.org domenom i nizom druge infrastrukture elementi. Stoga je budućnost projekta još uvijek nejasna, iako je ranije sistem imao određene srodne privilegije. Dakle, upravo je NetBeans prvi dobio podršku za Javu 8 skoro odmah nakon objavljivanja ažurirane platforme, i nazvan je „zvanični IDE za Javu 8“. Međutim, mjesec dana nakon objavljivanja, ova prednost je izgubljena: tada su i drugi IDE dobili podršku za osmu Javu. Međutim, želim da istaknem da je podrška za NetBeans Java 8 zaista dobra, a ovaj IDE je odličan za utkanje trikova verzije 8 u "naslijeđeni" kod. Njegovi uređivači, analizatori koda i pretvarači pomoći će programeru da nadogradi kod koristeći konstrukcije tipične za Javu 8 - lambda izraze, operatore funkcija i reference metoda. JavaScript dodaci u NetBeans-u 8 odlično podržavaju Node.js i najnovije JavaScript alate kao što su Gulp i Mocha, kao i podržavaju Nashorn JavaScript interpreter.
Slika 3. Ovdje NetBeans radi sa istim projektom baziranim na Mavenu kao što je IntelliJ IDEA otvorena na slici 1. Obratite pažnju na proširenu funkcionalnost u kontekstualnom meniju i podizbornicima za refaktoriranje

Uređivanje i refaktorisanje

NetBeans Editor podržava jezike, otkriva greške dok kucate i pomaže vam sa opisima alata i pametnim dovršavanjem koda. Subjektivno, IDE se nosi sa ovim zadatkom brže od Eclipse-a, ali nešto sporije od IntelliJ IDEA. Pored toga, NetBeans ima čitav niz alata za refaktoriranje (prikazan na slici 3) koji omogućavaju programeru da restrukturira kod bez da ga razbije, izvrši analizu izvora i nudi širok spektar savjeta za brze popravke ili proširenja koda. NetBeans uključuje alat za dizajn za Swing GUI, ranije poznat kao "Project Matisse". Programeri cijene automatizirani alat za refaktoriranje Inspect & Transform uveden u NetBeans 7.1. Omogućava vam da analizirate projektni kod i napravite predložena poboljšanja. Osobno, ipak, radije bih prvo testirao sav svoj kod pomoću jediničnih testova, a tek onda pokrenuo alate koji mogu napraviti radikalne promjene. Više puta sam patio od raznih automatskih popravki, što je dovelo do nepopravljivih posljedica.

Izrada, otklanjanje grešaka i profilisanje

NetBeans ima sjajnu ugrađenu podršku za Maven i Ant, kao i dodatak za Gradle. Bio sam presrećan kada sam otkrio da sistem doživljava Maven projekte kao izvorne. To znači da se mogu jednostavno otvoriti i ne uvoziti. NetBeans takođe sadrži atraktivan (i koristan) grafički prikaz za Maven zavisnosti. NetBeans Java Debugger nije loš, ali sa upozorenjima. Odvojeni vizuelni debager omogućava programeru da napravi snimke ekrana GUI-ja i ispita interfejse aplikacija napravljenih sa JavaFX-om i Swingom. NetBeans Profiler čini očiglednijim kako se CPU i memorija koriste i ima odlične alate za pronalaženje curenja memorije.

Poređenje tri diva

Koristio sam sva tri IDE-a, Eclipse, NetBeans i IntelliJ IDEA, tokom godina, hronološkim redom. Kad god sam prešao na drugi IDE, osjećao sam da se moja produktivnost povećava. Ali čak i kada sam bio čvrsto uvjeren da je moj konačni izbor IDEJA, ponekad sam morao da se vratim na jedan od dva preostala IDE-a. To je bio slučaj, na primjer, u vrijeme kada je Eclipse bio jedini alat koji je podržavao razvoj za Android (danas postoji Android Studio, trenutni službeni IDE za Android, baziran je na IntelliJ IDEA). Naravno, sva tri IDE-a imaju svoje fanove i protivnike. Poznajem mnoge Java programere koji vole IntelliJ IDEA, kao i vjerne fanove Visual Studio C++ i C#. Često su ovi ljudi zadovoljni činjenicom da je njihova produktivnost povećana, a trošak godišnje pretplate se vraća za samo nekoliko sedmica korištenja plaćene verzije IDEA-e. Međutim, korisnici NetBeans-a i Eclipse-a često su vezani za svoje alate i pitaju se zašto bi drugi programeri plaćali novac za IDEA-u. Za ambiciozne Java programere, savjetovao bih vam da se držite podalje od Eclipsea. Uprkos činjenici da je ovo i dalje najpopularniji IDE za Javu, početnicima je teško sa njim: lako se izgubiti u divljini Eclipse-a, kako tokom postavljanja sistema tako i tokom svakodnevnog rada. Eclipse ima najopsežniji ekosistem dodataka među svim IDE-ovima, a takođe i najvjerovatnije da će se srušiti zbog instalacije nekompatibilnog skupa ovih istih dodataka. Nažalost, dok sam koristio Eclipse, morao sam više puta da uklanjam još jedan pokvareni sklop ovog IDE-a i instaliram "čisti" paket. NetBeans je dobar za većinu programera, ima odličan profiler i ja ga povremeno koristim. Međutim, radije plaćam za IntelliJ IDEA Ultimate. A budućnost NetBeansa je još uvijek nejasna. Za početnike u Javi koji još nemaju alate za kupovinu alata, preporučujem korištenje NetBeans ili IntelliJ IDEA Community Edition ovisno o njihovim potrebama. Prvi bi trebali izabrati oni koji se bave kodiranjem Java servera, ali samo ako ne spadate u kategoriju onih koji mogu dobiti IntelliJ IDEA Ultimate besplatno ili uz ogroman popust (studenti ili oni programeri koji razvijaju projekat otvorenog koda).

Lagani Java IDE-ovi

Većina Java programera danas koristi IDEA, NetBeans ili Eclipse, ali ponekad se javlja potreba za lakšim IDE-ovima ili čak uređivačima koda kao što su Sublime Text, emacs ili vim koji podržavaju Java dodatke. U nastavku sam naveo razumne opcije za one koji traže nešto lakše:
  • DrJava je malo besplatno razvojno okruženje. Kreiran je za studente na Univerzitetu Rajs i postao je prilično popularan: DrJava je već preuzeta preko 2 miliona puta. DrJava je posvećena razvoju zasnovanom na testovima. Okruženje sadrži pametni uređivač koda, panel za interakciju za procjenu koda aplikacije, program za otklanjanje grešaka na nivou izvora i alate za testiranje jedinica.
  • BlueJ je besplatno Java razvojno okruženje kreirano od strane Univerziteta u Kentu za programere ambiciozne. Ovo okruženje podržava Oracle. BlueJ ima mnogo sažetije i jednostavnije sučelje od profesionalnih IDE-a kao što su NetBeans ili Eclipse, pa čak sadrži i namjenski vodič o osnovama OOP-a.
  • JCreator je još jedan mali Java IDE za Windows napisan na C++ (iz razloga performansi). Plaćena Pro verzija ima debugger, Ant podršku i čarobnjake za kod, ali besplatna verzija (LE) ne.
  • Eclipse Che je cloud IDE zasnovan na pretraživaču koji podržava Java, C++, JavaScript, Python, PHP, Ruby i SQL.

Odabir Java IDE ovisno o projektu

Pokušao sam da opišem važne prednosti svakog od tri najznačajnija Java IDE-a i usputno spomenuo njihove korisne male rivale. Da biste odabrali pravi IDE, morate odmjeriti prednosti i nedostatke i uskladiti ih sa svojim potrebama i potrebama vaših projekata. Ako se pridružujete timu, bilo bi mudro koristiti isti IDE kao i drugi programeri, iako to nije potrebno. Ako vaš tim hostuje izvor na GitHub-u, prirodno će biti zgodnije ako vaš IDE podržava GitHub. Da, možete upravljati prijenosima koda bez IDE koristeći GitHub klijent ili git komandnu liniju. Ali koliko će takvi skokovi između različitih sistema biti efikasni? Takođe je važno da IDE održava sistem izgradnje. Na primjer, ako je u pitanju Maven, vjerovatno nećete htjeti ponovo izgraditi sistem u Antu radi lokalnog testiranja. Na sreću, sva tri velika Java IDE-a podržavaju Ant, Maven i Gradle, bilo van kutije ili sa dodatkom. Ali za "male" IDE, to možda nije istina. Prirodna je želja da razvojno okruženje podržava verziju JRE-a koja se koristi u projektu. Ako se verzije ne poklapaju, velika je vjerovatnoća da ćete dobiti mnogo nepotrebnih grešaka, koje će se, na primjer, pojaviti za vas, dok drugi članovi tima neće. Malo je vjerovatno da će takva situacija dobro uticati na vašu karmu. Iskreno govoreći, vjerovatnije je da će se nedosljednosti JRE-a pojaviti sa greškama u konfiguraciji nego bez podrške za IDE, osim ako IDE tek treba da se ažurira na novu verziju Jave. Samo mi vjerujte: ako vaš IDE u potpunosti podržava okvire i tehnologije koje se koriste u projektu, to zaista pomaže da se ubrza vaš rad. Vjerovatno to ipak možete učiniti. Ali ako IDE razumije kako se JPA izjave odnose na JPA entitete i klase izraza (kao što je IntelliJ), potrošit ćete mnogo manje vremena na kod koji se odnosi na JPA nego u slučaju potpunog nesporazuma. Pa, ako IDE podržava okvir za testiranje i pokretač koda koji se koristi za projekat, možete pokrenuti testove bez promjene radnog okruženja. Što će takođe ubrzati proces razvoja. Konačno, stvari postaju brže ako je IDE kompatibilan sa projektnim sistemima za praćenje grešaka i ulaznica. Opet, možete koristiti samostalni ili web klijent, recimo, JIRA, ali teško je ne složiti se da je provjera tiketa mnogo brža bez promjene prozora i boravka direktno u IDE-u.

Besplatno ili plaćeno?

Nakon što sam ga testirao sa IntelliJ IDEA Ultimate, dobio sam osjećaj pravog razvojnog okruženja. Neka vrsta Cadillac-a iz IDE svijeta. Opet, iako nije besplatan, mislim da je dobit od njegove upotrebe vrijedna godišnje pretplate. Za početnike koji ne mogu priuštiti IntelliJ IDEA Ultimate jednogodišnju pretplatu, preporučujem korištenje NetBeansa preko Eclipsea. Naravno, ekosistem dodataka Eclipse danas je mnogo razvijeniji od bilo kojeg drugog IDE-a, ali je veoma zarastao i neuredan: početnik programer rizikuje da zaglavi u IDE džungli umjesto da se uroni u posao. Također sam se dotakao "lakih" alternativa, od kojih su dvije bile dizajnirane posebno u obrazovne svrhe. Pa, ako tek počinjete sa jezicima i više volite minimalističko okruženje, zašto ne?

Pisanje na Pythonu koristeći IDLE ili Python Shell je u redu kada su u pitanju jednostavne stvari, ali kako projekti rastu, programiranje postaje muka. Korištenje IDE ili čak dobrog uređivača koda može vam olakšati život. Ali pitanje je - šta odabrati?

U ovom članku ćemo proći kroz osnovne alate za pisanje u Pythonu. Nećemo odabrati najbolju opciju za vas, ali ćemo razmotriti prednosti i nedostatke svake od njih i pomoći vam da donesete informiranu odluku.

Šta je IDE i Code Editor?

IDE (ili Integrirano razvojno okruženje) je program dizajniran za razvoj softvera. Kao što ime govori, IDE objedinjuje nekoliko alata posebno za razvoj. Ovi alati obično uključuju uređivač posvećen radu sa kodom (na primjer, isticanje sintakse i automatsko dovršavanje); alati za pravljenje, pokretanje i otklanjanje grešaka; i neki oblik sistema kontrole verzija.

Većina IDE podržava mnoge programske jezike i ima mnogo funkcija, koje mogu biti velike, dugotrajne za preuzimanje i instalaciju i zahtijevaju dubinsko znanje za ispravnu upotrebu.

S druge strane, postoje uređivači koda, koji su uređivač teksta sa mogućnošću isticanja sintakse i formatiranja koda. Većina dobrih uređivača koda može izvršiti kod i koristiti program za otklanjanje grešaka, a najbolji mogu čak komunicirati sa sistemima kontrole izvora. U poređenju sa IDE, dobar uređivač koda je obično lakši i brži, ali često po cenu manje funkcionalnosti.

Zahtjevi za dobro razvojno okruženje

Dakle, šta nam treba od razvojnog okruženja? Skup funkcija različitih okruženja može se razlikovati, ali postoji skup osnovnih stvari koje pojednostavljuju programiranje:

  • Čuvanje fajlova. Ako vam IDE ili editor ne daju mogućnost da sačuvate svoj rad i kasnije otvorite sve u istom stanju u kojem je bilo u trenutku zatvaranja, onda ovo nije takav IDE;
  • Pokretanje koda iz okruženja. Isto tako, ako trebate izaći iz okruženja da biste pokrenuli svoj kod, onda ovo nije ništa više od jednostavnog uređivača teksta;
  • Podrška za otklanjanje grešaka. Mogućnost prelaska kroz kod je osnovna karakteristika svih IDE-ova i većine dobrih uređivača koda;
  • Isticanje sintakse. Mogućnost brzog pronalaženja ključnih riječi, varijabli i tako dalje čini čitanje i razumijevanje koda redom veličine lakšim;
  • Automatsko formatiranje koda. Svaki uređivač ili IDE koji zaista jeste prepoznat će dvotočku nakon nekog vremena ili za izraz i automatski će uvući sljedeći red.

Naravno, postoje mnoge druge karakteristike koje biste voljeli uzeti u obzir, ali gore navedene su glavne karakteristike koje bi dobar IDE trebao imati.

Hajde sada da pogledamo neke alate opšte namene koje možete koristiti za razvoj Pythona.

Python uređivači i IDE

Eclipse + PyDev

Ako ste bliski zajednici otvorenog koda, vjerovatno ste čuli za Eclipse. Dostupan za Linux, Windows i OS X, Eclipse je de facto open-source IDE za Java razvoj. Postoji mnogo ekstenzija i dodataka koji Eclipse čine korisnim za sve vrste zadataka.

Jedno takvo proširenje je PyDev, koje pruža interaktivnu Python konzolu i funkcije za otklanjanje grešaka i dovršavanje koda. Instalacija je jednostavna: pokrenite Eclipse, odaberite Pomoć → Eclipse Marketplace, a zatim potražite PyDev. Kliknite na Instaliraj i ponovo pokrenite Eclipse ako je potrebno.

Prednosti: Ako već imate instaliran Eclipse, instalacija PyDev-a će biti brza i glatka. Iskusni Eclipse korisnik ne bi trebao imati problema sa učenjem ove ekstenzije.

Nedostaci: Ako tek počinjete sa Pythonom ili razvojem općenito, Eclipse može biti neodoljiv. Sjećate li se kada smo rekli da su IDE-ovi veliki i da im je potrebno više iskustva da bi ih u potpunosti koristili? Sve ovo se može reći za Eclipse.

Uzvišen tekst

tip: editor koda
Web stranica: http://www.sublimetext.com

Sublime Text, koji je napisao Google inženjer sa snom o boljem uređivaču teksta, vrlo je popularan uređivač koda. Dostupan na svim platformama, Sublime Text ima ugrađenu podršku za uređivanje Python koda, kao i bogat skup ekstenzija nazvanih paketi koji proširuju sintaksu i mogućnosti uređivanja.

Instaliranje dodatnog Python paketa može biti nezgodno — svi paketi Sublime Text su napisani na Pythonu, tako da instaliranje paketa zajednice često može uključivati ​​izvršavanje Python skripte direktno u uređivaču.

Prednosti: Sublime Text ima veliki broj sljedbenika. Kao uređivač koda, Sublime Text je brz, lagan i dobro podržan.

Nedostaci: Sublime Text nije besplatan, iako možete koristiti probni period koliko god želite. Instaliranje ekstenzija može se pretvoriti u još jedan zadatak. Takođe, ne postoji podrška za otklanjanje grešaka i pokretanje koda u uređivaču.

Atom

tip: editor koda
Web stranica: https://atom.io/

Dostupan na svim platformama, Atom je nazvan "urednikom teksta 21. veka koji se može hakovati". Atom je napisan korišćenjem Electron-a, okvira za izgradnju višeplatformskih desktop aplikacija koristeći JavaScript, HTML i CSS, i ima mnogo ekstenzija. Podrška za Python se također može uključiti pomoću ekstenzije koja se može instalirati direktno u Atom.

Prednosti: Podrška na svim platformama zahvaljujući Electron-u. Atom je lagan i brz za preuzimanje i učitavanje.

Nedostaci: Podrška za izgradnju i otklanjanje grešaka nije ugrađena, već se dodaje putem ekstenzija. Pošto je Atom napisan pomoću Electron-a, on uvijek radi kao JavaScript proces, a ne kao izvorna aplikacija.

GNU Emacs

tip: editor koda
Web stranica: https://www.gnu.org/software/emacs/

Mnogo prije iPhone-Android rata, prije rata Linux-Windows, čak i prije PC-Mac rata, postojao je rat urednika sa GNU Emacs-om kao jednim od učesnika u neprijateljstvima. Opisan kao "proširivi, prilagodljivi, samodokumentirajući uređivač teksta", GNU Emacs postoji skoro koliko i UNIX i osvojio je mnoge obožavatelje.

Dostupan besplatno na svakoj platformi (u ovom ili onom obliku), GNU Emacs koristi jezik Lisp za prilagođavanje. Naravno, postoje i skripte za prilagođavanje za Python.

Prednosti: upoznati ste sa Emacsom, koristite Emacs, volite Emacs. Lisp je vaš drugi jezik i znate da možete sve s njim.

Nedostaci: prilagođavanje znači pisanje (ili kopiranje i lijepljenje) Lisp koda u različite skripte. Ako ih nema, možda ćete morati naučiti Lisp da biste to shvatili.

Vi / Vim

tip: editor koda
Sajt: https://www.vim.org/

S druge strane barikada u urednikovom ratu je VI/VIM. Podrazumevano dostupan na skoro svakom UNIX sistemu i Mac OS X, VI je osvojio jednak broj obožavatelja. VI i VIM su modalni uređivači koji odvajaju gledanje datoteke od uređivanja. VIM uključuje sve što je u VI, plus neka poboljšanja kao što je dostupnost ekstenzija. Za sve vrste Python zadataka možete koristiti VIMScripts.

Prednosti: upoznati ste sa VI, koristite VI, volite VI. VIMScripti vas ne plaše, a vi znate kako da ih prilagodite svojoj volji.

Nedostaci: Kao i kod Emacsa, nije vam baš ugodno tražiti ili skriptirati da biste dodali razvoj Pythona, a nemate pojma kako bi modalni uređivač uopće trebao raditi.

Visual studio

Prednosti: Kao i kod Eclipsea, ako već imate instaliran Visual Studio za druge zadatke, PTVS instalacija će raditi dobro.

Nedostaci: Kao i kod Eclipsea, Visual Studio je malo neodoljiv ako vam treba samo Python. Osim toga, ako koristite Linux, ne dolazite u obzir - Visual Studio nije dostupan za ovu platformu.

Visual Studio Code

tip: editor koda
Web stranica: https://code.visualstudio.com/
Python alati: https://marketplace.visualstudio.com/items?itemName=ms-python.python

Visual Studio Code (ne treba ga brkati sa Visual Studio) je potpuno opremljen uređivač koda dostupan na Windows, Linux i Mac OS X. VS Code je proširivi uređivač otvorenog koda koji se može prilagoditi za bilo koji zadatak. Kao i Atom, VS Code je izgrađen na Electron-u, tako da ima iste prednosti i nedostatke.

Dodavanje podrške za Python u VS Code je jednostavno - pretražite Marketplace za “Python”, kliknite na Instaliraj i ponovo pokrenite uređivač ako je potrebno. VS Code će automatski otkriti Python interpreter i instalirane biblioteke.

Prednosti Zahvaljujući Electron-u, VS Code je dostupan na svim platformama sa iznenađujuće sjajnom funkcionalnošću. Osim toga, izvorni kod se može naći u javnom domenu.

Nedostaci: pošto je Electron uključen, onda VS Code nije izvorna aplikacija. Osim toga, nekim ljudima možda neće biti dozvoljeno da koriste Microsoftove proizvode zbog njihove religije.

Urednici i IDE dizajnirani za Python

PyCharm

Jedan od najboljih potpuno opremljenih Python IDE-a je PyCharm. Postoje i besplatni otvoreni kod (zajednica) i plaćeni (profesionalni) IDE. PyCharm je dostupan na Windows, Mac OS X i Linux.

PyCharm podržava razvoj Pythona iz kutije - otvorite novu datoteku i počnite s kodiranjem. Možete pokrenuti i debugovati kod direktno iz PyCharma. Pored toga, IDE ima podršku za projekte i kontrolu izvora.

Prednosti: Ovo je Python IDE sa podrškom za sve i svakoga i dobrom zajednicom. U njemu "iz kutije" možete uređivati, pokretati i debugovati Python kod.

Nedostaci: PyCharm se može sporo učitavati i možda će biti potrebno podesiti zadane postavke za postojeće projekte.

Spyder

Spyder je Python IDE otvorenog koda optimiziran za nauku o podacima. Spyder dolazi sa Anaconda paket menadžerom, tako da je moguće da ga već imate instaliran.

Ono što je zanimljivo kod Spydera je da su njegova ciljna publika naučnici podataka koji koriste Python. Na primjer, Spyder dobro radi sa bibliotekama za nauku o podacima kao što su SciPy, NumPy i Matplotlib.

Spyder ima svu funkcionalnost koju očekujete od standardnog IDE-a, poput uređivača koda sa isticanjem sintakse, dovršavanjem koda, pa čak i ugrađenim preglednikom dokumentacije.

Karakteristična karakteristika Spydera je njegov varijabilni istraživač. Omogućava vam da vidite vrijednosti varijabli u obliku tabele direktno unutar IDE-a. Integracija sa IPython / Jupyter također dobro funkcionira.

Za Spyder se može reći da je prizemniji od ostalih IDE-ova. Može se smatrati alatom za određenu svrhu, a ne primarnim razvojnim okruženjem. Ono što je sjajno u vezi s tim je to što je besplatno, otvorenog koda i dostupno na Windows, macOS i Linux.

Prednosti: vi ste naučnik podataka koji koristi Anaconda.

Nedostaci: Iskusniji Python programeri mogu smatrati da Spyder nije dovoljno funkcionalan za njihov svakodnevni rad i odlučit će se za funkcionalniji IDE ili editor.

Thonny

Thonny se zove IDE za početnike. Napisan i održavan od strane Instituta za informatiku Univerziteta Tartu u Estoniji, Thonny je dostupan na svim glavnim platformama.

Podrazumevano, Tonny je instaliran sa verzijom Pythona u paketu, tako da ne morate ništa drugo da instalirate. Napredni korisnici će možda morati promijeniti ovu postavku kako bi IDE pronašao i koristio biblioteke koje su već instalirane.

Prednosti: vi ste početnik Python programer i potreban vam je IDE sa kojim možete odmah krenuti u bitku.

Nedostaci: napredni korisnici neće imati dovoljno funkcionalnosti, te će zamijeniti ugrađeni tumač. Osim toga, s obzirom na novost IDE-a, mogu se pojaviti problemi koji trenutno nemaju rješenje.

Dakle, koju odabrati?

  • Pitonisti početnici bi trebali uzeti nešto s najmanje mogućnosti prilagođavanja. Što manje prepreka to bolje;
  • Ako već koristite neki uređivač za druge zadatke, onda pogledajte prema uređivačima koda;
  • Pa, ako već imate IDE za drugi jezik, pokušajte mu dodati podršku za Python.

Da li i vas zanima web? Zatim pogledajte naš sličan za web razvoj.

Top srodni članci