PDA

View Full Version : [Ambiente di Sviluppo] IDE vs TextEditor


Raghnar-The coWolf-
30-04-2013, 12:43
Dato che c'e' molta gente che programma per vivere, volevo opinioni sullo spinoso argomento.

Personalmente e' da una vita che programmo con gedit, un'infarinatura di vim quanto basta. Ho sempre avuto la sensazione di stare facendo qualcosa di giurassico fondamentalmente, assaltare un carrarmato con una clava, e volevo iniziare a usare una IDE di qualche tipo (fondamentalmentale per me e' che giri sotto linux, quindi verosimilmente eclipse), forse e' quello che si prova in generale a programmare pero' . Ma leggo in giro molte opinioni favori al buon vecchio editor testuale, come VIM o ancora meglio Emacs.

Ora imparare emacs da utilizzatore di VIM e' un po' come imparare a scrivere con una tastiera DVORAK dopo anni di QWERTY, o se vogliamo a guidare un'aeroplano con tutti i comandi in posizioni diverse da quelle cui sei abituato, quindi ne deve valere veramente la pena... Cosi' come d'altronde imparare a usare un IDE non e' cosi' rapido e semplice...

Voi cosa usate? Perche'?

Io e' anche vero che non programmo moltissimo, o meglio, alla fine quando si programma simulazioni di fisica la parte di "programmazione" e' solo una percentuale del lavoro e non troppo consistente, ma il mio personale programma oramai arriva alle 5/6 mila righe, ne ho uno da usare che e' di circa 50 mila (molto molto molto mal scritte) comprese di librerie...

idoido
30-04-2013, 12:50
la domanda secondo me non si pone.
Perché non dovrei usare un IDE che mi semplifica e facilita alcune operazioni quando ne ho la disponibilità? è uno strumento, ce ne sono pure di gratuiti perché non usarlo?
io che programmo in ambiente win con visual studio sarò anche di parte, ma è come usare una TV, mi posso alzare e pigiare il pulsantino sul lato per cambiare canale e/o il volume, oppure me ne sto sul divano e uso un telecomando.
non usare il telecomando non implica niente se poi uno alla fine guarda reality trash :D

cdimauro
30-04-2013, 14:10
Posso dire la stessa cosa, ma di Sublime Text 2. Non è un IDE vero e proprio, ma come editor ha tante di quelle funzionalità, che gli manca poco.

In ogni caso, e per rispondere al tema del thread: siamo nel 2013. Non si può pensare di continuare a usare la clava. Se uno strumento ti consente di lavorare più comodamente e in maniera più produttiva, è da stupidi non usarlo.

Cait Sith
30-04-2013, 16:22
Io uso netbeans. Avevo imparato ad usarlo nel corso di java come ide quasi naturale, soprattutto per fare interfacce grafiche. Poi ho visto che aveva il plugin per il C/C++, l'ho provato a dato che ero già abituato mi sonotro trovato bene.

I pro sono:
- è gratuito
- si può installare su qualsiasi sistema operativo (io lo uso su linux) anche su arm volendo, anche se è vero che su windows supporta solo il compilatore cygwin o mingw, il compilatore microsoft non è supportato

I contro:
- è scritto in java e il caricamento iniziale non è velocissimo, anche se come reattività mi sembra un po' meglio di eclipse

U-Boat
30-04-2013, 19:17
Quando programmo in Java uso sempre Eclipse e mi trovo benissimo. In particolare mi è vitale la possibilità di tenere nel workspace diversi progetti e l'IDE è in grado di fare ricerche e, soprattutto, refactoring considerando anche le interdipendenze tra i progetti stessi.

Con Ruby invece mi divido tra Sublime Text e RubyMine.
Il primo, come conferma Cesare, è davvero comodo e pieno di funzionalità e lo preferisco per progetti piccoli senza Rails, mentre RubyMine è ormai il mio default per i progetti Rails. Considerando che è costano all'azienda 180€ direi che si è ampiamente ripagato e aiuta tantissimo specialmente quando il progetto iniziare a crescere un po' di dimensioni.

kwb
30-04-2013, 19:24
Java/Python: Eclipse ( Python con il plugin Pydev )
C/C++: Code::Blocks

Per il resto non saprei :)

