Dovrei preoccuparmi che non possa programmare molto velocemente senza Google? [duplicare]

22

Attualmente sono al college per diventare un ingegnere del software e uno dei principi fondamentali insegnati è come imparare da soli e come cercare sul Web quando abbiamo un dubbio. Questo porta ad un atteggiamento proattivo - quando ho bisogno di qualcosa, vado a prenderlo.

Recentemente, ho iniziato a chiedermi quanto sviluppo avrei potuto fare senza l'accesso a Internet e la risposta mi ha infastidito parecchio. Conosco il concetto delle lingue e come usarle, ma sono rimasto stupito da come "lente" fossero le cose senza dover aiutare Google nello sviluppo. La maggior parte dei problemi che ho sono legati alla sintassi specifica.

Ad esempio, leggere e scrivere su un file in Java. Ho fatto questo circa una dozzina di volte nella mia vita, ma ogni volta che ho bisogno di farlo, finisco su googling "leggere file java" e rinfrescare la mia memoria. Capisco perfettamente il codice e capisco perfettamente cosa fa, ma sono sicuro che senza Google ci vorrebbero alcuni tentativi per ottenere il codice corretto.

È normale? Dovrei essere preoccupato e provare a cambiare qualcosa nel mio comportamento di programmazione?

    
posta seth 28.03.2012 - 12:07
fonte

11 risposte

23

Lavorare senza internet è una abilità . Non ce l'hai, come la maggior parte degli sviluppatori.

La cosa che devi chiederti prima di essere preoccupata è se hai bisogno di questa abilità nella tua vita. Le probabilità sono, non è così, perché ad ogni lavoro di sviluppatore con Joel Test superiore a zero, avrai un accesso internet veloce.

Quindi hai una scelta:

  • O impieghi anni a imparare come lavorare efficacemente senza Internet, senza IDE (solo con un editor di testo senza evidenziazione della sintassi) e anche senza un sistema operativo di alto livello (cioè solo in modalità console).

  • Oppure passi lo stesso tempo ad imparare cose che utilizzerai davvero nel tuo lavoro quotidiano.

Il primo ti aiuterà molto nel caso di alcuni mondo post-apocalittico in cui non ci saranno IDE, nessun sistema operativo e nessun Internet , e dove la maggior parte degli sviluppatori non sarebbe in grado di continuare la loro carriera a causa della mancanza di competenze.

Il secondo ti aiuta oggi, nel mondo in cui vivi, proprio ora, e molto probabilmente nel prossimo futuro.

    
risposta data 28.03.2012 - 12:29
fonte
13

Se - come sembri indicare - utilizzi Google & il web per raccogliere informazioni che sai usare e (idealmente) potresti ottenere da altre fonti locali (come i libri stampati - purché tu abbia la libreria perfetta per gli sviluppatori), è IMO bene. Praticamente tutti gli sviluppatori sembrano farlo oggigiorno (anche quelli di noi che hanno esperienza di sviluppo dal tempo pre-Google e pre-internet). Perché se usato in modo sensato, il web ci dà davvero uno straordinario aumento di produttività, risolvendo per noi compiti ripetitivi e lenti, come la ricerca di informazioni in libri e librerie cartacei e assicurandoci che sia aggiornato.

I dettagli sintattici sono una cosa tipica anche per me. Al giorno d'oggi posso avere un compito che richiede l'utilizzo di almeno 4 lingue diverse, di cui 3 non sono un maestro. Quindi cercare i dettagli specifici come questo è un'attività regolare per me. Tuttavia, conosco abbastanza di ciascuno di questi linguaggi per utilizzare gli esempi di codice che trovo (più o meno) nel modo corretto e nel contesto giusto.

OTOH, frammenti di codice copiati incollati dal codice google dalla rete al codice di produzione senza comprendere appieno cosa e come questi sono decisamente una brutta cosa che non deve essere fatta, altrimenti è destinata a ritorcersi prima o poi.

Aggiornamento

Reading and writing to a file in java. I have done this about a dozen times in my life, yet every time i need to do it, i end up googling "read file java" and refreshing my memory.

Farei praticamente lo stesso, anche se Java è la mia lingua principale al momento :-) Dato che per lo più ho fatto lo sviluppo lato server, raramente ho bisogno di manipolare i file. Quindi queste cose non sono nella mia memoria (limitata) a breve termine.

