Un programmatore inesperto ha bisogno di un IDE? [chiuso]


12

Leggendo questa altra domanda mi chiedo se io (come programmatore PHP principiante assoluto) dovrei rimanere con WAMP e Notepad ++ o passare a qualche IDE come Eclipse.

È comprensibile che sviluppatori esperti trarranno beneficio da un grande IDE brillante. Ma perché un principiante assoluto dovrebbe usare un IDE? I benefici superano la sfida aggiuntiva dell'apprendimento dell'IDE oltre all'apprendimento dello sviluppo?

Aggiornamento per chiarimenti:

Il mio obiettivo è ottenere un'esperienza di programmazione di base. Scegliendo PHP e WAMP (e FogBugz e Kiln) spero di evitare di dover navigare nelle specifiche del sistema operativo complicato / disordinato e compilare ecc. E concentrarmi solo sulle funzionalità di base come un modulo di registrazione utente online.

Ho molta comprensione teorica all'università dieci anni fa, ma nessuna esperienza pratica. Voglio porvi rimedio con un progetto hobby simile a un'app Web vendibile nel mondo reale.

Ci sono così tante domande da porre. Così molte insidie probabilmente ho avuto a sbagliare in. Questa domanda è solo un pezzo (il mio primo!) Di quel puzzle.


Dipende da cosa intendi per IDE ... Notepad ++ può essere usato come IDE rudimentale.
Oded,

10
Sì! No! Non lo so .. Vai con ciò che è giusto per te!
Ben

1
la situazione con un semplice editor è la base: l'esperienza comune a tutti i programmatori. Tutto ciò che serve in più è proprio questo - strumenti in più - quindi dovresti iniziare ad imparare le basi per apprezzare ciò che l'IDE può aiutarti.

Ho eseguito un po 'di raschiatura dello schermo su programmers.stacexchange.com. L'uso della parola "dipende" o "dipendente" sembra aumentare il probabile numero di voti mentre le persone che rispondono con frasi che iniziano con "Vorrei ..." o che iniziano con "Sì" o "No" tendono a essere votate in negativo. Suggerimento per scrivere post: non avere un'opinione chiara su nulla.
Jason Sebring,

Risposte:


21

A seconda del tipo di programma che si sta tentando di creare, un IDE può rendere l'intero processo, in particolare la creazione e la distribuzione, molto più semplice. Questo è particolarmente vero quando si utilizzano framework relativamente complessi.

D'altra parte, fare tutto a mano migliora notevolmente la comprensione di ciò che accade sotto il cofano. Per questo motivo, creare alcuni piccoli programmi "nel modo più duro" è un buon esercizio per un noob.


16

Un n00b dovrebbe usare un IDE? Questo dipende da quale sia il tuo obiettivo come n00b. Ecco alcuni possibili obiettivi immediati:

1) Inizia a imparare un po 'di linguaggio di programmazione / qualcosa sulla programmazione (introduzione leggera)

2) Diventa un maestro e capisci come funziona tutto (introduzione dei pesi massimi)

Per 1), utilizzare un IDE . L'uso di un buon IDE renderà la tua vita più facile. Non più difficile. Imparare a usare un IDE raramente è così difficile dopo averlo installato. Quindi per compilare ed eseguire il tuo programma, fai semplicemente clic su un pulsante "Esegui" o qualcosa del genere. Il debug sarà anche più semplice ... basta fare clic su un pulsante di debug.