A me personalmente l'unica cosa che interessa è l'autocompletamento delle funzioni. Con C magari no, ma con linguaggi imponenti e pieni zeppi di librerie come Python e Java ( C++ non so perchè non lo conosco ) diventa veramente difficile ricordarsi tutto a memoria. Con C invece con un bel K&R vicino te la cavi agile...

Raghnar-The coWolf-
30-04-2013, 19:52
Grazie 1000 per le risposte!
Banali plugin di gedit, emacs e vim includono autocompletamento, templates, consolle di comando, makefile running.

Quali sarebbero gli effettivi vantaggi di un IDE? C'è la possibilità di linkarlo a un debugger ad esempio?

PS: programmo in C++ ma soprattutto Fortran.

kwb
30-04-2013, 21:51
Grazie 1000 per le risposte!
Banali plugin di gedit, emacs e vim includono autocompletamento, templates, consolle di comando, makefile running.

Quali sarebbero gli effettivi vantaggi di un IDE? C'è la possibilità di linkarlo a un debugger ad esempio?

PS: programmo in C++ ma soprattutto Fortran.

Code::Blocks compila in automatico ( premendo l'apposito tastino :D ) e ha il debugger integrato. Anche Eclipse.

gugoXX
30-04-2013, 23:06
Intellisense (fondamentale)
Debug integrato (fondamentale)
Possibilita' di attaccarsi ad un processo gia' in esecuzione, per debuggarlo al volo.
Integrazione con Source Safe Systems (fondamentale)
Test integrati
Analizzatore di sintassi con correttore
Integrazione con compilatori specifici del linguaggio (fondamentale)
Integrazione con precompilatori per controllo di coding standard
Integrazione e conoscenza della struttura delle soluzioni a piu' file specifici del linguaggio (fondamentale)
Template
Editor visuali per componenti GUI
Integrazione con componenti stile Project, per la progettazione, la condivisione e la risoluzione di unita' di lavoro da parte di un team.
Integrazione con componenti di ticketing per bugs.
Snippets (shortcut che una volta digitate aggiungono pezzi standard di codice)

Queste direi la maggior parte delle facilities di un IDE usate a livello professionale da parte di un team di lavoro.

-Slash
30-04-2013, 23:45
Posso dire la stessa cosa, ma di Sublime Text 2. Non è un IDE vero e proprio, ma come editor ha tante di quelle funzionalità, che gli manca poco.

In ogni caso, e per rispondere al tema del thread: siamo nel 2013. Non si può pensare di continuare a usare la clava. Se uno strumento ti consente di lavorare più comodamente e in maniera più produttiva, è da stupidi non usarlo.
Che plugin hai installato su sublime per python? :D

vendettaaaaa
30-04-2013, 23:50
Grazie 1000 per le risposte!
Banali plugin di gedit, emacs e vim includono autocompletamento, templates, consolle di comando, makefile running.

Quali sarebbero gli effettivi vantaggi di un IDE? C'è la possibilità di linkarlo a un debugger ad esempio?

PS: programmo in C++ ma soprattutto Fortran.
:eek: Programmi in Fortran senza debugger? Ma è un suicidio! :D
Io per lavoro uso VS2008 Professional con Intel Visual Fortran 2010. I vantaggi dell'IDE sono: il debugger, soprattutto avere la possibilità di visualizzare i valori delle variabili durante l'esecuzione, e la comodità in fase di ricompilazione ad ogni piccola modifica. E anche poter utilizzare Subversion per salvare il codice in rete.
Per il Fortran si fermano qui, per il C++ ce ne sono altri (ad esempio, potersi muovere nelle funzioni sfruttando lo scope, l'auto completamento, l'intellisense...). ODIO FORTRAN!

cdimauro
01-05-2013, 04:33
Che plugin hai installato su sublime per python? :D
Nessuno, a parte uno per aprire link sul browser, che ho adattato da un esempio.

Comunque mi vien voglia di scrivere qualche altro plugin per lo unit testing, che è l'unico motivo per cui accanto a ST2 uso Eric, ma al momento non ho proprio tempo.

A parte questo, mi farebbe comodo un plugin per controllare la sintassi del sorgente attuale, e segnalarmi gli errori, interfacciandosi con roba come PyLint, PyFlake, o altro. Da eseguire dopo il salvataggio o dopo qualche secondo di idle (nessuna attività sul sorgente e/o dagli input degli utenti).

Con questi sarei a posto, e potrei buttare via Eric.

Raghnar-The coWolf-
01-05-2013, 08:45
:eek: Programmi in Fortran senza debugger? Ma è un suicidio! :D

Abbastanza, comunque non ne ho mai sentito particolarmente l'esigenza tranne in alcuni casi, e l'avvio di un debugger separato non è un grosso problema... Però appunto magari è sempre la storia della clava :)

