Come posso motivarmi a iniziare a imparare di più? [chiuso]

1

Sono stato interessato alla programmazione da un po 'di tempo e ho lavorato lentamente, lentamente e lentamente alle cose nel corso degli anni. Tuttavia, non mi sembra di aver imparato molto.

Sono rimasto solo con linguaggi familiari (Java, C # e ho provato un po 'di PHP). Il problema è che in quelle lingue, ho solo sfiorato la superficie di esse e mi sono limitato a fare cose abbastanza semplici.

Ad esempio, come progetto Java, ho scaricato il codice sorgente per alcuni giochi e ho modificato alcune cose a mio piacimento, ma niente di particolarmente difficile. In C #, ho realizzato alcuni progetti WinForm e console per svolgere compiti ripetitivi o di routine per me, il che è bello, ma di nuovo niente di troppo complicato.

Ho appena iniziato a cogliere il concetto di classi, multithreading e alcuni strumenti essenziali ma essenziali che sono richiesti nella moderna programmazione orientata agli oggetti. ("Perché non posso semplicemente spingere tutto in una classe di dimensioni di un mostro?" "Perché non posso solo eseguire tutto in un thread?" Sono domande che mi chiedevo su di me)

Non ho mai realizzato un grande progetto da solo. In definitiva, il mio tipo di progetto per hobby "da sogno" è che mi piacerebbe creare un gioco usando la tecnologia DirectX. Dico questo perché ho usato XNA ma richiede all'utente di installare un framework per farlo funzionare, e sento anche che se utilizzo il framework, molti lavori di back-end mi vengono oscurati. (DirectX o OpenGL sembrano essere più vicini alla macchina che posso ottenere senza complicazioni eccessive. DirectX è installato anche sulla maggior [se non tutte] macchine Windows che pianificano l'esecuzione di giochi.)

Ma non ho neanche iniziato a pensare di iniziarlo. La quantità di cose che devo sapere per intraprendere un compito è assolutamente travolgente. Non saprei da dove cominciare. Allo stesso modo, mi sento inadeguato anche perché mi sono limitato a [quelle che vedo come] lingue facili. Mi sento come se dovessi iniziare a imparare un po 'di linguaggio di scripting o impararlo o apprenderlo, il che è piuttosto scoraggiante.

-

tl; dr : Mi sono lentamente insegnato a programmare per un po 'ora, ma ho limitato le mie conoscenze a lingue limitate e solo a grattare la superficie di ciò che posso fare. Voglio saperne di più e possibilmente iniziare un progetto di dimensioni decenti (posso solo fare tanti giochi di ruolo e calcolatori basati su testo), ma l'enorme quantità di conoscenza di cui ho bisogno è molto intimidatoria.

Una delle mie preoccupazioni è che so così poco sulla programmazione dei linguaggi in generale. È meglio imparare diverse lingue o essere in grado di approfondire una singola lingua?

Come posso motivarmi a saperne di più?

Sto pensando a questo nel modo sbagliato?

    
posta Corey 19.10.2010 - 17:14
fonte

5 risposte

8

One of my concerns is that I know so little about programming languages in general. Is it better to learn several languages or to be able to delve deep into one single language?

Non so se posso esporre su gran parte della tua domanda, ma questa linea mi ha colpito come uno che ho qualcosa da offrire ...

Anche se c'è qualche merito nello sperimentare in una manciata di linguaggi diversi, quello che ho trovato (e mi ci sono voluti circa 6 anni per vederlo davvero) è che al suo centro la programmazione è programmazione e le lingue sono solo sintassi. I principi fondamentali saranno gli stessi in tutte le lingue e più tempo hai programmato, più scoprirai che puoi imparare una nuova lingua (almeno fino al punto di competenza di base) in pochissimo tempo. Per questo motivo, direi che ti sarebbe meglio servire immergendoti più profondamente in una lingua e imparando l'arte piuttosto che cercando di ottenere una comprensione superficiale di molti.

Riguardo a come motivarti a diventare più profondo, il tuo commento su "un altro RPG basato su testo o calcolatrice" mi ricorda questo: il modo in cui di solito imparo meglio è avere in mente un progetto. Quando comincio, so che è al di là delle mie capacità attuali, e so che ci sono delle componenti che non ho mai fatto prima e so che non comincio nemmeno a sapere da dove iniziare. Perché sono una parte definita del progetto, però, devo fare la ricerca per imparare. In questo modo non sono incasellato, "Ecco gli strumenti che ho già ricevuto. Che cosa posso fare di nuovo con loro?", Ma piuttosto "Ecco cosa voglio fare. Come ci arrivo?"

    
risposta data 19.10.2010 - 17:36
fonte
3

Penso che ti stia travolgendo con il Big Picture. Non cercare di imparare tutto in una volta.

Potresti leggere Guerra e pace nello stesso momento in cui stai imparando Marvin K . Mooney ?

Scegli un'attività piccola e impara come farlo nella lingua che preferisci. Quindi valorizzalo. Quindi miglioralo.

Nonostante la percezione che tutti i programmi siano o 1.) programmazione del gioco o 2.) hacking nella tua agenzia governativa preferita (le domande principali che ottengo quando parlo in un giorno di carriera in qualsiasi scuola superiore), la maggior parte della programmazione è non necessariamente così affascinante.

Crescere.

    
risposta data 19.10.2010 - 17:30
fonte
2

Come hanno detto gli altri, fai piccoli passi. Fai progressi più velocemente in questo modo.

Inoltre, hai bisogno di ispirazione. L'ho preso da

  • Isaac Asimov, "I Robot"

  • Marvin Minsky, "Computazione: macchine finite e infinite"

risposta data 19.10.2010 - 18:27
fonte
1

Vorrei pormi 3 domande:

  1. Qual è il passo più piccolo / raggiungibile che devo prendere per primo? Abbattere il lungo termine in piccoli compiti di morso.
  2. Perché ho iniziato a programmare in primo luogo? Torna alla tua vera passione e usala come carburante per la motivazione.
  3. Chi so chi può lavorare a un progetto con me? La responsabilità è fondamentale per portare a termine compiti che sembrano schiaccianti.
risposta data 19.10.2010 - 17:58
fonte
0

Per essere veramente motivato e poter imparare dal codice di altri popoli, potresti iniziare a guardare ad un open source. Con una conoscenza limitata probabilmente ci vorrà un po 'di tempo prima che tu sentissi di poter contribuire, ma ti darebbe dei problemi del mondo reale da risolvere e ci sarebbero delle persone reali che la usassero, il che è divertente.

    
risposta data 20.10.2010 - 06:23
fonte

Leggi altre domande sui tag