dipendente da IDE. Come può farmi del male?

26

Sono altamente sviluppatore dipendente da IDE (NetBeans ed Eclipse poiché sono uno sviluppatore di JAVA). Posso codificare correttamente se ho un IDE. Posso contare molto su questo per lo sviluppo, il debug e l'implementazione. Ma senza IDE non posso fare nulla. È possibile codificare un semplice programma Hello World o una semplice interfaccia utente, ma ho bisogno di un IDE per fare cose complesse o una lunga codifica di cose più semplici.

Pensi che mi faccia male? Alcuni programmatori che hanno più di 6 anni di esperienza nello sviluppo credono fermamente che possa essere pericoloso, ma penso che se riesco a fare alcune cose complesse rapidamente e correttamente, perché dovrei attenermi a Notepad e agli strumenti della riga di comando per eseguire un'attività che richiede tempo quando Gli IDE hanno un clic per farlo?

    
posta Prasham 25.01.2011 - 13:03
fonte

13 risposte

14

Come altri hanno già detto, va bene essere più veloci nel tuo IDE che senza di esso, questo è il punto. Essere in grado di utilizzare correttamente strumenti complessi per aumentare la produttività è un'abilità importante.

Tuttavia, un'eccessiva dipendenza dagli IDE può causare problemi. Le abilità e le conoscenze che non si esercitano più svaniranno e la comprensione di alcuni aspetti potrebbe essere superficiale. Un esempio classico è la compilazione e l'esecuzione sulla riga di comando - quasi ogni volta che faccio ciò, ottengo qualcosa di sbagliato (di solito relativo al percorso della classe), perché il 99% delle volte lascio che Eclipse lo faccia per me.

Questo non influisce solo su di te quando sei fuori dall'IDE - se la tua conoscenza delle complessità che l'IDE ti sta nascondendo è superficiale, allora quando va storto (e andrà male, ad un certo punto) lo troverai molto più difficile da risolvere.

Gestisco questi due modi:

  1. Scopri nuovi strumenti nella loro forma più semplice. Ad esempio, sono passato da SVN a Mercurial, ma ho iniziato con il client della riga di comando piuttosto che con il plugin Eclipse. Questo mi ha fatto capire cosa stava succedendo molto più a fondo, il che significava che sapevo cosa stava andando storto e come risolverlo quando l'IDE lanciava errori.

  2. Esercita le tue abilità di codifica di base sulla riga di comando. Un bel posto per farlo è CodingBat dove non viene evidenziata la sintassi, nessuna parentesi quadra, nessuna sottolineatura rossa, niente. Non dimenticare di esercitarti anche con le abilità da riga di comando di java e javac! (E ogni altro adatto al tuo flusso di lavoro - per me, questo includerebbe anche hg e ant)

Infine, non preoccuparti troppo. È improbabile che tu debba fare un grande lavoro senza NetBeans o Eclipse, quindi finché sei capace di codifica senza di essi, e capisci quali L'IDE sta facendo per te, non importa che tu sia più lento o faccia più errori senza di esso.

    
risposta data 25.01.2011 - 14:00
fonte
29

No. Penso che sia effettivamente il contrario. L'IDE elimina la necessità per te di conoscere un framework a memoria (tramite intellisense) e semplifica le attività altrimenti noiose / ripetitive / complesse (debugging, deployment), cose a cui non ti importa davvero. Ciò ti consente di concentrarti sulla risoluzione del problema aziendale a portata di mano. Conoscere e IDE e conoscerlo bene può davvero aiutarti a scrivere codice manutenibile più velocemente.

E naturalmente il fatto di essere uno sviluppatore non riguarda solo questo. L'esperienza che hai come sviluppatore ti aiuta ad applicare la soluzione corretta a un problema che attraversa il tuo percorso. Penso che sia la vera abilità.

    
risposta data 25.01.2011 - 13:15
fonte
24

No, non ti "danneggia". Certo, dovresti capire come funzionano senza un IDE (cioè dovresti capire il processo di compilazione di base, ecc.) Ma non essere masochista su questo ... se un IDE ti rende più produttivo di quanto non lo sia usando uno, allora perché non lo faresti?

    
risposta data 25.01.2011 - 13:09
fonte
17

Essere dipendente da IDE comporta i seguenti rischi:

  • si finisce per creare una build software che richiede un IDE e una versione specifici.
  • costringi altre persone del tuo team a usare quell'IDE per costruire il sistema.
  • non puoi facilmente automatizzare la creazione del tuo software.
  • non hai idea di quali siano le tue dipendenze software.

