Quali sono gli approcci all'apprendimento di più tecnologie allo stesso tempo? [chiuso]

2

Voglio imparare più tecnologie. Attualmente ho conoscenza di core Java, C e PHP. Voglio conoscere l'approccio che dovrebbe essere seguito per imparare più cose. So che se conosci i concetti chiave del comportamento del linguaggio di programmazione, qualsiasi linguaggio di programmazione può essere appreso. Voglio fare un comando su tale linguaggio in modo che io possa parlare con loro. Sto facendo molto codice e navigazione, ma penso che ci sia un approccio con cui possiamo comunicare o parlare con il linguaggio di programmazione.

    
posta Sumit Neema 02.12.2011 - 14:40
fonte

2 risposte

2

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.

    
risposta data 02.12.2011 - 15:30
fonte
1

Se per "tecnologie" intendi le lingue, allora quello che devi veramente imparare è la teoria del linguaggio e il design del compilatore. Una volta che sai come un lexer identifica i token, come il parser costruisce un AST e in che modo il generatore di codice trasforma l'AST in linguaggio assembly, sei praticamente impostato per capire qualsiasi linguaggio procedurale.

Se intendi veramente tecnologie diverse (come database relazionali, sviluppo web, mappe / riduci quadri e reti di sensori) allora ti consiglio di prenderle una alla volta e creare un progetto sandbox usando ognuna di esse.

    
risposta data 02.12.2011 - 15:22
fonte

Leggi altre domande sui tag