Perché non riesco a capire Java? [chiuso]

7

Sono una nona elementare e mi sono unita al team di robotica della mia scuola per imparare come programmare Java e entrare nel team di programmazione. Tuttavia, sono così confuso! Anche dopo la prima lezione, non avevo idea di cosa stesse parlando l'insegnante. Non so se sono solo io ma, ma non riesco a capire nessuno dei termini o come metterli insieme per formare il codice.

Il mio insegnante è sempre impegnato nei giorni feriali, quindi ho solo il sabato per parlare con lui. Fino a quel momento sono seduto di fronte a Netbeans senza un indizio su come codificare il nostro primo incarico, ovvero scrivere codice Java che risolva una questione geometrica di mia scelta. Voglio davvero diventare un buon programmatore, ma non riesco a capire qualcosa su Java. Il mio insegnante e molti siti web dicono che imparare Java è come imparare una nuova lingua e bisogna esercitarsi per essere bravi a farlo.

Ho imparato l'HTML, che è stato un gioco da ragazzi per me, quindi ho esperienza con la programmazione, ma non riesco a capire Java! I due sono completamente diversi dal mio modo di vedere.

Tuttavia, come dovrei esercitarmi se non avessi idea di cosa sta succedendo nel mondo? Inoltre, uno deve essere un mago della matematica per essere un buon programmatore?

    
posta cal 14.11.2014 - 02:56
fonte

2 risposte

10

È vero che devi esercitarti. Ma persone diverse hanno diversi modi di apprendere, e non tutti gli insegnanti sono

  • un esperto in ciò che insegna
  • un insegnante esperto

Quindi una parte fondamentale della scuola è imparare come imparare.

Ho cercato su google " tutorial di base di Java " per te. Due dei migliori link ti sembrano utili

Ti suggerisco di tagliare e incollare codice di esempio, come un programma "Hello, World", vedere cosa fa e come, quindi apportare modifiche e vedere cosa fanno.

Aspetti di trascorrere molte ore a questo. È che sta imparando ad esprimere i tuoi pensieri in una nuova lingua.

Modifica: uno deve essere un mago della matematica per essere un buon programmatore?

No. Esistono molti diversi domini problematici e inizialmente ti occuperai dei problemi che conosci. Ma i programmatori stanno imparando sempre cose nuove - nuove abilità come come gestire particolari problemi di matematica, o qualche nuovo linguaggio, o qualche nuovo modo di pensare. Un sacco di programmazione coinvolge solo "Se l'articolo A è XYZ mettilo nel secchio B, ma se è UVW mettilo nel secchio C".

Ma la matematica è strettamente correlata alla programmazione, in quanto è un modo preciso di pensare e risolvere i problemi. Devi essere altrettanto preciso nella programmazione. Il computer non sa cosa vuoi che faccia: esattamente quello che gli hai detto. Che è sia la gioia che l'agonia della programmazione.

E un ramo della matematica è molto importante: la logica. lo imparerai questo!

    
risposta data 14.11.2014 - 03:21
fonte
1

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 .

    
risposta data 14.11.2014 - 04:33
fonte

Leggi altre domande sui tag