Dimenticando le funzioni linguistiche di base a causa dell'uso di IDE, affidamento eccessivo? [duplicare]

10

Dopo aver utilizzato un IDE per gli ultimi 3-4 anni, l'altro giorno alcuni dei miei colleghi e io ci siamo resi conto che avevamo dimenticato alcuni metodi / funzioni Java di base perché facevamo sempre affidamento sul nostro IDE (Eclipse / STS / IntelliJ) per completarli per noi (come ad esempio quello che una funzione richiede in termini di parametri), è un segnale che le nostre capacità si stanno deteriorando, che ci stiamo affidando troppo agli IDE? (Tutta questa discussione è nata quando abbiamo parlato del test di certificazione Oracle Java 7 EE e abbiamo esaminato alcune domande di pratica, domande quali, quali parametri ha la funzione X, ecc.)

Se sì, come combatti questo genere di cose? Basta rileggere libri e cose? Io stesso non riesco a immaginare di non codificare con un IDE perché in tutta onestà, mi rende molto più veloce il codice con cose come il completamento automatico, ecc. Mentre alcuni dei miei colleghi ci hanno suggerito di codice IDE per alcuni mesi.

Capisco che a volte non è necessario sapere tutto su una funzione, ma ricordo che un professore universitario ci ha detto che gli IDE sono terribili perché quando arriverà il momento che avrai bisogno di qualche tipo di funzione, avrai perdere tempo a cercarlo invece di sbattere il codice dalla memoria a memoria.

    
posta Community 17.10.2011 - 18:23
fonte

4 risposte

21

Is this a sign that our skills are deteriorating, that we're over relying on IDEs?

Non sono in grado di cacciare un animale, perché mi baso sul fatto che quando ho bisogno di cibo, lo compro in un mercato vicino. Questo è un segno che le nostre capacità di cacciatori si stanno deteriorando nel corso delle generazioni e che stiamo facendo affidamento sulla nostra società?

Ci sono abilità che ti servono oggi come sviluppatore. Quando qualcuno ti ingaggia, si aspetta da te:

  • avere un'abilità intellettuale per risolvere problemi complessi,
  • per conoscere le pratiche e i modelli che ti aiutano a lavorare in modo efficiente,
  • per conoscere gli standard, per comprendere i requisiti, ecc.
  • essere in grado di utilizzare un determinato linguaggio di programmazione in modo efficiente, cioè avere abbastanza conoscenze per trovare rapidamente come tradurre una soluzione in un problema nella lingua specificata.

Ma questo non include conoscere ogni nome di ogni metodo in un dato framework. Questo perché:

  • È una perdita di tempo,
  • Se usi gli strumenti che devi usare per essere efficiente, ricorderanno quei nomi di metodo per te (e ti aiuteranno a completare il codice),
  • Poco dopo i nomi cambieranno, quelli vecchi verranno rimossi, i nuovi verranno aggiunti: è facile per un IDE essere costantemente aggiornato; è un po 'più difficile da fare per un umano.

In altre parole, preferirei assumere qualcuno che sappia molto bene come utilizzare gli strumenti che deve svolgere il lavoro, piuttosto che qualcuno che ha trascorso settimane a imparare i nomi dei metodi .

    
risposta data 17.10.2011 - 18:55
fonte
4

La programmazione sull'uso della funzione giusta o sul design giusto?

Considero che sapere che esiste un qualche metodo o paradigma (o anche potrebbe / dovrebbe esistere) è sufficiente per cercarlo quando è necessario - ecco a cosa servono IDE, Javadoc e Google. Naturalmente una buona conoscenza della libreria è un risparmio di tempo (anche se mi trovo a guardare il documento di molte API che conosco già - solo per essere sicuro).

    
risposta data 17.10.2011 - 18:40
fonte
2

Tutto ciò che sta peggiorando è lo spazio che riservi per trivia 1 . C'è solo un sacco di dettagli che puoi tenere nella tua testa in una volta, quindi è meglio concentrarti sulla risoluzione del problema più grande e non preoccuparti così tanto di memorizzare gli elenchi dei parametri per i metodi che non usi tutti il tempo (dovrebbero esserci almeno un pochi metodi che usi costantemente e che hai interiorizzato, voglio dire, non dovresti cercare come chiamare println , per esempio).

Ho tagliato i denti su C e Fortran in un ambiente a riga di comando, quindi ero sempre diffidente nei confronti di persone che affermavano di necessario un IDE per eseguire i loro compiti. Poi ho iniziato a lavorare in Java un paio di anni fa. Java è un enorme linguaggio spaventoso rispetto a C, con una corrispondente libreria di classi enorme, e non c'è verso che nessuno possa aspettarsi di memorizzare tutto ciò.

Il nome del gioco nello sviluppo del software è la produttività; utilizzare uno strumento per renderti più produttivo non dovrebbe essere un problema.

Se ti senti davvero come se le tue abilità si stessero davvero deteriorando, forse dovresti passare alcuni cicli a lavorare in un normale editor di testo (vi, Notepad ++, ecc.) e compilare sulla riga di comando.

1 La sintassi è non trivia . Se stai iniziando a dimenticare come strutturare effettivamente una classe o un programma, allora questo è un problema reale che deve essere risolto.

    
risposta data 17.10.2011 - 19:21
fonte
1

Sono stato COBOLing per 20 anni e ho utilizzato un editor di testo per PC negli ultimi 12 anni, mentre la maggior parte degli altri intorno a me si è sloggata con gli editor giganti del mainframe. Oh, c'erano un paio di altri radicali che hanno visto il valore dell'evidenziazione della sintassi, delle macro e di altre pratiche pagane. Ho sempre pensato che un IDE mi avrebbe reso più produttivo, ma non l'ho mai perseguito molto.

Circa 4-5 anni fa, facevo parte di un gruppo incaricato di ricercare e raccomandare un editor di testo. Abbiamo esaminato le opzioni e rapidamente tutti abbiamo visto i meriti in un IDE su un editor di testo. Siamo stati in grado di trovare una soluzione che soddisfacesse le esigenze che avevamo predisposto e si potesse entrare in una discussione semantica sul fatto che si trattasse di un vero IDE o ancora di un editor di testo con funzionalità macro estremamente avanzate che le offrivano funzionalità simili all'IDE .

In termini di produttività, essendo stato nella fattoria prima di andare a Parigi, non credo ci possa essere alcuna domanda che gli IDE siano la strada da percorrere.

    
risposta data 19.10.2011 - 10:58
fonte

Leggi altre domande sui tag