Come configurare smartphone e PC. Portale informativo
  • casa
  • Programmi
  • Editor o IDE? Un altro tentativo di analisi. L'IDE più versatile: JDeveloper

Editor o IDE? Un altro tentativo di analisi. L'IDE più versatile: JDeveloper

Vorrei sollevare ancora una volta questo argomento piuttosto controverso.

Da quando ho iniziato a programmare, questa domanda mi perseguita e numerosi argomenti sui forum e sull'habré non hanno portato chiarezza. Inoltre, mi sembra che alcuni argomenti per entrambe le parti non siano stati forniti. E quelli che vengono dati hanno una priorità errata e perdono il contesto.

Nell'articolo cercherò di correggere questa omissione e mettere qualche punto in più sopra il "ё".

Invito tutti a partecipare alla ricerca dello strumento perfetto.

Sulla mia esperienza

Ho iniziato a programmare in DOS. in TurboPascal. E, per qualche ragione, abbiamo quindi utilizzato l'IDE solo per il debug, e quindi abbastanza raramente. Per scrivere il codice, hanno preferito utilizzare alcuni edit.exe senza nome senza alcuna evidenziazione della sintassi insieme a Comandante Volkov. E questo è bastato. Allo stesso modo, in seguito ho lavorato su assembler e, in parte, su C++.

Continuando ad imparare C++, sono passato a Windows e, di conseguenza, studio visivo- dove senza di essa. Ho trovato versioni, se non sbaglio, dalla 5 alla 7. Dopo un semplice editor, era qualcosa: la generazione del codice e il completamento automatico hanno suscitato piacere. È vero, era quasi impossibile capire tutta questa bontà generata, ma sembrava irrilevante.

Dopo qualche tempo, sono passato a Linux e ho iniziato lo sviluppo web in php. Qui ho studiato vim in parallelo e ho usato ZendStudio per lo sviluppo. Ad un certo punto, ho iniziato a usare solo Vim per tutto: l'ho trasformato, secondo numerosi manuali, in una piccola idea. In esso, ha scritto il suo primo CMS per biciclette in php.

Prendo atto che prima, la programmazione non era la mia attività principale. Sì, ho anche scritto vari piccoli programmi di utilità per il lavoro, creato temi per WordPress, ma l'occupazione principale era l'amministrazione.

Non appena ho intrapreso lo sviluppo professionalmente, le possibilità di vim non erano più sufficienti per me. Prima c'era Eclipse, poi netbeans, ora phpstorm.

Nell'ultimo semestre ho cercato eroicamente di padroneggiare emacs, incl. come ambiente di lavoro principale.

Quindi ho qualcosa con cui confrontarmi e, spero, la mia opinione sarà sufficientemente motivata e motivata.

IDE? IDE...

Ho pensato a lungo in quale forma presentare un confronto dei vantaggi e degli svantaggi delle parti. L'elenco non è molto adatto a questo, perché una semplice enumerazione non riflette del tutto l'essenza del problema. L'editor e l'IDE non sono opposti, ma strumenti il ​​cui ambito si sovrappone in alcune aree. I vantaggi dell'editor non sono sempre gli svantaggi dell'ambiente e viceversa. Per questo seguono discussioni più o meno strutturate sull'argomento.

Inizierò, forse, con uno degli indiscutibili vantaggi dell'editor: le sue ricche possibilità di lavorare con il testo e la possibilità di fare tutto senza togliere le mani dalla tastiera. Il mercoledì per la maggior parte non si sa come. Ma hai bisogno di tali funzionalità quando scrivi il codice? Quando si scrive un articolo o una lettera, penso che sia conveniente scambiare 2 parole con un solo tasto o spostare un paragrafo in alto nella pagina. Ma nel testo del programma, questo è, nella maggior parte dei casi, privo di significato e richiede un refactoring. E devi pagare per questo o con le scorciatoie da tastiera di emacs che schiacciano le dita, o non meno con comandi schiaccianti per il cervello in vim. Ma tutto questo va ricordato! Qualcosa che viene risolto semplicemente con un movimento del mouse, come spostare una finestra o cambiarne le dimensioni, si trasforma in un'intera ricerca. Sì, anche selezionare il testo è più facile con il mouse: in modo più preciso, più veloce e non devi contare quante parole ci sono nel posto giusto nel testo. No, anche il programmatore Maggio queste funzioni possono essere utili, ma il fatto è che il tempo impiegato per modificare effettivamente il codice è trascurabile, quindi non ci sarà praticamente alcun vantaggio di tempo. Ma una complicazione significativa dello strumento è ovvia.