VICIUS
01-05-2013, 12:25
Mi trovo spesso a dover combattere con un mostro da circa 2 milioni di righe di codice che ha alle spalle 13 anni di modifiche e pezze. È un abominio scritto nel peggior php, html, javascript che si possa immaginare. Senza un buon ide con un debugger visuale per php e js finirei per morire tra le sue spire.

Ho un paio di colleghi che si ostinano a lavorare direttamente sul server di sviluppo con vi e li vedo spesso perdere intere giornate ad inserire echo "qui"; echo "qua"; per poi scoprire che il file in questione è lanciato tramite una fork su più processi quindi non possono affidarsi sull'ordine dei messaggi per capire cosa sta succedendo. :muro:

La maggior parte delle funzioni di intellij le potrei replicare anche con un editor più programmi esterni. Però avere tutto a portata di tastiera nello stesso ambiente mi ha reso molto più rapido. Poi ho notato che non dover cambiare cambiare costantemente programma mi aiuta a rimanere concentrato sul problema.

Raghnar-The coWolf-
01-05-2013, 13:45
Per ora ho scaricato Eclipse + Phortran sul mio personal, vediamo come si comporta prima di chiedere all'admin (ovvero il mio professore) di installarlo sul desktop

Comunque riguardo alle righe mal scritte non avete idea di cosa abbia fra le mani.

Anzichè usare un banalissimo CASE o almeno elseif concatenati, no... GOTO. scriptato in modo allucinante in modo che l'input numerico che sarebbe il flag del programma dica di quanti passi avanzare per arrivare al goto che poi arriva al caso che si vuole trattare.
Ad esempio caso 32 => vai al 32esimo goto al flag 24 che corrisponde 198esima riga. Caso 33 => vai al 33esimo goto che manda al flag 127 che corrisponde alla 16 riga. Ci sono una 60ina di casi possibili... che ovviamente oramai non corrispondono più a quelli documentati 2 anni fa e non hanno alcuna correlazione con l'ordine originale di concepito magari 30 anni fa... Questo solo per inizializzare il programma dall'input... vi lascio immaginare il resto... Da spararsi.

Raghnar-The coWolf-
01-05-2013, 19:55
Però porca miseria è tutto il giorno che ci sono sopra a cercare di installare questo eclipse e ancora non funziona come si deve... -.-'

PS: su Windows, su Linux sembra filare più liscio...

VICIUS
01-05-2013, 19:59
Che problemi hai? Non sono un gran fan di eclipse ma è strano che ti dia problemi. Da quello che ricordo bastava scaricare lo zip dal sito, estrarlo e fare doppio click su eclipe.exe.

kwb
01-05-2013, 20:29
Però porca miseria è tutto il giorno che ci sono sopra a cercare di installare questo eclipse e ancora non funziona come si deve... -.-'
C'è da dire che l'installazione dei plugin ( e della loro corretta configurazione ) non è tra le più semplici. Almeno, quando ho installato pydev ho avuto parecchi problemi e mi è stato necessario provare più volte prima di farlo funzionare correttamente ( interprete, grammatica, librerie eccc... )

vendettaaaaa
01-05-2013, 20:46
Per ora ho scaricato Eclipse + Phortran sul mio personal, vediamo come si comporta prima di chiedere all'admin (ovvero il mio professore) di installarlo sul desktop

Comunque riguardo alle righe mal scritte non avete idea di cosa abbia fra le mani.

