Come diventare un esperto in Python, PHP e Javascript? [chiuso]

8

Quindi ho programmato per circa 9 mesi ora, e mi sono insegnato alcuni Python, alcuni PHP e alcuni Javascript.

Voglio migliorare in queste lingue - posso modificare qualcosa, ma un sacco di cose come l'OOP, usando le liste nei modi più efficaci, ecc., mi sono perso.

Quali sono i modi migliori per diventare un programmatore "esperto"? Dipende dalle sfumature della lingua o è più generale? C'è qualche matematica che dovrei studiare al suo fianco? Ovviamente molto dipende da cosa si vuole fare con esso - finora ho fatto per lo più applicazioni interne su piccola scala così come la programmazione web. Come faccio a scoprire la buona progettazione del programma?

    
posta Andrew Alexander 25.11.2011 - 20:25
fonte

9 risposte

16

L'unica soluzione è Esperienza . Diventerai un esperto quando avrai codificato molto (come in realtà molto ) in queste lingue. Sviluppare progetti ti farà affrontare dei problemi, quindi dovrai trovare le soluzioni e un giorno avrai visto abbastanza soluzioni ai problemi che ti definirai un esperto .

Coding, lettura del codice, revisione del codice, tutto ciò ti aiuterà a sapere come codificare con un buon design. Non puoi semplicemente fare affidamento su uno snippet di codice che vedi su Internet per dire che sai qual è il buon design per ciò che stai cercando di ottenere. Hai bisogno di guardare a molti di loro per sapere quale sarebbe la migliore soluzione al tuo problema.

    
risposta data 25.11.2011 - 20:34
fonte
10

La competenza, come l'amicizia, è un prodotto del tempo. La mia citazione preferita sull'argomento (ho dimenticato la fonte):

"Il buon senso è il risultato dell'esperienza. L'esperienza è il risultato di giudizi sbagliati. "

Indica le ore, studia il tuo mestiere. Cerca non solo soluzioni immediate, ma anche bellezza ed efficienza.

    
risposta data 25.11.2011 - 21:05
fonte
3

Prima di tutto è importante capire la programmazione a livello agnostico. Conoscere i principi, i concetti, le metodologie e simili ti aiuterà a lungo termine. Ecco alcuni link ad alcuni buoni libri per aiutarti:

Libri:

Ricorda solo quando bacia è anche meglio asciutto se vuoi un altro solido rapporto con programmazione. :)

    
risposta data 25.11.2011 - 20:45
fonte
1

1) Sei nel posto giusto. I forum della community come lo stack exchange sono un ottimo modo per trovare informazioni.

2) Calcola OOP prima di andare avanti. È una necessità prima di passare dallo scripting allo sviluppo più avanzato. net.tutsplus.com è un buon sito di riferimento e ho trovato questa guida qui: link

3) Una volta imparato OOP e praticato l'utilizzo, scaricare un framework con una buona documentazione e seguire una guida "Guida introduttiva" (un framework è una raccolta di strumenti che consentono di sviluppare più rapidamente in una lingua). Symfony è una buona soluzione per PHP e puoi seguire la guida qui: link . Hanno anche un tutorial "Jobeet" da seguire insieme a

4) Insieme a # 3, impara il pattern MVC (Model View Controller). Questo è un modello di programmazione popolare che viene utilizzato in una varietà di framework. È un must se vuoi passare da principiante a intermedio.

Buona fortuna!

    
risposta data 25.11.2011 - 20:39
fonte
1

Lavora su un progetto di codice con programmatori che sono migliori di te

Protip: sembra funzionare per qualsiasi cosa tu voglia migliorare, non solo per il codice!

Ma seriamente, se riesci a trovare persone di talento che sono disposte a dirti quando stai sbagliando, prova a lavorare su un progetto con loro.

Leggi le cose scritte da programmatori che sono migliori di te

