Java è stata la mia prima lingua e l'ho trovata molto difficile. Non sono sicuro di quanto sia solo perché ero un nuovo programmatore (non mi ero reso conto che dovevo passare attraverso una fase di apprendimento prima che potessi anche avviare il programma che volevo scrivere); quanto è stato perché stavo seguendo il tutorial ufficiale di Sun ("perché sta succedendo e succedendo"), e quanto è legato al fatto che Java non è una grande prima lingua (o secondo me per niente: fa un sacco di cose in modo passivo, ma niente eccellente ).
Certo, potrei fare cose accadere ma non ho capito perché o cosa stavo facendo a all .
Raccomando Python per il primo avvio:
* meno attenzione al propoganda "orientato agli oggetti", ma in realtà migliore e veramente orientato agli oggetti
* dict
, list
e set
come tipi incorporati anziché tipi di libreria.
* uso più sicuro delle eccezioni (ma si prega di specificare i tipi)
* stile più funzionale rispetto all'imperativo
* una REPL
* non nasconde le cose dietro a un IDE (ci sono IDE per Python, ma dovresti semplicemente usare un editor di testo progettato per i programmatori e salvare ed eseguire esplicitamente il tuo codice)
Dopo aver scritto i tuoi primi vari programmi, torna indietro e scrivili tutti senza usare alcuna variabile globale mutabile (probabilmente la cosa più grande che i principianti usano modo troppo, e chiedi anche a più esperti programmatori python cose che ti mancano)
Una volta che sei sicuro di poter scrivere qualsiasi programma piccolo-medio (per il tuo senso di scala) in Python, torna indietro e riscrivi di nuovo gli stessi programmi in Java. L'apprendimento implica molto "vai a fare la stessa cosa, ma in un modo diverso".
Sarebbe anche proficuo, imparerai un po 'di C. Non aspettarti di scrivere grandi programmi in esso, ma dovresti essere sicuro che tu nessun bug relativo a malloc / gratuito, strcpy, I / O che potrebbe contenere errori.
Inoltre, è indubbiamente utile mettersi a proprio agio con la riga di comando in generale e con un sistema di controllo della versione specifico. Un programmatore che non può utilizzare il controllo della versione è una perdita di rete in qualsiasi gruppo di programmazione.
Raccomando che il tuo primo controllo di versione sia di tipo decentralizzato, come git o mercurial, in modo da non aver bisogno di un server remoto. Come nuovo arrivato, la regola più importante è "impegnarsi presto, impegnarsi spesso". Alla fine, avrai un'idea migliore di quando utile da impegnare, quando modificare o schiacciare (è sempre più facile iniziare con molti piccoli commit e trasformarli in un commit più grande dopo - se hai una ragione per farlo); e otterrai anche l'abilità per essere in grado di seguire la regola "ogni commit deve funzionare, per alcune definizioni di lavoro".
Fai non commetti l'errore di eseguire il controllo della versione da un IDE. Se devi usare un IDE, fai finta che l'integrazione VCS non esista, perché sarà peggio che inutile ogni volta che la minima cosa va storta (e le cose vanno "male" molto spesso quando ci sono 2 persone che lavorano sullo stesso progetto). Digita molto git status
e assicurati di capire perché tutto sia rosso o verde, quindi scopri il modo migliore per eliminare il rosso (alcuni metodi comuni: aggiungi file non tracciati, aggiungi modifiche a un file tracciato (solo in git), aggiungi all'elenco di ignorazioni) ed esegui sia git diff
che git diff --cached
prima di eseguire un commit. (Il concetto di modifiche staged vs nonstage è un argomento di contesa tra git e la maggior parte (tutti?) Altri DVCS, ma trovo che molto più ovvio sia in grado di parlare separatamente di "cambiamenti sono abbastanza fiducioso entrerà nel commit senza molti cambiamenti "dai" cambiamenti su cui sto ancora lavorando. "Ma di nuovo, come nuovo arrivato, commetti spesso ).
È possibile notare che non ho menzionato esplicitamente i comandi per aggiungere effettivamente modifiche o effettuare commit. Questo perché è lontano più importante sapere come ottenere informazioni out del VCS piuttosto che metterlo in .
Potresti anche notare che non ho inserito nessun link qui. Questa è una decisione deliberata, impara Google e ricorda che il 90% di tutto (compresa la prima pagina di Google) è una schifezza.
Infine - congratulazioni per aver tentato di iniziare presto. Se conosci la programmazione quando inizi il college, non sarai senza speranza come la maggior parte dei laureati. Ovviamente, se sei veramente bravo e sai come fare amicizia, potresti essere in grado di evitare perdite di tempo e denaro per il college a all .