Un programmatore trascorre l'80% del suo tempo a comprendere il codice scritto e a spostarlo. E muovendoti esattamente in base al codice e non al testo! E qui l'editore non può aiutarlo con assolutamente nulla. L'elenco dei parametri del metodo nel tooltip non verrà visualizzato, non ti permetterà di andare alla definizione del metodo, la sintassi non controllerà. E gli IDE, anche i più semplici, gestiscono questo in modo semplice ed elegante. Di recente ho trascorso 10 minuti alla ricerca della definizione di un singolo metodo in un progetto utilizzando silversearcher di emacs. Si è scoperto che la classe era definita in un altro modulo e così via. 10 minuti invece di un clic del mouse! Certamente non ho abbastanza esperienza in emacs, quindi lascia che siano 5 minuti, anche un minuto. Tuttavia, il rapporto è impressionante.

E qui l'IDE mostra il suo, forse, l'unico, ma molto grosso vantaggio: la presenza di un parser del linguaggio di programmazione. L'ambiente "capisce" che sta modificando il codice. Editore - n. E questo è il completamento automatico, la navigazione e l'evidenziazione di errori sintattici e, a volte, semantici. Sembra essere un eccesso, una piacevole sciocchezza, una coccola. Ma diventa una necessità dopo che le dimensioni del progetto superano un certo limite. E tenendo conto dei voluminosi quadri moderni, questo limite arriva quasi immediatamente.

Sì, su un progetto di una dozzina di file e un paio di migliaia di righe, questo vantaggio non si manifesta in tutto il suo splendore. L'editor può anche eseguire lo stesso completamento automatico, ma non filtrerà mai le opzioni prive di significato. E se la dimensione del progetto si avvicina a 100mila righe ed è composta da migliaia di file, senza contare le librerie, allora diventa problematico scegliere titolo desiderato da un miscuglio di nomi di variabili, metodi di altre classi e solo parole di commenti (l'avevo in vim, non lo so, forse l'hanno risolto). I suggerimenti intelligenti eliminano la necessità di ricordare i nomi funzioni desiderate e le loro impostazioni. Spesso questo è semplicemente fisicamente impossibile.

A proposito di progetti. Tutti gli IDE hanno questo concetto. Impostazioni, risorse sono allegate ad esso, puoi cercare, ecc. Negli editori è in caso migliore aprire la directory file system. A volte un po' di più.

Anche l'integrazione del debugger negli editor lascia molto a desiderare. Unit test, registrazione in una certa misura salvano la situazione, ma a volte senza un debugger, da nessuna parte.

Qualcuno potrebbe obiettare che negli editor moderni molte di queste funzioni sono già state implementate e non sono in alcun modo inferiori agli IDE più sofisticati. Non sono d'accordo. Innanzitutto, non ci sono implementazioni a tutti gli effetti. Non funzionano come dovrebbero. In secondo luogo, l'installazione di tutto questo è già sufficiente compito difficile. Sì, anche la configurazione funzioni interne editor è già non banale. Prova, diciamo, ad attivare la numerazione delle righe nello stesso emacs! Inoltre, spesso funzionalità desiderata implementati da una dozzina di plugin, non è chiaro come interagiscono tra loro. E spesso anche avere una dozzina di versioni e rami non sempre compatibili, impostazioni strane, ecc. Puoi, ovviamente, passare un mese, configurare e installare tutto (che è anche il sacco di appassionati), ma questo avvicinerà solo l'editor al livello IDE. Ad esempio, tornando agli stessi progetti: ho provato sia Project sotto vim che Projectile sotto emacs e alcuni altri plugin. Se Project soddisfa ancora più o meno le mie esigenze (sebbene in ultima versione Non sono riuscito a creare un progetto a causa di bug), quindi il proiettile ha lasciato un'impressione estremamente negativa.

Tuttavia, gli editor hanno diverse aree di applicazione in cui, come minimo, competono con gli ambienti di sviluppo.

In primo luogo, si mostrano meglio su piccoli progetti. Non ha senso scaricare una mietitrebbia IDE per lavorare con un progetto di 10-20 file. È più facile correggere 3-4 righe nell'editor.