Memorizzare i dettagli di specifiche API / framework / linguaggi / qualsiasi cosa ci possa dare soddisfazione intellettuale, ma alla fine è utile solo nella misura in cui ci aiuta a risolvere problemi reali (nostri e dei nostri clienti). Se non ho avuto bisogno di dadi e bulloni di API I / O File Java per risolvere qualsiasi problema di recente, non c'è alcun valore nel mantenerlo in memoria, e IMO è del tutto logico e utile per sostituirlo con qualcosa di più utile nella mia memoria a breve termine (mantenendo solo un breve riferimento alla fonte di informazioni rilevanti).

    
risposta data 28.03.2012 - 12:10
fonte
9

Ricerche recenti suggeriscono che Internet è completamente cambiato il modo in cui memorizziamo le cose, come specie, non solo nella programmazione. Piuttosto che memorizzare un intero pezzo di informazione, stiamo imparando a ricordare come trovarlo (ad esempio, ho solo cercato su Google "memoria google" per trovare quel collegamento). Questa non è una brutta cosa, è un uso più efficiente dei nostri spazi cerebrali limitati. Pensala come una versione complessa di un indice del database.

Sono abbastanza vecchio per ricordare i giorni in cui ho avuto l'intera libreria MSDN, in forma di libro, ammassata sulla mia scrivania. E 'stato grande E non era nemmeno vicino alla collezione completa di libri che avevo. Ma, dato che era un duro lavoro arrancare attraverso quei libri, ne ho memorizzato molto. Era imperativo essere produttivi.

Al giorno d'oggi, non devo ricordare nulla, ho bisogno di affinare le mie competenze su Google. Se non funziona, di solito riesco a ottenere una risposta alla mia domanda da Stack Exchange in pochi minuti, anche se devo chiedere e aspettare una risposta.

Se è qualcosa che devo fare 20 volte al giorno, imparerò presto a farlo senza nemmeno pensare, per non parlare di cercare. Ma se è qualcosa che faccio mensilmente, non è un uso efficiente del mio cervello ricordarlo. Piuttosto, è utile per me sapere come trovarlo: mantenere un collegamento a un blog o persino scrivere alcune note nel wiki aziendale.

Ma, se dovessi tornare a lavorare senza quelle informazioni disponibili, non ho dubbi che potrei. È molto probabile che tu possa farlo anche tu. Ci adattiamo così, come persone. Questo è esattamente il modo in cui siamo avanzati come una gara. ("Non è la più strong della specie che sopravvive, né la più intelligente, ma la più sensibile al cambiamento." - Darwin.)

Sii davvero grato che probabilmente non dovremo farlo.

    
risposta data 28.03.2012 - 12:48
fonte
5

Penso che sia completamente normale.

Non puoi sopravvalutare l'influenza di Internet e dei motori di ricerca efficaci in termini di produttività!

Prima di avere Internet, dovevamo affidarci a libri e altre fonti di informazione stampate per esaminare le cose. Ragazzo, era quel slooooooow ... (ok, sì, io sono vecchio - non solo ricordo il tempo che ho passato prima di Google, ricordo persino la volta precedente a Internet!)

Per quanto riguarda il tuo esempio di lettura e scrittura di file in Java: lo ho fatto più di una dozzina di volte in VBA, ma se volessi farlo ora, avrei bisogno di cercare comunque come farlo. Non avrei bisogno di quello in C #, perché è quello che programma in questo momento. Ma VBA non è qualcosa che uso quotidianamente (grazie a Dio), quindi la conoscenza non è quella presente nella mia mente.

Se lo fai ogni singolo giorno e dopo due settimane hai ancora bisogno di cercare, direi che hai un problema con la memoria a medio termine e dovresti preoccuparti (e andare a vedere un medico a riguardo, forse). Ma se hai bisogno di un aggiornamento su cose che hai imparato qualche tempo fa, ma non ti ricordi in questo momento, va bene.

    
risposta data 28.03.2012 - 12:33
fonte
2

Dipende da cosa stai cercando su google.

Se stai cercando su google le definizioni precise della sintassi o qualche riferimento oscuro da applicare alla tua soluzione va bene. senza Goole e con il tempo e i libri si otterrà quello risolto

Se, d'altra parte, stai cercando su Google come risolvere il problema, hai un problema

EDIT: quando dico 'COME risolvere il problema, intendo lungo le linee dei post' posso avere il codice ', piuttosto che' ho un'idea, ma ho bisogno di chiarimenti '

    
risposta data 28.03.2012 - 12:33
fonte
2