Daveo collegato ad alcuni buoni libri. Puoi anche trovare molti blog scritti da persone che hanno a cuore la possibilità di diventare programmatori migliori (e di solito sono programmatori piuttosto fantastici).

    
risposta data 25.11.2011 - 21:37
fonte
0

Essere un programmatore esperto è probabilmente una capacità generale di ragionare e risolvere problemi di programmazione, sia attività comuni che non comuni. Probabilmente è indipendente dalla lingua, ma direi che dovresti anche essere molto fluente con almeno un paio di linguaggi di programmazione e i loro strumenti.

Non esiste una ricetta magica per diventare un esperto, se non con un duro lavoro: leggere tutorial, google molto, ascoltare esperti, lavorare sui problemi, programmare molto, lavorare in progetti esistenti con altre persone e in genere acquisire un sacco di esperienza del mondo reale.

Tutto questo è un consiglio indipendente dalla lingua.

    
risposta data 25.11.2011 - 20:39
fonte
0

Ci sono naturalmente diversi approcci che porteranno al successo. Come già detto, l'esperienza è la più importante, ma dipende da te quanto tempo hai bisogno di definirti un esperto. Tuttavia il tempo sarà misurato in anni o addirittura decenni.

Ho iniziato a imparare a programmare 15 anni fa e penso che i migliori miglioramenti nelle mie capacità siano dovuti ai seguenti motivi:

  1. La pressione è cattiva. Mantieni il buonumore e dimentica i problemi irrisolvibili oggi solo per tornare a loro domani (e chiedendo perché è sembrato così complicato il giorno prima).

    Ho iniziato a programmare quando ero un bambino e nessuno mi ha costretto a imparare qualcosa. Non fraintendermi: non è necessario iniziare da bambino per padroneggiare un linguaggio di programmazione. La tua motivazione personale - senza forzarti a raggiungere un obiettivo irrealistico in un tempo troppo breve - sarà la chiave del successo.

    Inoltre non dovrai scrivere il tuo sistema operativo come ha fatto Linus. Nessuno si aspetta che tu abbia un sito web di successo visitato da centinaia di utenti al giorno. Estratti semplici dei tuoi progetti mostreranno (il tuo capo, i tuoi clienti, i tuoi colleghi ...) che sai cosa fai.

  2. Attenersi a un argomento finché non lo hai (quasi) padroneggiato. Impara le basi.

    La maestria è qualcosa che non è realizzabile. È improbabile sapere tutto. Ma assicurati di apprendere le nozioni di base e non sottovalutare i concetti di linguaggi di programmazione, paradigmi o alcune regole sintattiche o best practice.

    Ma per favore: non accettarlo solo se senti o leggi MAI o SEMPRE. Ogni volta che qualcuno parla di non fare mai qualcosa, non esitare a chiedere perché. C'è una ragione per cui ci sono delle regole. Ma solo la ragione ti dirà se è una buona cosa per la tua situazione o no. Ciò che è buono in una lingua può essere problematico in un'altra.

  3. Continua ad andare avanti.

    Non rimanere sullo stesso argomento per decenni. Dopo 10 anni di Javascript, ci saranno pochissime persone che possono insegnarti qualcosa di nuovo. Ma tra 10 anni nessuno parlerà di Javascript ... perché? ah ora mi hai preso. Le previsioni sul futuro sono sempre soggette a errori;)

    Tuttavia, dopo alcuni mesi o anni di raccolta di esperienza in un campo, vedrai che le cose che impari non saranno tanto come all'inizio della tua "missione". Ci sarà un tempo in cui le persone inizieranno a chiederti aiuto quando hanno problemi (problemi reali, non il per favore, fare i miei compiti a casa).

    Questo è un buon indicatore del fatto che sei diventato una sorta di esperto. A questo punto, chiediti se c'è ancora il potenziale per sviluppare te stesso. O forse c'è qualcosa di nuovo su cui vuoi mettere le mani, ma nessuno ti lascia perché sei il pollo perfetto per questa gabbia.

  4. Esci con i tuoi amici, moglie, cane ...

    Ti farà riposare la mente. Problemi come Android vs Iphone, Flash vs Silverlight, App vs Program ... diventeranno una questione di ciò che è meglio per le tue esigenze e non il centro della tua esistenza.

    Avere una vita sociale (non confonderlo con Facebook) aiuterà anche a mantenere o anche migliorare le tue abilità trasversali. Se sai come convincere i tuoi colleghi ad accettare la soluzione migliore (non necessariamente la tua) può valere di più che conoscere centinaia di linguaggi di programmazione.

  5. Usa il tuo cervello

    Non scrivermi una lettera in 10 anni che mi dice che ho incasinato la tua vita. Se sei soddisfatto di una strategia totalmente diversa o scopri di diventare un agricoltore o un presidente degli Stati Uniti, vale la pena spendere il resto del tuo tempo: fallo.