In secondo luogo, in alcune aree specifiche, tutti i vantaggi dell'IDE sono compensati. Ad esempio, lo sviluppo di basso livello per Linux. Non l'ho fatto, ma a giudicare dalla struttura del codice e dalle preferenze degli sviluppatori (circa il 70% - emacs e cloni, 25% - vim, 5% - alcuni esotici come jed), l'IDE non ha nulla a che fare là. Totale codice desiderato, con cui lavori, è assemblato, di regola, in uno o due file e non è necessario saltare all'interno dell'intero progetto. Sì, e il completamento automatico non aiuterà molto quando si sceglie tra una dozzina o due funzioni con quasi gli stessi nomi.

In terzo luogo, gli editor possono lavorare non solo con il codice. Tutta la loro potenza può essere utilizzata quando si lavora con csv o file xml. O qualcos'altro, che a volte diventa necessario, come un articolo o una lettera. E non hai bisogno di riqualificarti, cerca programma conveniente o memorizzare i tasti di scelta rapida: tutto è a portata di mano, tutto è uguale.

In quarto luogo, la capacità di lavorare con linguaggi per i quali non esiste un IDE sano. Diciamo che con lo stesso rubino l'ambiente non mi ha aiutato molto. SublimeText è stato sufficiente. Anche se non ho lavorato con un grande progetto Ruby, forse l'IDE si sarebbe mostrato lì.

E in quinto luogo, la famigerata possibilità di espansione. In presenza di buoni plugin L'editor diventa molto utile! Oltre al piacere specifico di accordare continuamente il tuo strumento principale e la sensazione pieno controllo sopra di esso - vale molto.

Totale

Non mi piacciono molto gli IDE, anche se potrebbe sembrare così dal testo precedente. Penso che siano piuttosto mostruosi, con un mucchio di funzioni non necessarie, lento e ad alta intensità di risorse. E i migliori sono piuttosto costosi. Inoltre, credo usando un IDE rilassa e si lega a se stessi. Per gli editori, è vero il contrario. Più accessibilità e possibilità di messa a punto da soli. Di almeno vim ed emacs. Alla fine, mi piacciono proprio. Questo articolo, ad esempio, lo scrivo in Emacs.

Ma l'industria (ei capi) detta le proprie esigenze. Se non si utilizza un IDE, le prestazioni diminuiranno in modo significativo. Ma nessuno ti darà mezz'ora per trovare una virgola mancante in 10.000 righe di codice. Tutto questo dovrebbe essere fatto automaticamente e corretto automaticamente. A volte mi piace anche scavare nel codice senza strumenti, ma al lavoro questa è una perdita di tempo inaccettabile.

Dopo tutti i miei tentativi ed errori, sono giunto a questa conclusione - editore potere usa per lo sviluppo, ma con un IDE, oltre un certo limite, non è paragonabile e usare un editor per qualcosa per cui sei pagato è un lusso. Sì, se usi le giuste pratiche di sviluppo, progetti/documenti il ​​codice correttamente, segui gli standard, puoi appianare le carenze intrinseche degli editori. Ma viviamo lontano da mondo ideale, quindi l'utilizzo di un IDE è d'obbligo, indipendentemente dal nostro desiderio.

Il compilatore converte fonte(file *.c, *.cpp) in un programma in esecuzione. Se non hai un compilatore, devi installarlo prima di iniziare a programmare. Ci sono molti compilatori disponibili online per il download. Se sei Utente Mac OS X, Linux o altri sistemi *nix (come Unix o FreeBSD), probabilmente hai già installato compilatori, come GCC o G++.

Concetti basilari

compilatore- un programma che traduce il codice sorgente (di alto livello) del programma nel codice finale (di basso livello).
Compilazione- il processo di conversione di un alto livello codice sorgente programma nel testo del programma equivalente, ma in un linguaggio di basso livello.
Linker(Linker) è un programma che genera un modulo eseguibile collegando file oggetto di progetto.
IDE(Ambiente di sviluppo integrato) - Una combinazione di un editor di testo e un compilatore. Lo sviluppo, la compilazione e il lancio dei tuoi programmi avviene direttamente nell'IDE. Gli ambienti di sviluppo integrati semplificano il processo di scrittura dei programmi, poiché la scrittura del codice, la compilazione e l'esecuzione dei programmi vengono eseguite in un unico programma: un IDE. Un altro caratteristica importante IDE è che IDE aiuta a trovare e correggere rapidamente gli errori di compilazione.

