Ti suggerisco di:
- Immergiti totalmente in una nuova lingua alla volta.
- Per me, fluttuare tra nuove lingue significa che non imparo nessuno bene.
- Pianifica ciò che vuoi imparare e per quanto tempo vuoi spenderlo imparandolo.
- Abbastanza a lungo per avere una buona sensazione per la lingua, ma non così a lungo che non riesci ad andare oltre.
- Scegli le lingue tra diversi paradigmi. Imperativo, dichiarativo, procedurale, orientato agli oggetti, funzionale e persino logico hanno tutti il loro posto a seconda di ciò che si vuole fare.
- Scegli le lingue con caratteristiche diverse. Sistema statico / dinamico, debole / strong, alto / basso, moderno / tradizionale.
- Solo con l'esposizione a una buona gamma imparerai i vantaggi e le sfide di ciascuno.
- Cerca di imparare non solo la lingua, ma anche gli idiomi e le convenzioni di quella lingua.
- Questo richiede tempo, ma se hai solo un martello, è più probabile che tu tratti tutto come un chiodo, e vale la pena avere una cassetta degli attrezzi completa.
- Cerca di avere in mente un progetto che vuoi provare e implementare in quella lingua.
- Gioca ai punti di forza delle lingue. Non provare a scrivere un'utilità di elaborazione del testo in assembler, a meno che non ti senta masochista.
- Rendi il progetto difficile ma non eccessivamente ambizioso. Vuoi una sfida da cui puoi imparare, ma non vuoi qualcosa di così difficile da rimandare.
L'anno scorso, un blogger ha deciso di imparare 12 nuove lingue di programmazione in 12 mesi . Le sue scelte linguistiche includevano:
- Clojure (un dialetto Lisp per JVM), Factor (un linguaggio basato sullo stack), Go (descritto come incrocio tra C ++ e Python), Haskell (un linguaggio puramente funzionale strongmente tipizzato), Erlang (un fault tolerant, reale -time language simultaneo), Scheme (un altro dialetto Lisp), Fantom (che afferma di essere portatile attraverso JVM, .NET CLR e JavaScript nel browser), Scala (un linguaggio basato su JVM che combina OO e paradigmi funzionali), OCaml (un altro linguaggio scritto staticamente, OO / funzionale), Ruby (popolare con Rails), Lua (un linguaggio di scripting piccolo e portatile) e Prolog (un linguaggio logico dichiarativo).
Era un compito arduo, e in quell'anno riuscì solo a imparare quattro lingue (Clojure, Objective-C, Fantom e Lua) ma la pianificazione probabilmente gli diede una buona panoramica di ciò che era là fuori e io essere interessato a vedere se è riuscito a trovare il tempo per imparare le 8 altre lingue che ha fissato come obiettivo quest'anno.
L'opzione più semplice per strutturare le lingue di apprendimento multiple può essere un libro come Seven Languages in Seven Weeks: Una guida pragmatica all'apprendimento Linguaggi di programmazione . Questo copre un'interessante selezione di lingue (Ruby, Io, Prolog, Scala, Erlang, Clojure e Haskell) che hanno una gamma di caratteristiche linguistiche e dovrebbe aiutare molti programmatori che sono stati esposti solo alle solite monocolture di parentesi graffe lingue.