Come sviluppatore che occasionalmente deve lavorare in lingue relativamente poco familiari su computer che sono trasmessi via internet per ragioni di sicurezza, probabilmente sono più in grado di commentare questo rispetto alla maggior parte delle persone, e sono d'accordo sul sentimento generale della maggior parte l'altro risponde.

Il completamento automatico di un decente IDE è in grado di trovare circa il 95% di quello che mi serve nelle librerie di classi standard. Camminare da / verso un computer in rete (e occasionalmente prendere appunti / fare una stampa) mi costa solo un'ora o due di produttività ridotta al mese di programmazione.

Cercare di memorizzare massicce librerie di classi non è valsa la pena dello sforzo. Passare poche centinaia di ore a imparare qualcos'altro avrebbe un ritorno molto più elevato nel tempo speso.

    
risposta data 28.03.2012 - 15:04
fonte
1

Ho programmato i giorni "pre-Internet". A quei tempi, avevo diversi libri a disposizione per cercare le informazioni che mi servivano per MASM e C. Osservavo il sommario o l'indice e trovavo quello di cui avevo bisogno. Se non fosse in uno dei miei libri dovrei andare in libreria e comprarne uno che ha fatto o, in alcuni casi, ordinare uno attraverso il negozio e aspettare che venga consegnato.

Comunicerei anche con altri programmatori tramite Compuserve, Genie o altri servizi a pagamento, Usenet o su sistemi di bulletin board (FIDOnet, ecc.). Non era molto diverso da SO o da altri forum online, anche se non era così efficiente come fare una ricerca su Google oggi.

Quindi, Internet ha reso i programmatori più efficienti perché sono disponibili più informazioni e più rapidamente. Non hai bisogno di trascinarti dietro un mucchio di libri o provare a cercare attraverso tonnellate di testo non collegato da dozzine di fonti diverse.

    
risposta data 28.03.2012 - 13:50
fonte
0

Mi trovo sulla tua descrizione e quello che posso dire è che potrei ottenere una scadenza in un progetto c ++ senza alcuna esperienza nella lingua stessa.

Come hai indicato, quando ho avuto bisogno di leggere un file in c ++ l'ho cercato su google e ho ottenuto diverse pagine, grazie a qualche conoscenza OO, ho trovato la soluzione più accurata al mio problema, ho persino avuto il lusso di trovare errori logici in una delle soluzioni proposte.

Che cosa stai facendo con google, puoi sostituire con un cheat-sheet, Eclipse ha una sezione di assistenza utente molto bella nella procedura guidata quando fai CTRL + N, che ti aiuta a creare il tuo cheat-sheet, in quel modo che puoi codificare una volta e incollare più volte.

Come hanno sottolineato alcune risposte, Internet aumenta la tua produttività! Non aver paura di usarlo:)

    
risposta data 28.03.2012 - 14:23
fonte
0

Questo è il motivo per cui il mondo UNIX ha pagine man ... Internet ha reso questo genere di cose migliore.

    
risposta data 28.03.2012 - 15:22
fonte
0

Non c'è niente di sbagliato in Googling per le risposte, ma non è ottimale recuperare le informazioni che hai già trovato. Ecco alcuni suggerimenti:

  1. Sviluppa la tua biblioteca in ogni lingua. Quindi, quando vuoi scrivere su un file, puoi usare la tua libreria. E puoi persino usarlo per cercare la sintassi.
  2. Crea un sistema di "Brain Backup". Io uso Evernote e lo trovo meraviglioso. Ecco altre idee: link
  3. Sii bravo a memorizzare. La memorizzazione è un'abilità che non viene insegnata a scuola. Non è fondamentale essere un grande programmatore, ma è meglio ricordare qualcosa piuttosto che doverlo fare a Google. Possiamo migliorare notevolmente le nostre abilità alla memoria nello stesso modo in cui miglioriamo tutte le altre nostre competenze: apprendimento di tecniche efficaci e pratica .

A proposito, ho trovato questo interessante strumento per migliorare le prestazioni cerebrali sul sito SPOJ: Migliora la salute e le prestazioni del tuo cervello

    
risposta data 28.03.2012 - 15:44
fonte
0

Credi che ti manchi il punto, che le lingue sono naturalmente scaricate dalla borsa che deriva dal loro uso, e credere che non sia il caso è un fraintendimento della natura delle lingue.

Anche prima di Internet, dei computer o persino delle parole scritte, le persone o il "popolo" utilizzavano forme di comunicazione naturali che producevano una finestra di dialogo che avviava lo scambio e lo sviluppo di qualsiasi sistema basato sulla logica.

    
risposta data 28.03.2012 - 15:54
fonte