Comprensione dei processi di compilazione

Processi di compilazione e collegamento − breve descrizione cosa succede esattamente quando si compila un programma.
Errori di compilazione, in alcune righe il compilatore trova errori che devono essere eliminati.
Avvisi del compilatore: cosa sono gli avvisi del compilatore, come e perché vengono eliminati.
Qual è la differenza tra dichiarazioni e definizioni in C/C++. Scopri la differenza tra una dichiarazione e una definizione in C/C++ e perché è così importante.

Selezione del compilatore (IDE)

Per il sistema operativo Windows:
Codice::Blocca con Mingw - consigliato da noi, IDE gratuito! Code::Blocks è disponibile anche su Linux. Puoi vedere come installare questo IDE nel nostro articolo Installazione del codice::Blocks e MINNG.
Microsoft Visual C++ - Leggi di Visual C++. Guida Installazione Microsoft Visual Studio 2012

"Tutti stavano pensando quando sarebbe arrivato il momento in cui avrei dovuto dire nello stile di" sì, ho la tua età! .. ecc. ". E ora... Questo momento, molto probabilmente, è arrivato. Tu , come Puoi vedere dal tuo recente post che hai 16 anni e ti posizioni come un giovane che si è interessato alla programmazione. combinazione di colori per l'editore Testo sublime 3 per iniziare la programmazione, con un argomento per lavoro del giorno, e il secondo - per la notte. E tutto questo per, come hai scritto nello stesso post, di nuovo nel prossimo futuro - per iniziare a scrivere nella lingua golang. Ora l'IDE stesso è in questione.

Alla tua età, o meglio, dall'età di 12 anni e da qualche parte fino a 16, ero seduto a casa al ronzio del computer EC-1840, dotato di un monitor "Elettronica" in bianco e nero. Lì, credetemi, non c'erano argomenti, né notte né giorno. Non sto parlando del fatto che il concetto di "grafica" è stato ridotto ad algoritmi per la visualizzazione semplice forme geometriche, e praticamente, se così si può dire, "per pixel". Non c'erano nemmeno IDE fantasiosi e Norton/Volkov Commander era considerato il picco dell'ergonomia dell'interfaccia utente. Windows e GUI? No, non l'hanno fatto. C'era MS-DOS in tutto il suo splendore.

Ma poi, mio ​​giovane amico, c'erano Borland TurboPascal, Borland C++, Microsoft GW-BASIC e altri, i più semplici nel senso guscio grafico(se il concetto di tale può essere trovato lì), ma gli ambienti di sviluppo necessari sotto MS-DOS, grazie al quale molti sono diventati professionisti senza argomenti notturni. Oh sì, ho dimenticato di dire: non c'era Internet allora, e la risposta alla domanda come "Come farlo in modo che ..." non poteva essere trovata con Google. E non c'erano libri. È il libro di V. E. Figurnov "IBM PC for the user" - quasi l'unica Bibbia della nostra generazione e scarse scansioni dalla documentazione fornita con versioni ufficiali i programmi di cui sopra e considerato più prezioso dell'oro.

Come ti ho già scritto, conosco persone (e molte persone lo sanno) che hanno imparato Java da anni, ma non riescono a decidere quale sia meglio: Eclipse o NetBeans. Di conseguenza, sono rimasti al loro posto, non avendo imparato assolutamente nulla. E tutto perché hanno guardato al processo dalla parte sbagliata, credendo chiaramente che la radice del loro malinteso sulle basi della programmazione sia associata all'uso di un IDE scomodo.

Ti auguro di progredire, e quindi ti chiedo: non ripetere l'esperienza dei perdenti e non calpestare questi logori rastrelli altrui. Impara e inizia a programmare e lascia gli argomenti per dopo.

Selezione strumento utile- uno dei compiti principali del programmatore. E prima di tutto riguarda l'ambiente di sviluppo. IDE è diverso da semplice editore codice 4 cose:

  • Supporto un largo numero linguaggi di programmazione. Di norma, tutti nell'ambito del focus (web, mobile, desktop).
  • La presenza di un compilatore, un interprete per convertire le creazioni in codice macchina.
  • Utilità integrate per automatizzare il processo: librerie, modelli, frammenti, ecc.
  • Debugger per rilevare errori, refusi e altri pericoli.

