In che modo è più vantaggioso e produttivo?
In che modo è più vantaggioso e produttivo?
Risposte:
Penso che tu abbia bisogno di entrambi. Devi concentrarti sulle tue competenze chiave e migliorare la tua comprensione di esse, ma allo stesso tempo è utile guardare fuori e vedere cos'altro c'è là fuori. L'esposizione ad altri approcci e altre lingue è molto importante per rendere uno uno sviluppatore migliore in generale. Esistono molti modi per scuoiare un gatto, per così dire, e conoscerne il maggior numero possibile ti renderà uno psicopatico migliore nella scelta dello strumento giusto per un determinato compito.
Quindi, dedica la maggior parte del tuo tempo a migliorare la competenza prescelta e dedica un po 'del tuo tempo all'apprendimento di qualcosa di nuovo.
Qualcuno ha detto "Non vale la pena imparare un linguaggio che non cambi il modo in cui pensi alla programmazione".
Quindi, se conosci Java, c'è poco guadagno nell'apprendimento di C # (o viceversa). Se non fosse per ragioni pragmatiche (cioè, ne hai bisogno per risolvere un problema), suggerirei di attenermi a una lingua per paradigma e il tuo programma è ancora abbastanza pieno;).
La specializzazione, d'altra parte, è nella mia esperienza ottenuta principalmente "sul campo", vale a dire quando si lavora su un progetto, quindi viene naturale.
Ci sono molte argomentazioni davvero valide da entrambe le parti. Molti anni fa mi è stata posta quella domanda esatta ... mi concentro sulla mia lingua principale e cerco di diventare un "esperto" OPPURE prendere una nuova lingua e ampliare la mia commerciabilità. Ho scelto di concentrarmi su una lingua.
Non ci sarà davvero una risposta sbagliata. Entrambi hanno dei meriti, si ridurrà davvero a quello che si adatta meglio a te e dove vuoi che la tua carriera vada.
Imparare nuove lingue è principalmente un mezzo per ottenere nuovi concetti e aumentare la tua efficienza con la programmazione. L'apprendimento della programmazione in sé è molto diverso dall'apprendimento di una nuova lingua in cui programmare.
Dovresti concentrarti su come migliorare i tuoi programmi (e ci sono molte metriche per misurarle, molte soggettive; non importa, scegli le metriche e perfezionale nel tempo, usale per la tua istruzione).
Detto questo, l'apprendimento di lingue "più recenti" (ad esempio Python
) sull'elenco precedente (come, ad esempio " C
" e molti altri) ti aiuterà a pensare in modo più efficiente e a concentrarti su quei concetti chiave che dovrebbero essere migliorati. Prendendo ulteriormente l'esempio, potrebbe non apparire immediatamente ma potresti scoprire che la tua C
programmazione sta migliorando perché hai pensato in Python. Potresti persino iniziare a scrivere Python invece di psudo-code per C
. Questo è uno psudo-codice molto più leggibile e verificabile.
Il che ci porta a sintetizzare sulla domanda principale:
Sì, dovresti concentrarti sulle lingue che già conosci e aumentare le tue conoscenze in esse - purché siano ancora in uso per te. E dovresti anche dilettarti con linguaggi più recenti per offrire al tuo cervello strumenti più nuovi per pensare (forse anche più velocemente) soluzioni per le tue esigenze di programmazione.
Dipende dallo scopo per cui stai imparando la lingua. Se stai imparando la lingua perché utilizza un paradigma diverso o è adatto per un particolare dominio problematico. Tuttavia, se è una lingua molto simile a quella che già conosci e tutto ciò che pensi di fare è riscrivere tutto il codice esistente in quella nuova lingua, probabilmente non c'è molto valore (ad esempio, riscrivere una webapp in Python in rubino).
Se ti senti già a tuo agio con la programmazione in un linguaggio, hai familiarità con tutti i suoi modi di dire e puoi scrivere programmi in esso senza dover consultare la documentazione per ogni singola chiamata in biblioteca, probabilmente non c'è molto altro da imparare. Se, d'altra parte, la tua conoscenza della lingua non è così profonda, potrebbe esserci un valore nell'apprendere di più. Alcuni buoni modi per valutare se ci si trova nel primo o nell'ultimo campo per la lingua X sono
Se le tue risposte a queste domande sono da qualche parte sulla falsariga di "molto", "la maggior parte di esse" e "sì, e sta diventando fastidioso", è una buona indicazione che hai imparato la lingua e dovresti passare a qualcosa nuovo.
Se sei già abbastanza bravo con la lingua che conosci, non è bene imparare trucchi molto dettagliati e specifici per un po 'di figo ... sarà totalmente una perdita di tempo. Tuttavia, quando sei abbastanza a disagio con una lingua, il suggerimento è di padroneggiare prima quella lingua.
Oltre alle lingue ci sono framework, schemi ... per imparare un framework devi conoscere una lingua, quindi per lingue molto simili impararle non aiuta a non portare un divertimento non così divertente.
La mia opinione personale è che dovresti sempre sviluppare le tue capacità per rendere il software più veloce, più sicuro, più robusto, per più piattaforme e per ridurre i tempi, a tal fine potresti dover imparare una nuova lingua, un nuovo framework, un nuovo IDE (è importante quanto una lingua), e solo quando sei per quello scopo vale la pena investire.
Almeno non imparare una nuova lingua per aumentare il numero di lingue che conosci.