Di cosa hai bisogno per padroneggiare un linguaggio e la sua tecnologia? [duplicare]

4

Diciamo di Java (solo un esempio, puoi parlare di C #, PHP, C ++ ... è solo simile) e 10 (dieci) livelli, 1 è novizio e 10 è master. Come puoi identificare qualcuno a quale livello in base alla sua conoscenza? Non tendo a confrontare le lingue, tendo a sapere cosa indica un master o un novizio in una lingua e nella sua (basata sulla lingua) tecnologia .

Sì, so che non ci sono sulla terra un linguaggio indipendente, è sempre dotato di tecnologia. Diciamo che in Java, puoi memorizzare tutta la sua parola chiave e la sua sintassi in pochi giorni, ma per conoscerlo (voglio dire fare qualcosa con esso in modo efficace), devi leggere l'Oracle (Sun) javadoc molti molte volte (non menziono ancora il prodotto di terze parti).

    
posta Luke 21.05.2011 - 10:44
fonte

1 risposta

9

Le lingue al giorno d'oggi sono dotate di framework. È quasi inutile conoscere bene una lingua senza il suo framework se si parla di linguaggi di alto livello come java e c #.

Questo potrebbe aiutare: link

La cosa più importante di padroneggiare un framework è sapere dove guardare. Non è necessario memorizzare ogni singola classe per essere bravi. Se voglio scrivere il codice di posta elettronica in. Net so di cercare in System.Net.Mail, se c'è qualcosa che non so posso google. Se non sapessi di guardarci, potrebbe esserci stato un problema, specialmente con cose più astratte.

La padronanza di una lingua è simile non solo a conoscere tutte le parole chiave e i costrutti, ma anche dove sono utili. Se si apprende solo dei farmaci generici, si vuole trovare un posto dove usarli, ma la parte importante li sta usando nel posto giusto.

Se vuoi assegnare un sistema di punti alla conoscenza della lingua, ecco il mio pessimo sistema di valutazione:

  1. Conosce le istruzioni di scrittura, ma tende a porre molte domande su problemi evidenti come variabili inaccessibili e ambito. Non usa loop. Dichiara molte variabili.
  2. Comprende i cicli e le funzioni e l'importanza dei tipi di ritorno. Molte variabili non utilizzate e cattiva disposizione delle dichiarazioni o disposizione non intenzionale.
  3. Utilizza istruzioni più lunghe e non dichiara le variabili in modo non necessario. Ad esempio, solo per inviare un valore a una funzione.
  4. Scrive le funzioni per separare correttamente la logica. no (value = true) affermazioni o affermazioni che potrebbero essere più succinte (brevi e al punto)
  5. Uso delle classi. Variabili o funzioni pubbliche non necessarie. Accoppiamento stretto.
  6. Classi appropriate con vincoli progettuali intenzionali, occultamento dell'implementazione. Buoni commenti.
  7. Uso di nuove tecniche di problem solving come interfacce ed espressioni regolari. Programmazione difensiva come asserzioni, uso di transazioni, schemi di progettazione
  8. Uso di introspezione, generici, polimorfismo avanzato.
  9. Comprende la semantica della lingua compresa l'allocazione della memoria e la garbage collection.
  10. Comprende gli interni linguistici. È in grado di utilizzare strumenti di scrittura come compilatori, debugger e profiler.

Ho scelto questa lista con il naso, ma l'idea è che i concetti avanzati disponibili per la lingua dovrebbero essere usati nei posti giusti, nel modo giusto. Per padroneggiare una lingua dovresti sapere come prevederla e migliorarla. Se vuoi davvero padroneggiare una lingua, devi scrivere compilatori e profiler, ma nella maggior parte dei casi penso che sia poco pratico.

I quadri hanno lo stesso effetto. Il modo migliore per padroneggiare un framework è estenderlo, migliorarlo e possibilmente scrivere il tuo.

    
risposta data 21.05.2011 - 16:13
fonte

Leggi altre domande sui tag