Per un principiante nella programmazione, un editor che utilizza 1-2 linguaggi potrebbe essere sufficiente ed è meglio cogliere gli errori in modalità manuale per vederne gli effetti.

Ma una volta avviato lo sviluppo "per adulti", non puoi fare a meno di un buon IDE. Ed è positivo che sia gratuito. Ecco una selezione di 9 soggettivamente i migliori:

NetBean

Piattaforma: Windows/Mac/Linux

Descrizione: NetBeans è un IDE open source multipiattaforma progettato per essere eseguito in Java, ma supporta Python, JavaScript, Ruby, C, C++, Ada, PHP, HTML, CSS, XML, Groovy. L'ambiente consente di lavorare in tutte e tre le aree di sviluppo.

Eclisse

Piattaforma: Windows/Mac/Linux

Descrizione: un altro IDE popolare che non è legato al sistema operativo e, con l'aiuto di componenti aggiuntivi, supporta fino a 25 linguaggi di programmazione. In generale, il numero di librerie incluse rende Eclipse uno degli IDE più funzionali.

Microsoft Visual Studio Express

Piattaforma: Windows

Descrizione: troncato ma versione gratuita studio visivo. Per un principiante, le sue capacità sono più che sufficienti:

  • Sistema di completamento automatico IntelliSense.
  • Supporto C/C++/C#/Python/Ruby/VB.NET/JavaScript/HTML/CSS/XML.
  • Supporto per i sistemi di controllo della versione Git e TFS.
  • Integrazione con Azure.

codelite

Piattaforma: Windows/Mac/Linux

Descrizione: IDE multipiattaforma per lo sviluppo di software in C/C++, PHP e Node.js. Nonostante il suo minimalismo, soddisferà tutte le esigenze di base dello sviluppatore.

Codice::Blocchi

Piattaforma: Windows/Mac/Linux

Descrizione: 3 caratteristiche principali del codice::Blocchi:

  • Supporto per un gran numero di compilatori, inclusi MinGW/GCC, Watcom, Clang, Digital Mars C/C++ e debugger GNU GDB e MS CDB.
  • Strumento di sviluppo rapido di applicazioni (RAD) di wxSmith.
  • La libreria principale di wxWidgets semplifica lo sviluppo GUI nelle applicazioni.

Qt Creator

Piattaforma: Windows/Mac/Linux

Descrizione: Qt Creator è specializzato nel lavorare con C, C++ e QML, supporta gli stessi compilatori e debugger di Code:: Blocks. Funziona con tutti sistemi popolari controllo della versione: Subversion, Mercurial, Git, CVS, Bazaar, Perforce.

Studio Aptana

Piattaforma: Windows/Mac/Linux

Descrizione: Senza le librerie incluse, Aptana può funzionare solo con JavaScript, HTML e CSS. Supporta PHP, Python e Ruby con loro. Aptana si collega anche a Eclipse come plug-in, il che lo rende ancora più utile per un principiante.

WebScripter

Piattaforma: Mac

Descrizione: WebScripter è un IDE semplice e comprensibile per gli sviluppatori web "apple". Non è stato sviluppato per 5 anni, ma l'editor integrato, il debugger e il debugger sono sufficienti per iniziare.

PSPad

Piattaforma: Windows

Descrizione: un editor di codice che supporta oltre 30 linguaggi di programmazione, inclusi COBOL e Pascal. Ha la capacità di collegare un compilatore e un debugger esterni, che trasforma PSPad in un vero IDE.

Alcuni degli strumenti elencati sono utili solo per i primi passaggi dello sviluppo, ma non è necessario dedicare molto tempo all'apprendimento. Altri prevalgono sulle capacità della maggior parte dei concorrenti pagati, quindi possono diventare compagni per la vita, ma richiedono un lungo sviluppo.

Che scelta hai fatto?

Scrivere in Python usando IDLE o Python Shell è abbastanza utile quando si tratta di cose semplici, tuttavia, man mano che le dimensioni dei progetti crescono, la programmazione diventa una seccatura. L'uso di un IDE o anche di un buon editor di codice può semplificarti la vita. Ma la domanda è cosa scegliere?