Anzichè usare un banalissimo CASE o almeno elseif concatenati, no... GOTO. scriptato in modo allucinante in modo che l'input numerico che sarebbe il flag del programma dica di quanti passi avanzare per arrivare al goto che poi arriva al caso che si vuole trattare.
Ad esempio caso 32 => vai al 32esimo goto al flag 24 che corrisponde 198esima riga. Caso 33 => vai al 33esimo goto che manda al flag 127 che corrisponde alla 16 riga. Ci sono una 60ina di casi possibili... che ovviamente oramai non corrispondono più a quelli documentati 2 anni fa e non hanno alcuna correlazione con l'ordine originale di concepito magari 30 anni fa... Questo solo per inizializzare il programma dall'input... vi lascio immaginare il resto... Da spararsi.
Purtroppo Fortran è il linguaggio degli ignoranti di programmazione che necessitano di uno strumento per eseguire calcoli scientifici. Inizialmente lo usavo anch'io in questo modo perverso, perchè chi lo usa non ha quasi mai programmato usando altro e in altri ambiti, quindi sembra divertente poter costruire logiche perverse giocando con goto e altre minchiate, perchè non ci si rende conto che il codice diventa peggio che ostrogoto e impossibile da tramandare. Questo perchè chi usa Fortran lavora principalmente da solo per farsi modelli matematici di calcolo e così si scrive il suo codice. E chi invece sa qualcosa di programmazione non userebbe mai Fortran, al giorno d'oggi, tranne in rarissimi casi dove le performance sono tutto (ma io non lo userei neanche lì, meglio rallentare un pelo e usare C++ che è infinitamente più potente, sicuro e facile da scrivere).
Questa è tutta empatia, visto che anch'io lavoro su uno spaghetti code del genere, in Fortran :muro:

Tornando in topic, ho provato anch'io Eclipse con Phortran, ma non è per nulla intuitivo, perlomeno venendo da VS, quindi fossi in te userei VS 2010 con IVF 2011. Essendo in università, dovresti avere accesso gratuito a VS 2010 e credo anche a IVF. Altrimenti il vecchio Compaq Visual Fortran 6 unito a Visual Studio 6 hanno sempre funzionato molto bene per me. Però vanno al massimo su XP, da Vista in poi ci vuole una macchina virtuale con XP.

kwb
01-05-2013, 22:15
Come ha detto nel primo post, necessita che l'IDE giri su Linux :D

Raghnar-The coWolf-
01-05-2013, 23:03
Purtroppo Fortran è il linguaggio degli ignoranti di programmazione che necessitano di uno strumento per eseguire calcoli scientifici. Inizialmente lo usavo anch'io in questo modo perverso, perchè chi lo usa non ha quasi mai programmato usando altro e in altri ambiti, quindi sembra divertente poter costruire logiche perverse giocando con goto e altre minchiate, perchè non ci si rende conto che il codice diventa peggio che ostrogoto e impossibile da tramandare. Questo perchè chi usa Fortran lavora principalmente da solo per farsi modelli matematici di calcolo e così si scrive il suo codice. E chi invece sa qualcosa di programmazione non userebbe mai Fortran, al giorno d'oggi, tranne in rarissimi casi dove le performance sono tutto (ma io non lo userei neanche lì, meglio rallentare un pelo e usare C++ che è infinitamente più potente, sicuro e facile da scrivere).
Questa è tutta empatia, visto che anch'io lavoro su uno spaghetti code del genere, in Fortran :muro:

Mah a me sta simpatico il Fortran se devo essere sincero. Lo trovo un linguaggio funzionale alla matematica e alla fisica. Senza troppi fronzoli, molto lineare.
Il problema vero rimane la gente che, più che non "saper programmare", non si mette nei panni di chi poi dovrà rileggere il codice e non si prende la briga di sbrogliare il casino che ha nel cervello per scrivere qualche riga di codice in più per evitare i goto, qualche commento nei passaggi più difficili. Solo che finchè si prende il codice fatto da uno che ha imparato a programmare con le schede perforate e non si è mai preso la briga di adeguarsi ai tempi, ci credo che mi ritrovo le condizioni If che numerano goto che mandano a label (che è il "case" delle schede perforate).

Il Fortran da un lato spinge molto sulla semplificazione del linguaggio, evitando classi, limitando le strutture e puntatori, quello che c'è c'è, ed è sufficiente per fare della matematica.
Dall'altro è un linguaggio che si porta dietro l'eredità di mezzo secolo (oramai intero) di sviluppo, di cui un decennio in concomitanza con sistemi a nastro e a schede perforate con cui si doveva interfacciare, con strutture oramai desuete da supportare (e sopportare per chi se lo ritrova fra le mani).

