Ho fallito in PHP diverse volte. Ruby the Cure è? [chiuso]

5

Estremamente, estremamente domanda soggettiva qui, ma è qualcosa con cui ho lottato per un bel po '. Ho seriamente cercato di diventare un programmatore PHP ragionevole negli ultimi anni. Ma ho davvero fallito ogni volta. Odio descrivermi come un principiante, b / c ho progettato siti web (usando WordPress, Drupal, ecc.) Per anni, ma ancora non riesco a migliorare la mia programmazione.

Potrebbe essere che io abbia una qualche forma di allergia a PHP? Sono passato da Chris Pine a Ruby circa una settimana fa (per la quinta volta), e sebbene mi sia sembrato tutto molto più chiaro di PHP, mi sono chiesto se stavo cambiando le lingue per trovare una via d'uscita facile?

Le cose con cui faccio i conti in PHP sembrano tutte elementari - quando usare una funzione, come restituire le query del database nelle istruzioni foreach / while, quando trasformare quelle query in funzioni riutilizzabili, aggiungere argomenti alle funzioni, ecc. ecc. tutte le cose OOP che continuo a vedere in questi giorni solo file sopra la mia testa.

Credo che le mie domande siano: sto andando a imparare a programmare nel modo sbagliato? Ho qualche avversione per PHP che mi impedisce di prendere piede? Se continuo a spingere su Ruby / Rails, alla fine basterà 'fare clic'. O, quello che temo, sono improbabile che sia mai un programmatore?

    
posta saltcod 28.07.2011 - 18:16
fonte

7 risposte

8

Ricordo di aver provato la stessa sensazione una volta. Puoi solo andare così lontano senza essere mentorato. Puoi conoscere OOP e sarebbe un buon inizio. Ciò che ha funzionato per me è stato andare a lavorare con alcuni Sr Devs per un po 'come Jr Dev. Ecco come viene fatto il vero apprendimento. Una volta che lavori con una buona squadra e hai la guida di un architetto, non avrai queste domande. Libri e siti web sono fantastici, ma quando vedi qualcosa che non capisci nessuno sarà lì a dirti perché è così com'è.

    
risposta data 28.07.2011 - 19:04
fonte
16

La programmazione non riguarda la lingua che usi. Alcuni linguaggi di programmazione per un lavoro migliore / peggiore nel rafforzamento di concetti specifici (OOP, ad esempio, è disponibile in quasi tutte le lingue attualmente popolari, ma solo applicati in alcuni), ma i concetti stessi di solito sono molto più indipendenti dalla lingua di quanto non sembri all'inizio.

"Insegna a te stesso Language X" libri / tutorial sono utili, ma sembra che tu possa usare un primer sugli aspetti della programmazione che sono più universali. Se puoi, ti consiglio di frequentare un corso. Anche un semplice corso di "introduzione alla programmazione" presso un college della comunità locale è in grado di darti un primer decente su come pensare come un programmatore. Non preoccuparti della / e lingua / e la copertura dei corsi - puoi seguire un corso che fa tutto in Java e comunque imparare lezioni preziose anche se non avessi mai più programmato in Java.

Per la cronaca, mi piace molto programmare in Ruby (e credo che il godimento di se stessi sia un fattore enorme nella qualità e nel ritmo dell'apprendimento), quindi non sto certo dicendo di guidare lontano da Rails come alternativa a PHP, se pensi che sarà prezioso. Ma non guardare troppo attentamente le tecnologie specifiche quando stai facendo ampie domande su come imparare. Impara e poi guarda le tecnologie che puoi utilizzare per applicare le tue conoscenze.

    
risposta data 28.07.2011 - 18:42
fonte
8

And all the OOP stuff that I keep seeing these days just files over my head.

Penso che i tuoi problemi siano più fondamentali della semplice scelta della lingua. Quasi ogni lingua popolare al giorno d'oggi ha qualche OOP in esso, e di solito qualsiasi lavoro serio in esso comporta la parte OO. Dovresti davvero imparare prima OOP e preoccuparti di scegliere la lingua migliore più tardi. Ora sei come un aspirante ballerina che non conosce i passi, ma si preoccupa della scelta delle scarpe.

    
risposta data 28.07.2011 - 18:30
fonte
5

Semplicemente: No.

Conosco entrambe le lingue abbastanza bene. Il rubino è più complesso, anche se lo 'zucchero sintattico' può far sembrare più bello. E i problemi che dici sono esattamente uguali a Ruby. Queste sono domande strutturali e devi gestirle in ogni altra lingua.

    
risposta data 28.07.2011 - 18:43
fonte
4

Penso che un aspetto chiave da capire sia imparare facendo.

È davvero importante, che tu inserisca una query in una funzione oppure no? Perchè importa? Le risposte a tali domande diventeranno ovvie per te una volta che avrai scritto il codice e proverai a modificarlo in seguito.

Ad esempio: nel mio primo anno di programmazione avevo scritto circa 50000 righe di codice. Ormai, potrei aver scritto mezzo milione o più, di cui una parte abbastanza significativa doveva essere reiterata in qualche momento.

Anche se ricevere aiuto dagli altri è di grande valore, passare attraverso questo è l'unico modo reale per trovare risposte a tali domande. All'inizio troverai il codice che hai scritto un mese fa orribile. Poi piano piano arriverai ad un punto in cui troverai il codice che hai scritto un anno fa orribile. E così via ...

Invece di provare a fare tutto dal libro la prima volta, solo fai . E chiedi qui, quando hai una domanda più concreta. Saremo felici di aiutarti.

Apparentemente, c'è stato uno studio interessante:

  • è stato chiesto a due gruppi di persone di produrre ceramica entro un determinato periodo di tempo
  • un gruppo è stato incaricato di creare un articolo della migliore qualità possibile
  • un secondo gruppo è stato incaricato di creare il maggior numero possibile di elementi di qualità sufficiente
  • alla fine il secondo gruppo ha prodotto l'articolo della migliore qualità

La ripetizione (e l'apprendimento dal fallimento e dal successo) è inevitabile sulla strada della maestria.

    
risposta data 28.07.2011 - 19:16
fonte
3

Alcune lingue sono progettate meglio di altre, ma per programmare bene, devi essere in grado di gestire la complessità. Tutte le lingue (beh, la maggior parte) sembrano semplici e amichevoli quando si considerano esempi di tutorial, ma nel mondo reale ci saranno problemi difficili da risolvere, indipendentemente dalla lingua.

Il mio suggerimento è che tu cerchi di migliorare ciò che fai bene. Se hai difficoltà a utilizzare le funzioni, dopo diversi anni di duro lavoro, sospetto che non sarai mai un buon programmatore. E il mondo ha già un sacco di programmatori mediocri, perché non scegliere una vocazione in cui puoi eccellere?

    
risposta data 28.07.2011 - 18:43
fonte
1

Mi piace la risposta che hai accettato e anche la risposta di @ back2dos.

IMHO, credo che farebbe bene a frequentare un college o una classe universitaria su Introduzione alla programmazione C / C ++ . Ero un assistente di laboratorio per quel corso alcuni anni fa e sento C che si traduce bene in php. La struttura è quasi la stessa e in realtà mi piace la flessibilità e la sintassi di php in più.

Per approfondire la mia raccomandazione, cerca di evitare le lezioni che riguardano troppo la teoria o l'informatica. Hai bisogno di una lezione "fai i compiti" come quella.

    
risposta data 17.06.2012 - 22:23
fonte

Leggi altre domande sui tag