Quindi assicurati di poter costruire il tuo software anche dalla riga di comando. Per esempio. In Java usa Maven o Ant. Quindi attenuerai i rischi di cui sopra.

Altri rischi di dipendenza IDE:

  • l'IDE segnala errori e avvisi nel tuo codice e ti fornisce soluzioni rapide. Questi potrebbero non essere appropriati - forse c'è un problema di progettazione o requisiti in gioco.
  • dimentichi le nozioni di base - devi conoscere le basi della lingua scelta in modo che tu possa padroneggiarlo e così puoi trasmettere competenza nelle interviste.
  • finisci bloccato in una sabbiera IDE - paura di provare qualcosa di nuovo o qualsiasi cosa non supportata dal tuo IDE. Ad esempio il tuo IDE può avere funzioni piuttosto estese per la ricerca e la sostituzione. Ma questi non sono nulla in confronto alla potenza e alla velocità degli strumenti da riga di comando come grep e sed. Non puoi sviluppare Android perché l'IDE scelto (ad esempio netbeans) non lo supporta bene.
  • alcuni IDE non possono gestire file di grandi dimensioni, ad es. prova ad aprire un file di output del server di grandi dimensioni in eclissi. Ci vuole per sempre e / o esaurito la memoria.
risposta data 25.01.2011 - 14:05
fonte
9

Non c'è niente di sbagliato nell'essere più produttivi con il set di strumenti scelto. Ma se proprio non puoi lavorare senza di esso, sarei molto sospettoso riguardo alla tua conoscenza interiore.

Non abbandonare l'IDE; ma di tanto in tanto prova a fare un paio di classi 'facili' con solo un editor e la documentazione su un browser.

Ricorda che anche più velocemente degli strumenti migliori non devi usarli.

    
risposta data 25.01.2011 - 13:31
fonte
4

But without IDE I can do nothing.

I need an IDE to do complex things or long coding of simpler things.

Puoi sistemarlo, lo sai.

In realtà potresti imparare la lingua e il framework.

Niente ti ferma.

A meno che, naturalmente, ti vanti di essere dipendente dall'IDE.

why should I stick to notepad and command line tools to perform a time consuming task when IDEs have a button click to do this?

Non è correlato. "Stick to notepad" è interamente non correlato a "senza IDE Non posso fare nulla". Non fare nulla nel blocco note non è come attaccare al blocco note. Cos'è questo?

    
risposta data 25.01.2011 - 14:35
fonte
3

Non sei così "dipendente", dal momento che entrambi i tuoi IDE sono open source, quindi non spariranno o verrebbero "accidentalmente" migliorati al punto di essere inutilizzabili. E la lingua che hai scelto non ti lascia alcuna possibilità: sei dipendente da migliaia di miliardi di librerie, ed è semplicemente stupido cercare di ricordare tutto ciò che non è importante quando c'è un IDE che ti assiste. Java è prolisso, prolisso e non puoi essere produttivo senza strumenti intelligenti che sfruttino la prolissità ridondante.

    
risposta data 25.01.2011 - 13:18
fonte
3

Penso che il danno derivante dall'eccessiva dipendenza di un IDE entri in gioco quando fai affidamento senza pensieri sulle procedure guidate per generare codice per te. Sia NetBeans che Eclipse sono abbastanza leggeri su quelli, che è una buona cosa IMO. Un altro danno sarebbe se si conosce solo un IDE e non è possibile utilizzarne altri. Alcune aziende hanno politiche che dettano ciò che userete. Nel bene o nel male, è quello che è.

Direi che se un IDE non ti rende più produttivo, non ne vale la pena. Ad esempio, sono il più produttivo con IDEA JetBrains, ma Eclipse ha fatto molta strada e posso essere abbastanza produttivo con quello. Eclipse è stato anche adattato per una vasta gamma di usi, il che è un doppio vantaggio. Mentre riesco a spostarmi in VIM, o in qualche altro editor di testo, ci sono altre funzionalità che trovo insostituibili nella maggior parte degli IDE attuali come il supporto del refactoring.

    
risposta data 25.01.2011 - 14:10
fonte
2