In questo articolo, analizzeremo i principali strumenti che ti consentono di scrivere in Python. Non sceglieremo per te il modo migliore, ma considera i pro ei contro di ciascuno e aiuta a prendere una decisione informata.

Che cos'è un IDE e un editor di codice?

Un IDE (o ambiente di sviluppo integrato) è un programma progettato per lo sviluppo Software. Come suggerisce il nome, un IDE riunisce diversi strumenti progettati specificamente per lo sviluppo. Questi strumenti in genere includono un editor dedicato all'utilizzo del codice (come l'evidenziazione della sintassi e il completamento automatico); costruire, eseguire ed eseguire il debug di strumenti; e qualche forma di sistema di controllo della versione.

La maggior parte degli IDE supporta molti linguaggi di programmazione e ha molte funzionalità, che possono renderli grandi, richiedere molto tempo per il download e l'installazione e richiedono una conoscenza approfondita per usarli correttamente.

D'altra parte, ci sono editor di codice, che lo sono editor di testo con funzionalità di evidenziazione della sintassi e formattazione del codice. Maggioranza buoni editori i programmatori possono eseguire codice e utilizzare un debugger e i migliori possono persino interagire con i sistemi di controllo della versione. Rispetto a un IDE, un buon editor di codice è generalmente più leggero e veloce, ma spesso al costo di una minore funzionalità.

Requisiti per un buon ambiente di sviluppo

Quindi, di cosa abbiamo bisogno dall'ambiente di sviluppo? L'insieme delle funzioni dei diversi ambienti può differire, ma esiste un insieme di cose di base che semplificano la programmazione:

  • Salvataggio di file. Se un IDE o un editor non ti dà la possibilità di salvare il tuo lavoro e poi riaprire tutto nello stesso stato in cui si trovava quando lo hai chiuso, allora non è un tale IDE;
  • Esegui codice dall'ambiente. Allo stesso modo, se è necessario uscire dall'ambiente per eseguire codice, non è altro che un semplice editor di testo;
  • Supporto per il debug. La possibilità di scorrere il codice è funzione di base tutti gli IDE e la maggior parte dei buoni editor di codice;
  • Evidenziazione della sintassi. Possibilità di trovare rapidamente parole chiave, variabili, ecc. facilitano la lettura e la comprensione del codice di un ordine di grandezza;
  • Formattazione automatica del codice. Qualsiasi editor o IDE che effettivamente lo fa riconoscerà i due punti dopo un po' o per l'espressione e farà rientrare automaticamente la riga successiva.

Naturalmente, ci sono molte altre funzionalità che non rifiutereste, ma quelle sopra sono le caratteristiche principali che dovrebbero avere buon ambiente sviluppo.

Ora diamo un'occhiata ad alcuni strumenti scopo generale, che può essere utilizzato per lo sviluppo di Python.

Editor e IDE con supporto Python

eclissi + pydev

Se sei vicino alla comunità open source, probabilmente hai sentito parlare di Eclipse. Disponibile per Linux, Windows e OS X, Eclipse è l'IDE open source de facto per lo sviluppo Java. Ci sono molte estensioni e componenti aggiuntivi che rendono Eclipse utile per diverso tipo compiti.

Una di queste estensioni è PyDev, che fornisce una console Python interattiva e funzionalità di debug e completamento del codice. L'installazione è semplice: avvia Eclipse, seleziona Aiuto → Eclipse Marketplace, quindi cerca PyDev. Fai clic su "Installa" e riavvia Eclipse se necessario.

Vantaggi A: Se hai già installato Eclipse, l'installazione di PyDev sarà rapida e semplice. In utente avanzato Eclipse non avrà problemi ad apprendere questa estensione.

svantaggi: Se hai appena iniziato con Python o lo sviluppo in generale, Eclipse può essere travolgente. Ricorda che abbiamo detto che gli IDE sono grandi e richiedono più esperienza per essere eseguiti. pieno utilizzo? Tutto questo si può dire di Eclipse.

Testo sublime

Tipo: editor di codice
Sito web: http://www.sublimetext.com

Sublime Text, scritto da un ingegnere di Google con il sogno di un editor di testo migliore, è abbastanza editore popolare codice. Disponibile su tutte le piattaforme, Sublime Text ha il supporto integrato per la modifica del codice Python, nonché un ricco set di estensioni chiamate pacchetti che estendono la sintassi e le capacità di modifica.