Un fortran molto pulito, con modulini, subroutines, funzioni, completamente scevro di goto (se non come loop break) è un piacere a leggersi.

Tornando in topic, ho provato anch'io Eclipse con Phortran, ma non è per nulla intuitivo, perlomeno venendo da VS, quindi fossi in te userei VS 2010 con IVF 2011. Essendo in università, dovresti avere accesso gratuito a VS 2010 e credo anche a IVF. Altrimenti il vecchio Compaq Visual Fortran 6 unito a Visual Studio 6 hanno sempre funzionato molto bene per me. Però vanno al massimo su XP, da Vista in poi ci vuole una macchina virtuale con XP.

Purtroppo volevo avere un IDE che funzionasse su Linux, cioè sulle macchine desktop dei miei gruppi di ricerca

vendettaaaaa
02-05-2013, 00:11
Ah ecco, mi pareva di aver letto che deve andare su Linux ma non ne ero sicuro...cmq c'è sempre VMWare, se Eclipse fa schifo :D

Per il Fortran: se il programma si limita a risolvere sistemi di equazioni, posso essere d'accordo. O meglio, se il codice C++ equivalente non sfrutta caratteristiche diverse da quelle del Fortran (cioè il codice contiene solo cicli, if, e altre cose base), va bene.
Se invece si vuole simulare ad esempio un sistema con varie apparecchiature e flussi (diciamo materiali), anzichè usare matrici enormi che contengano le varie proprietà fisiche di tutti i flussi, o altro, diventa un casino ed è molto meglio incapsulare tutto ciò che riguarda una corrente materiale in un oggetto di una classe apposita. Il software su cui lavoro contiene decine di queste matrici, per le correnti materiali, le apparecchiature, ecc...e per correlarle tra loro ci sono altri vettori o matrici di indici...roba allucinante, quando basterebbe ad esempio creare un oggetto di classe PompaCentrifuga che contenga due puntatori a oggetti Stream che sarebbero ingresso e uscita.
Spero di aver reso l'idea :D

VICIUS
02-05-2013, 09:56
Come ha detto nel primo post, necessita che l'IDE giri su Linux :D

Ancora meglio.

Raghnar-The coWolf- eclipse c'è di sicuro nel packet manager della tua distribuzione. Quindi non devi scaricare niente. Fa tutto linux da solo.

Tommo
02-05-2013, 12:51
Quando mi sono trovato a sviluppare per Linux (in C++) incredibilmente la mancanza più grande è stata proprio un'IDE che funzionasse bene...

Code::Blocks e Qt Creator fanno il loro lavoro ma sono ancora parecchio inaffidabili e poco documentati su internet (e brutti e poco usabili) etc, e in genere sono anni luce inferiori a Visual Studio... e chiunque dica che non è vero non lo sa usare :asd:

A parte questo, non riesco veramente a capire come può la gente lavorare senza un debugger con feature base come step-by-step e stack inspection nel 2013, significa veramente farsi del male.
Eppure sono tanti, e nel caso dei linguaggi "di scripting" quasi tutti :stordita:

kwb
02-05-2013, 13:01
Eppure sono tanti, e nel caso dei linguaggi "di scripting" quasi tutti :stordita:

C'è da dire che secondo me nel caso di alcuni linguaggi di scripting avere un debugger è più difficile.
Io personalmente, i linguaggi di scripting che conosco sono 3: Bash , JS e Python.
Eccetto l'ultimo gli altri due non ho la minima idea di come e se sia possibile effettuare un debugging step-by-step con un apposito programma/"contro-script". E questo secondo me è dovuto al fatto che per Bash e JS usi generalmente ( almeno io ) un text-editor. Soprattuto con bash, dove basta dare un man nomefunzione per avere tutto ciò che ti serve.:)