Non penso che ti stia facendo dei favori. Certo, stai usando Eclipse, che è liberamente disponibile e funziona ovunque tu abbia una JVM. Ma mi sono imbattuto in situazioni prima dov'ero in remoto su un'altra macchina tramite una sessione terminale senza server X, il che significa che dovevo usare un editor di testo semplice come vi e costruire sulla riga di comando. Lavoro anche in un ambiente in cui la rete di sviluppo è fisicamente isolata dal resto del mondo e tutti i trasferimenti tra esso e la rete pubblica avvengono tramite supporti fisici. L'unica ragione per cui abbiamo Eclipse su quella rete è perché ha attraversato diversi livelli di approvazione prima.

Ho tagliato i denti su C e Fortran 77 in un ambiente a riga di comando (VAX / VMS), quindi trovo la nozione di che richiede un IDE in qualche modo sospetto. Tuttavia, quelle sono lingue minuscole rispetto alla bestia che è Java; dato che è necessario un carrello elevatore per trasportare l'ultimo libro Java Nutshell in giro, posso vedere come avere l'IDE disponibile rende la vita molto più facile.

    
risposta data 25.01.2011 - 14:10
fonte
2

Potrebbe non essere "pericoloso" per te, ma lo otterrai se hai anche familiarità con le cose senza l'IDE. Non aver paura di espandere il tuo orizzonte.

Ricorda che la maggior parte degli strumenti di sviluppo sono scritti prima come strumenti da riga di comando. Gli IDE sono ripensamenti, il che va bene. D'altra parte troverai spesso alcune "opzioni nascoste della linea di comando della gemma" o "trucchi avanzati" che non potrai mai scoprire se tieni il punto e il clic.

Quindi per rispondere alla domanda "Come può farmi del male?" Penso che ti farebbe del male quando ti affezionerai così tanto che credi che tutti gli strumenti della linea di comando saranno più lenti dei pulsanti di clic, al punto che eviterai di apprendere gli strumenti della riga di comando (che sono le origini).

È proprio come imparare l'assemblaggio come programmatore - pochissimi di noi scrivono assemblaggi a mano oggi, ma credo che quelli che capiscono l'assemblaggio siano programmatori migliori in qualunque lingua stiano usando.

    
risposta data 25.01.2011 - 15:56
fonte
2

Essere dipendenti dal computer è già abbastanza dannoso. Io programma sempre in un lombo con una grossa tavoletta di pietra e un martello. Il codice impiega un po 'a sbriciolarsi, ma quando finisci un metodo particolarmente grande, di solito mangi qualcosa. Lì cerco di essere indipendente dal supermercato e da quel genere di cose, quindi coltivo tutto il mio grano a casa e lo mangio. Naturalmente, i semi di grano e i fornitori di acqua mi hanno praticamente catturato, facendomi pensare che non c'è modo di uscire da questo ciclo di dipendenza.

Seriamente: se <disclaimer> usi un IDE e </disclaimer> ti ritrovi senza IDE e DEVI programmare, dovresti solo considerarti game over e

  1. chiama IT o
  2. Risolvi il problema da solo se sei IT

Non solo non dovresti programmare senza gli strumenti che ritieni necessari, ma non puoi usare il dentifricio come pasta termica.

    
risposta data 30.01.2011 - 18:55
fonte
1

Essere dipendente da IDE potrebbe non danneggiarti, ma essere in grado di operare senza il tuo ambiente di scelta è un'abilità vitale.

Gli IDE possono impedirti di apprendere "piccole cose" che sono in genere insignificanti e possono aiutarti a svolgere il lavoro più velocemente perché eviti la digitazione / modifica inutile. In genere puoi anche risolvere i problemi mentre si verificano, ad es. errore di ortografia di una funzione.

La mia regola personale quando apprendo qualsiasi lingua / struttura / ecc. è di apprenderla prima in modo difficile. Poi, una volta che l'ho imparato, sono caduto che ho guadagnato il diritto di farlo nel modo più semplice. Il fatto è che, se non conosci alcuni dei piccoli dettagli nitidi, quando la tua fognatura inizia a vomitare dal lavandino della cucina, sarai SOL. Se sai quali sono le possibili operazioni che potrebbero essere una causa potenziale, puoi probabilmente risolvere il problema o impedirne il verificarsi del tutto.

    
risposta data 26.01.2011 - 01:56
fonte
0

Proviamo un buon editor di testo, ad es. PSPad per MS-Windows (freeware), TextMate per Mac OS X, Geany per GNU Desktop (opensource) o Kate per KDE (opensource).

MultiEdit4.0 per MS-DOS ha cambiato la mia vita diversi anni fa, da allora sono molto sensibile agli editor di testo.

    
risposta data 25.01.2011 - 15:52
fonte

Leggi altre domande sui tag