L'installazione di un pacchetto Python aggiuntivo può essere complicato: tutti i pacchetti di Sublime Text sono scritti in Python, quindi l'installazione dei pacchetti della community può spesso richiedere l'esecuzione di uno script Python direttamente nell'editor.

Vantaggi:nel testo sublime un gran numero di fan. Come editor di codice, Sublime Text è veloce, leggero e ben supportato.

svantaggi: Sublime Text non è gratuito anche se puoi usarlo periodo di prova quanto vuoi. L'installazione di estensioni può trasformarsi in un'altra missione. Inoltre, l'editor non supporta il debug e l'esecuzione di codice.

atomo

Tipo: editor di codice
Sito web: https://atom.io/

Disponibile su tutte le piattaforme, Atom è stato definito "l'editor di testo hackerabile del 21° secolo". Atom è scritto utilizzando Electron, un framework per la creazione di applicazioni desktop multipiattaforma utilizzando JavaScript, HTML e CSS e ha molte estensioni. Il supporto Python può anche essere abilitato utilizzando un'estensione che può essere installata direttamente in Atom.

Vantaggi: supporto su tutte le piattaforme grazie a Electron. Atom è leggero e si scarica e si carica rapidamente.

svantaggi: il supporto per la compilazione e il debug non è integrato, ma viene aggiunto tramite estensioni. Poiché Atom è scritto con Electron, viene sempre eseguito come un processo JavaScript, non come app nativa.

GNU Emacs

Tipo: editor di codice
Sito web: https://www.gnu.org/software/emacs/

Molto prima della guerra tra iPhone e Android, prima della guerra tra Linux e Windows, anche prima della guerra tra PC e Mac, c'era una guerra tra editori con GNU Emacs come una delle parti in guerra. Descritto come "un editor di testo estensibile, personalizzabile e autodocumentante", GNU Emacs è in circolazione da quasi quanto UNIX e ha guadagnato molti fan.