Per 2), non utilizzare un IDE (all'inizio). Se vuoi capire tutto perfettamente, usare un debugger e un compilatore da riga di comando ti darà maggiori informazioni su come tutto funziona. Questo sarà più difficile e all'inizio potrebbe essere scoraggiante.


In che modo non utilizzare un IDE per comprendere meglio come funziona tutto? Ti perderai le opzioni della riga di comando del compilatore e i comandi di debugger, ma queste sono entrambe cose che puoi imparare in seguito in una spiegazione di una pagina. Neanche i makefile sono molto più difficili. Non riesco a pensare a nient'altro che non sia banale.
Rei Miyasaka,

3
Non sto dicendo che ci sia una differenza giorno e notte, ma certamente non classificherei Makefile e tutto ciò come "banale" per un nuovo sviluppatore. Non sto anche dicendo che sarai completamente ignaro se inizi con un IDE. Sto solo dicendo che partire dalla riga di comando ti dà un'idea migliore di come funzionano le cose.
Casey Patton,

Bene, voglio dire, i Makefile sono piuttosto banali in seguito quando capirai che la creazione di programmi di solito comporta diversi passaggi e molti file, che gli IDE ti insegneranno comunque lungo la strada.
Rei Miyasaka,

3
@ReiMiyasaka, gli IDE te lo insegnano lungo la strada? La mia impressione è che molti programmatori non abbiano mai capito cosa succede tra l'immissione del codice in IDE e la produzione di codice eseguibile.
Winston Ewert,

@ Winston Sì, lo fanno. Non c'è modo di non notare che succede qualcosa che riunisce dozzine di file di codice e librerie. Imparare l'esatto formato dei dati che descrivono le interazioni è utile, ma ancora una volta, è qualcosa che può essere appreso in poche ore una volta capito che qualcosa sta effettivamente accadendo. Hai mai provato a insegnare elenchi collegati senza spiegare a cosa servono? Gli elenchi collegati hanno molto più senso per le persone una volta che hanno un motivo per conoscere i dettagli. Stesso affare con makefile e parametri del compilatore e tutto il resto.
Rei Miyasaka,

5

Come qualcuno che sta cercando di imparare una nuova lingua su un piccolo progetto di hobby, direi attenersi a un editor di testo con l'evidenziazione della sintassi.

Quando inizi per la prima volta, commetterai degli errori. Dimenticherai un punto e virgola da qualche parte o sbaglierai un nome variabile. Senza e IDE dovrai concentrarti solo sulla lingua e su come l'hai scritta. Questo è un apprendimento prezioso.

Un grande IDE brillante cercherà di farti risparmiare tempo cercando di cogliere questi errori, che ti derubano del tuo apprendimento. Inoltre, come altri hanno già detto, l'apprendimento dell'IDE comporterà anche maggiori costi di apprendimento. Immagina quando l'IDE suggerisce qualcosa, ti chiederai perché sta dando il suggerimento, o addirittura è la cosa giusta. Questo aggiungerà solo confusione.

Mi piace iniziare una nuova lingua con solo l'editor di testo, quindi cerco qualsiasi plug-in Eclipse quando sono abbastanza sicuro.


4

la sfida extra dell'apprendimento dell'IDE

Vuoi dire, la parte in cui l'IDE svolge la maggior parte del lavoro per te?

Ora, non ho mai usato IDE PHP, ma presumendo che funzionino in modo simile ad altri tipi di IDE, ti fanno risparmiare enormi quantità di lavoro. Il lavoro di apprendimento dell'IDE sarà banale rispetto alla funzionalità che l'IDE ti salva dal dover fare te stesso. Cose come il completamento del codice e l'evidenziazione della sintassi sono strumenti incredibilmente utili e completamente insostituibili.

Chiunque codifichi in modo professionale lo fa con l'aiuto di strumenti come IDE e per buoni motivi.


2
Lavoro professionalmente con PHP e non utilizzo un IDE, utilizzo Vim!
Gary Willoughby del

1
@Gary VIM è un IDE.
destra del

2
No, è un editore. Definizione di un IDE: en.wikipedia.org/wiki/Integrated_development_environment Vim non è quello.
Gary Willoughby dal

1
Sono abbastanza sicuro che Vim abbia cose come il completamento del codice, o possa essere aggiunto per farlo, il che lo rende praticamente un IDE per questo scopo.
DeadMG

3
C'è una grande differenza tra VIM e un IDE. VIM non nasconde i dettagli di ciò che sta accadendo come fa un IDE. Molti dei vantaggi di un IDE sono disponibili in VIM. Ma chiamare VIM un IDE non è corretto.
Winston Ewert,

4

Penso che uno sviluppatore PHP inesperto sarebbe molto più produttivo con un IDE.

La domanda dovrebbe essere: gli sviluppatori PHP esperti dovrebbero avere bisogno di un IDE?


2
questo è quello che pensavo significasse interpretare
male

4

Come regola generale scelgo così:

  • Se si tratta di una piccola applicazione con non molti file, attenersi alla riga di comando.
  • Se si tratta di un'applicazione di grandi dimensioni con molti file, utilizza un IDE, poiché passerai costantemente da un file all'altro e potrai beneficiare delle funzionalità di navigazione rapida e panoramica (in particolare le lingue orientate agli oggetti).

Impara a usare entrambi, quando appropriato. Inizia con la riga di comando.


3

ci sono alcune cose che aiuteranno qualsiasi programmatore in qualsiasi lingua, indipendentemente dal livello di abilità:

  1. evidenziazione della sintassi più corrispondenza tra parentesi graffe

  2. controllo della sintassi durante la digitazione (molto utile per evitare la dozzina di errori tutti provenienti da una singola ;parentesi dimenticata o non corrispondente)

  3. facile navigazione della documentazione (tuttavia non è necessario che sia nell'IDE stesso),

    • le principali biblioteche di qualsiasi lingua disporranno di documentazione online a cui puoi accedere nel tuo browser,
    • ma la documentazione interna (dal progetto a cui stai lavorando) non sarà se non la rendi esplicitamente disponibile
  4. formattazione automatica in base all'unico vero stile di controvento e spaziatura corretta (in modo da dedicare meno tempo al rispetto di tali regole) (anche in questo caso è possibile farlo con uno strumento esterno)

solo 1 e 2 devono essere nell'IDE / editor


3

Uso sempre un IDE (Eclipse) e lo consiglierei anche a un principiante. Principali vantaggi se stai iniziando:

  • Feedback istantaneo su codice errato (ad es. Errori di sintassi nel codice)
  • Si occupa di impostare progetti usando convenzioni standard in modo da non doversi preoccupare di specifiche di configurazione / SO ecc.
  • Spesso può generare codice di esempio su cui è possibile basarsi e da cui imparare
  • Evita di dover ricordare un intero insieme di opzioni e invocazioni arcane della riga di comando in modo da poterti concentrare sul codice.

Tuttavia, anche se penso che dovresti usare un IDE in gerneral, penso che valga la pena fare almeno una o due esecuzioni manuali del tuo codice dalla riga di comando. Questo per farti capire cosa sta succedendo sotto il cofano. Questa comprensione ti aiuterà se è necessario eseguire il debug dei problemi in un secondo momento.


1

L'altra domanda non posta: un programmatore PHP esperto ha bisogno di un IDE?

Un IDE ti aiuta ad automatizzare il processo di compilazione, ma con PHP non esiste un processo di compilazione. L'evidenziazione della sintassi è una funzione molto utile, ma non è necessario un IDE completo per questo, molti editor di testo leggeri forniscono l'evidenziazione.

Faccio il mio lavoro PHP in NetBeans, ma è solo perché sono abituato a NetBeans. Scommetto che potrei farlo altrettanto bene in qualsiasi numero di editor di testo.


1

Se ti aspetti ragionevolmente di scrivere codice durante la vita o all'inferno, anche se no, dovresti ottenere un editor / IDE estensibile e iniziare a impararlo. Se non puoi permetterti nulla, vai con Notepad ++ o simili - qualcosa che ti permetterà di iniziare il tuo compito per tutta la vita di decidere "come mi piacciono i miei tasti di scelta rapida" e imparare quelli convenzionali.

Gli IDE dei tuoi strumenti, come li chiamo io: Visual Studio, Eclipse, What-have-you, andranno e verranno e si evolveranno, diventando spesso troppo voluminosi e non reattivi per essere utilizzati quando si desidera solo sfocare il codice o massaggiare / refactural in certi modi.

Quindi, hai il tuo editor "home", quello che ti rimane per tutta la vita, che ami più della tua fidanzata.

Arriverete al punto in cui sarà perfettamente naturale e produttivo lavorare su qualcosa usando sia il vostro IDE di attrezzamento sia il vostro IDE di casa allo stesso tempo, sfruttando il meglio di entrambi i mondi.

Il mio IDE Home è SlickEdit, che ho usato ed esteso negli ultimi 10+ anni, in quel periodo ho scritto 120+ moduli Macro per esso e ho oltre 1000 tasti di scelta rapida.

Li ricordo tutti? No, probabilmente circa la metà in un dato momento, forse il 60%, ma gli altri sono per compiti specializzati, che finisco per cercare su richiesta.

Ricorda, la vita è breve e se fai la matematica su qualsiasi grande progetto vedrai che anche se gli alieni benevoli dove ti dettano telepaticamente il codice perfetto nella tua testa per scrivere 8 ore al giorno - ci vorranno comunque MESI per scrivere qualcosa di grande (senza un editor intelligente, macro, modelli, ecc.).

Ecco perché. Pianifica a lungo termine, spiana la strada verso il futuro ogni tanto.

In realtà, molto spesso. Anche se adesso ti costa.


1

Posso solo condividere la mia esperienza, nonché alcune informazioni su come influisce su uno sviluppatore.

Prima di tutto, affermerò che mi piace lavorare in entrambi i tipi di ambienti. Il fatto che io stia usando Vim e un makefile con GCC o QtCreator / Visual Studio con i rispettivi ambienti e compilatori dipende esclusivamente dal progetto stesso e dalla scala dell'applicazione.

Per l'apprendimento, userò occasionalmente Vim semplicemente perché odio non sapere come funzionano le cose e semplicemente andare via e scrivere qualcosa attraverso l'ignoranza. Quando ho imparato a programmare per la prima volta l'ho fatto tramite C # e Visual Studio. Questo mi ha insegnato le basi. Dopo un po ', tuttavia, ho deciso di assumermi il compito di imparare come usare Makefile e un editor di testo decente.

Rei Miyasaka ha detto in un commento che chiunque può imparare a usare un Makefile entro un paio d'ore con nient'altro che il valore di una pagina di informazioni. Sono assolutamente in disaccordo con questo, specialmente per qualcuno di nuovo. Possono volerci alcuni giorni (almeno, nel mio caso lo ha fatto). Vale anche la pena notare che la maggior parte della documentazione su Makefile si estende su centinaia di pagine e, sebbene sia possibile ottenere una buona introduzione attraverso una singola pagina, sapere davvero come usarli richiede molto più tempo e lettura.

Secondo me, se sei abbastanza ambizioso e hai appena iniziato a studiare, lancia una distribuzione Linux (non importa quale fintanto che ha un buon gestore di pacchetti ed è relativamente stabile - raccomando Linux Mint o anche Debian stesso) e apprendere C. Inizia con un editor di testo (l'evidenziazione della sintassi, il rientro automatico e il supporto del numero di riga sono mosto - tutto il resto è puramente una preferenza), semplicemente imparando come invocare il compilatore tramite CLI. Una volta arrivato al punto in cui hai imparato a programmare come usare un solo file sorgente per progetto, allorainizia a imparare a scrivere un Makefile. Vale anche la pena di prendere in considerazione Valgrind (se stai scrivendo in C / C ++, non sono sicuro che supporti altri linguaggi di programmazione). Dopo alcuni mesi di programmazione in questo ambiente, mentre affronti progetti più grandi, impara un IDE (preferibilmente qualcosa di FL / OSS) e dovresti essere pronto per partire.

Il motivo per cui suggerisco questo è perché l'uso di un IDE limita fortemente un programmatore quando sta solo imparando. Il completamento automatico e la gestione di progetti / build sono molto utili, tuttavia se non hai idea di come funzioni sotto il cofano, sarai gravemente limitato in termini di debug e / o di capire perché la tua applicazione non lo è eseguito correttamente, soprattutto se è solo a causa di un'impostazione di compilazione o compilatore non corretta specificata dall'utente o dall'IDE stesso.

Saluti.


-1

L'uso di un IDE renderà la vita molto più semplice. PHP in particolare ha molte funzioni incoerenti che il completamento automatico negli IDE può aiutare molto. Inoltre, avere un debugger nel tuo IDE è davvero prezioso ...

C'è qualcosa di carino nella semplicità di lavorare con i file grezzi in un editor di testo, ma se stai cercando di imparare cosa vuol dire produrre una vera applicazione web, l'apprendimento dell'uso delle funzionalità di un IDE sarà di grande aiuto nel lunga corsa.


-1

Nelle mie lezioni di informatica, non abbiamo iniziato con un IDE. È stato qualcosa che abbiamo fatto DOPO aver capito cosa stavamo facendo.

Gli IDE tendono a sottrarsi troppo ai principianti e finiscono per produrre stupidi colti. All'inizio, è fondamentale avere una buona comprensione o finirai per pensare solo nell'IDE e senza di essa non puoi capire le cose di base. Sarai anche limitato a ciò che l'IDE può fare. Alcuni IDE sono decisamente malvagi nell'avere tali astrazioni e avere il proprio paradigma che rende le persone più stupide usarlo. Caso in moduli web punto per ASP.NET.

C'è qualcosa da dire per l'avvio da soli.


-4

Ecco la mia opinione su questo:

  1. I principianti sono le uniche persone che hanno bisogno dell'IDE. Ciò è dovuto al debug: i principianti possono ancora avere problemi a capire come funziona l'esecuzione del programma e passare attraverso il codice può essere d'aiuto.
  2. I programmatori di medio livello possono accelerare il loro processo di programmazione perché gli IDE forniscono funzionalità che consentono di navigare più facilmente in grandi repository di sorgenti e trovare dove si trova ciascun simbolo nel codice sorgente. Non hanno più bisogno di ide, ma a volte rende la vita più facile.
  3. I programmatori avanzati non hanno bisogno dell'IDE. Lo hanno fatto abbastanza a lungo che l'interfaccia utente di IDE è troppo lenta per loro - premere un tasto e attendere la risposta richiede troppo tempo - è necessaria una risposta immediata per non perdere tempo. La navigazione nel codice sorgente non è la priorità principale, poiché possono ricordare dove si trova ogni parte di codice: hanno letto l'intero codice prima di modificare qualsiasi cosa.

1
Vorrei votare in basso se potessi. Quando si lavora con progetti di grandi dimensioni non è possibile mantenere tutto nella tua testa. Non devi necessariamente usare un ide, ma avere alcuni strumenti per questo è un must.
Bwmat,

@Bwmat, ora PUOI effettuare il downvote
Pratik
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.