risposta data 25.11.2011 - 21:27
fonte
0

Suggerisco di diventare membro di siti come Topcoder o Usacogate , dove puoi imparare passo passo e risolvere problemi algoritmici. Ad esempio, il completamento della formazione Usacogate non ti renderà un professionista informatico, ma ti darà tonnellate di abilità per affrontare molti problemi della vita reale. Ti insegna a testare e ti richiede di fornire soluzioni efficienti.

Ancora un'altra opzione per acquisire più esperienza è imparare una lingua di un paradigma diverso. Ad esempio, Haskell è un linguaggio di programmazione funzionale. Imparare può aiutarti ad affrontare i problemi da un altro punto di vista anche in altre lingue. Ad esempio, Python può essere programmato in uno stile molto funzionale.

    
risposta data 25.11.2011 - 21:50
fonte
0

Contrariamente ad alcune delle risposte, l'esperienza non è l'unico requisito per diventare un "esperto". Penso che la maggior parte delle persone in ogni settore (non solo la programmazione) non diventino esperti nel loro campo. Diventano competenti ed efficienti, ma non diventano neanche lontanamente bravi come potrebbero.

Il motivo è che l'esperienza non è abbastanza. Hai bisogno di una consulenza di esperti. Devi imparare come fare le cose da qualcuno che è un esperto.

Fortunatamente per noi, ci sono molte risorse per i programmatori per diventare esperti. Probabilmente il migliore sono i libri. Un'altra risorsa eccezionale è programmers.StackExchange.

Trascorri la maggior parte del tempo a scrivere codice, ma anche a spendere parte della lettura e dell'integrazione della conoscenza di libri come il codice di pulizia link . Puoi trovare i migliori libri analizzando le recensioni su Amazon, controllando questo sito e Stack Overflow.

Se investi abbastanza tempo per imparare e utilizzare le informazioni in 2 o 3 libri all'anno, aumenterà notevolmente le tue capacità. Inoltre, trova un modo per registrare e ricordare a te stesso tutto ciò che impari. Altrimenti sarà difficile conoscere e utilizzare realmente le informazioni.

Prestare attenzione agli argomenti a cui i programmatori esperti sono interessati: schemi di progettazione, test unitari, scelta della carriera, ecc. Guarda il mondo (o almeno il tuo lavoro) dal punto di vista di un programmatore esperto.

Quando ti viene assegnato un compito da programmare, fermati e pensaci per un po '. Porsi alcune domande. Che cosa ho imparato che può aiutarmi? Quali sono i rischi? Qual è l'approccio migliore? Quali sono alcuni algoritmi diversi che posso usare? Quanto tempo ci vorrà per il programma da eseguire? Quale potrebbe essere il collo di bottiglia della CPU? Quale funzionalità potrebbe cambiare o essere aggiunta?

Spero che questo aiuti.

    
risposta data 25.11.2011 - 23:19
fonte

Leggi altre domande sui tag