Disponibile gratuitamente su ogni piattaforma (in una forma o nell'altra), GNU Emacs utilizza il linguaggio Lisp per la personalizzazione. Naturalmente, ci sono anche script di personalizzazione per Python.

Vantaggi: conosci Emacs, usi Emacs, ami Emacs. Lisp è la tua seconda lingua e sai che puoi farci qualsiasi cosa.

svantaggi: personalizzazione significa scrivere (o copiare e incollare) codice Lisp in vari script. Se non ce ne sono, potrebbe essere necessario imparare il Lisp per capirlo.

Vi/Vim

Tipo: editor di codice
Sito web: https://www.vim.org/

Dall'altra parte della guerra editoriale c'è VI/VIM. Disponibile per impostazione predefinita su quasi tutti i sistemi UNIX e Mac OS X, VI ha conquistato altrettanti fan. VI e VIM sono editor modali che separano la visualizzazione di un file dalla modifica. VIM include tutto ciò che è in VI, oltre ad alcuni miglioramenti come la disponibilità delle estensioni. Per tutti i tipi di attività Python, puoi utilizzare VIMScript.

Vantaggi: hai familiarità con VI, usi VI, ami VI. I VIMScript non ti spaventano e sai come piegarli alla tua volontà.

svantaggi: come con Emacs, non sei molto a tuo agio nella ricerca o nello scripting per aggiungere capacità di sviluppo Python e non ne hai la minima idea come dovrebbe funzionare un editor modale in generale.

studio visivo

Vantaggi Nota: come con Eclipse, se hai già installato Visual Studio per altre attività, PTVS verrà installato senza problemi.

svantaggi: come con Eclipse, Visual Studio è un po' troppo se tutto ciò di cui hai bisogno è Python. Inoltre, se stai usando Linux, sei sfortunato: non esiste Visual Studio per quella piattaforma.

Codice di Visual Studio

Tipo: editor di codice
Sito web: https://code.visualstudio.com/
Strumenti Python: https://marketplace.visualstudio.com/items?itemName=ms-python.python

Visual Studio Code (da non confondere con Visual Studio) è un editor di codice completo disponibile in Windows, Linux e Mac OS X. VS Code è un editor open source estensibile che può essere personalizzato per qualsiasi attività. Come Atom, VS Code è basato su Electron, quindi presenta gli stessi vantaggi e svantaggi.

Aggiungere il supporto Python a VS Code è facile: cerca "Python" nel Marketplace, fai clic su "Installa" e riavvia l'editor se necessario. VS Code rileverà automaticamente l'interprete Python e le librerie installate.

Vantaggi R: Grazie a Electron, VS Code è disponibile su tutte le piattaforme con funzionalità straordinariamente eccezionali. Inoltre, il codice sorgente può essere trovato nel pubblico dominio.

svantaggi: se Electron è coinvolto, VS Code non è un'applicazione nativa. Inoltre, la religione di alcune persone impedisce loro di utilizzare i prodotti Microsoft.

Editor e IDE progettati per Python

PyCharm

Uno dei migliori IDE con funzionalità complete specifici per Python è PyCharm. Esiste come open source gratuito Opzioni IDE (Community) e a pagamento (Professionali). PyCharm è disponibile su Windows, Mac OS X e Linux.

PyCharm supporta lo sviluppo di Python direttamente fuori dagli schemi: apri nuovo file e inizia a scrivere il codice. Puoi eseguire ed eseguire il debug del codice direttamente da PyCharm. Inoltre, l'IDE ha il supporto per i progetti e un sistema di controllo della versione.

Vantaggi: Questo è un ambiente di sviluppo per Python con supporto per qualsiasi cosa e una buona comunità. In esso, immediatamente, puoi modificare, eseguire ed eseguire il debug del codice Python.

svantaggi R: PyCharm potrebbe caricarsi lentamente e potrebbe essere necessario modificare le impostazioni predefinite per i progetti esistenti.

Spyder

Spyder è un IDE open source per Python ottimizzato per la scienza dei dati. Spyder viene fornito in bundle con il gestore di pacchetti Anaconda, quindi è possibile che tu lo abbia già installato.

La cosa interessante di Spyder è che lo è pubblico di destinazione sono data scientist che usano Python. Ad esempio, Spyder funziona bene con librerie di data science come SciPy, NumPy e Matplotlib.

Spyder ha tutte le funzionalità che ti aspetteresti da un IDE standard, come un editor di codice con evidenziazione della sintassi, completamento del codice e persino un browser di documentazione integrato.

Una caratteristica distintiva di Spyder è la presenza di un esploratore variabile. Ti permette di visualizzare i valori delle variabili sotto forma di tabella direttamente all'interno dell'IDE. Anche l'integrazione con IPython/Jupyter funziona bene.

A proposito di Spyder, possiamo dire che è più "con i piedi per terra" rispetto ad altri IDE. Può essere visto come uno strumento per scopo specifico, non come ambiente di sviluppo principale. La cosa fantastica è che è gratuito, open source e disponibile su Windows, macOS e Linux.

Vantaggi: sei un data scientist che usa Anaconda.

svantaggi: Gli sviluppatori Python più esperti potrebbero trovare Spyder non abbastanza funzionale lavoro quotidiano e fare la loro scelta a favore di un IDE o editor più funzionale.

Tonny

Thonny è chiamato IDE per principianti. Scritto e mantenuto dall'Istituto di Informatica dell'Università di Tartu in Estonia, Thonny è disponibile su tutte le principali piattaforme.

Per impostazione predefinita, Tonny è installato con la versione in bundle di Python, quindi non è necessario installare nient'altro. Gli utenti avanzati potrebbero dover modificare questa impostazione affinché l'IDE possa trovare e utilizzare le librerie già installate.

Vantaggi: Sei un programmatore Python principiante e hai bisogno di un IDE con cui puoi entrare immediatamente in battaglia.

svantaggi: gli utenti avanzati non avranno funzionalità sufficienti e sostituiranno l'interprete integrato. Inoltre, data la novità dell'IDE, potrebbero esserci problemi che possono essere risolti questo momento no.

Quindi quale scegliere?

  • I pitonisti principianti dovrebbero prendere qualcosa con la minima quantità di personalizzazione. Meno ostacoli, meglio è;
  • Se usi già qualche editor per altre attività, guarda agli editor di codice;
  • Bene, se hai già un IDE per un'altra lingua, prova ad aggiungere il supporto Python ad esso.

Ti interessa anche il web? Quindi dai un'occhiata al nostro simile per lo sviluppo web.

Articoli correlati in alto