tomminno
02-05-2013, 13:20
C'è da dire che secondo me nel caso di alcuni linguaggi di scripting avere un debugger è più difficile.
Io personalmente, i linguaggi di scripting che conosco sono 3: Bash , JS e Python.
Eccetto l'ultimo gli altri due non ho la minima idea di come e se sia possibile effettuare un debugging step-by-step con un apposito programma/"contro-script". E questo secondo me è dovuto al fatto che per Bash e JS usi generalmente ( almeno io ) un text-editor. Soprattuto con bash, dove basta dare un man nomefunzione per avere tutto ciò che ti serve.:)

Con Visual Studio fai il debug pure dei js :D

Raghnar-The coWolf-
02-05-2013, 15:04
Ancora meglio.

Raghnar-The coWolf- eclipse c'è di sicuro nel packet manager della tua distribuzione. Quindi non devi scaricare niente. Fa tutto linux da solo.

1- Io ho bisogno di Eclipse Parallels, per il calcolo parallelo ed il fortran. Ed il Plugin Phortran.
2- Comunque le versioni associate alle varie distro mi sembrano antidiluviane. Sul mio linuxmint della virtual machine mi si e' installata la 3.5, ora sono alla 4.2
3- Comunque mi sembra non riesca a far funzionare come si deve le funzioni dell'editor... anche solo il folding, autocomplete o la preview delle variabili non funzionano, il debugger non si vuole fermare ai breakpoints (forse perche' non riesco a compilarlo come debugging), figurarci il resto...

VICIUS
02-05-2013, 15:11
Mint, se non ricordo male, è basata su Debian quindi ci sta che sia un po' datata. Preferiscono stabilità ad ogni costo. Però ho dato un occhiata su Ubuntu ma anche li sembra siano fermi alla 3.8. Non conosco abbastanza Eclipse ma mi sembra strano che siano tutti quanti fermi ad una versione così precedente.

marco.r
02-05-2013, 15:16
1- Io ho bisogno di Eclipse Parallels, per il calcolo parallelo ed il fortran. Ed il Plugin Phortran.
2- Comunque le versioni associate alle varie distro mi sembrano antidiluviane. Sul mio linuxmint della virtual machine mi si e' installata la 3.5, ora sono alla 4.2
3- Comunque mi sembra non riesca a far funzionare come si deve le funzioni dell'editor... anche solo il folding, autocomplete o la preview delle variabili non funzionano, il debugger non si vuole fermare ai breakpoints (forse perche' non riesco a compilarlo come debugging), figurarci il resto...

Quando ho dovuto usare eclipse raramente ho usato la versione disponibile su repo della distribuzione.
Sempre scaricato la versione dal sito web e lanciato quella da una cartella utente. E'anche piu'semplice tenere aggiornati i vari plugin.

cdimauro
02-05-2013, 15:21
Con Visual Studio fai il debug pure dei js :D
Anche di Python, se non ricordo male. Lo fanno anche molti altri IDE che supportano questo linguaggio. ;)

marco.r
02-05-2013, 15:29
C'è da dire che secondo me nel caso di alcuni linguaggi di scripting avere un debugger è più difficile.
Io personalmente, i linguaggi di scripting che conosco sono 3: Bash , JS e Python.
Eccetto l'ultimo gli altri due non ho la minima idea di come e se sia possibile effettuare un debugging step-by-step con un apposito programma/"contro-script". E questo secondo me è dovuto al fatto che per Bash e JS usi generalmente ( almeno io ) un text-editor. Soprattuto con bash, dove basta dare un man nomefunzione per avere tutto ciò che ti serve.:)

Con un linguaggio di scripting e'piu' facile sperimentare con parti di codice mediante la linea di comando interattiva, per cui molti dei problemi per cui con un linguaggio compilato serve il debugger lo risolvi in questo modo.
Un discorso a parte e' JS dove dell'interprete di linea di comando te ne fai poco, ed usare il browser per questi test trovo sia alquanto scomodo.

kwb
02-05-2013, 16:13
Cmq in Eclipse per fare il debug devi prima mettere un breakpoint su una riga e poi schiacciare il pulsantino con l'insetto ( il bug appunto :D ) non il tasto "Play" :p

Raghnar-The coWolf-
02-05-2013, 18:21
Cmq in Eclipse per fare il debug devi prima mettere un breakpoint su una riga e poi schiacciare il pulsantino con l'insetto ( il bug appunto :D ) non il tasto "Play" :p

lo so, ma non succede. Grazie comunque del consiglio. :)