PROBLEMA Non riesco ad imparare Java

Pubblicità

Metalcarter

Utente Attivo
Messaggi
541
Reazioni
67
Punteggio
62
Ciao a tutti, scusate in anticipo il tono melodrammatico haha.
Sto studiando Java da 2 settimane, ho delle slide fornite da un mio amico programmatore + diversi eserciziari trovati su internet.
Il problema è che non riesco a farmi entrare in testa la logica che c’è dietro Java.
Ogni volta che mi si pone di fronte un esercizio, anche se magari ne ho svolto uno uguale 1 ora prima , mi sembra sempre roba nuova, come se partissi costantemente da 0.

Anche un semplice esercizio con un ciclo while mi mette in difficoltà.
La teoria fin li l’ho studiata, se leggo un esercizio svolto lo riesco a comprendere nei limiti delle mie conoscenze...ma quando si tratta di scrivere nada, tutto vuoto.

Avete qualche consiglio amici?
 
Beh, forse ti stai spingendo troppo oltre. Magari qualche programmatore che ogni tanto si affaccia qui potrebbe darti un consiglio. Un conto è imparare Java, un altro conto è imparare a programmare. Java è uno dei tanti linguaggi, e nemmeno il più facile.
 
Non sono un programmatore ma quando mi ero avvicinato io all'argomento con degli amici esperti, ho scoperto che alla base devi capire come funziona una programmazione ad oggetti, non è banale e deve esserci qualcuno in grado di spiegartela, che sia online o corso attivo. In seguito ogni linguaggio è simile, più o meno intuitivo/complesso ma la logica è identica.

Se con Java non riesci (anche io ho avuto problemi) prova ad usare C#, C++ o Python, io mi ero avvicinato alla programmazione con quest'ultimo. Sicuramente più intuitivi... probabilmente qui qualche programmatore storcerebbe il naso, però per me è stato più semplice.
 
Esatto, come dice @vgg5465, per imparare Java bisogna imparare contestualmente il paradigma di programmazione Object Oriented, e all'inizio può essere spiazzante. Da' un'occhiata alla sezione dedicata al materiale didattico per trovare delle fonti da cui studiare.
Non conosco bene C# ma per quello che so è molto simile a Java, Python invece è completamente diverso.
 
Non sa guidare un camion e gli state proponendo di guidare un autobus. Il problema è alla radice.
Ha detto che ha problemi a fare un esercizio anche con un semplice while, quindi la sua difficoltà è che non ha ancora capito come passare dal problema alla soluzione ideando un certo algoritmo. Deve imparare la forma mentis del programmatore.
Un primo consiglio è guardare gli esercizi che ha già visto e domandarsi non "come" ma "perchè" è fatto in un certo modo.
 
Non sa guidare un camion e gli state proponendo di guidare un autobus. Il problema è alla radice.
Ha detto che ha problemi a fare un esercizio anche con un semplice while, quindi la sua difficoltà è che non ha ancora capito come passare dal problema alla soluzione ideando un certo algoritmo. Deve imparare la forma mentis del programmatore.
Un primo consiglio è guardare gli esercizi che ha già visto e domandarsi non "come" ma "perchè" è fatto in un certo modo.
Hai ragione, però Java non aiuta... comprendere un While nel casino di Java è sicuramente più complicato che capirlo in Python... per me è sicuramente più semplice capire il perché fare in un certo modo con un linguaggio intuitivo.
Poi quello che dici è corretto, devi pensare come pensa uno script e per quello non c'è linguaggio che possa aiutarti...
 
Hai ragione, però Java non aiuta... comprendere un While nel casino di Java è sicuramente più complicato che capirlo in Python... per me è sicuramente più semplice capire il perché fare in un certo modo con un linguaggio intuitivo.
Poi quello che dici è corretto, devi pensare come pensa uno script e per quello non c'è linguaggio che possa aiutarti...
Per fare i primi esercizi non serve ad una mazza sapere cos'è l'OOP, cosi come non serve sapere puntatori, strutture e gestione della memoria in C quando si inizia.
 
Hai ragione, però Java non aiuta... comprendere un While nel casino di Java è sicuramente più complicato che capirlo in Python... per me è sicuramente più semplice capire il perché fare in un certo modo con un linguaggio intuitivo.
Poi quello che dici è corretto, devi pensare come pensa uno script e per quello non c'è linguaggio che possa aiutarti...
Mah i costrutti base li comprendi nella quasi totalita' dei linguaggi moderni, l'unico requisito e' saper leggere. Chiaramente devi sapere cos'e' un while e perche' si usa ma questo esula da quale linguaggio si utilizza.


Sto studiando Java da 2 settimane
Ecco il tuo problema. Studia di piu'.

Scusa la schiettezza ma due settimane per chi inizia da zero non sono niente. Molto bene che tu sia in grado di distinguere un while ma non e' sufficiente saperlo "leggere", devi capire perche' e' stato usato (perche' un while e non un for ad esempio?).
Io ti consiglio di continuare a studiare a piccoli passi: prendi esercizi semplici, riscrivili a manina, modificali, estendili ma sopratutto rompili. Ad ogni modifica che apporti, prima di eseguire, chiediti cosa ti aspetti come output e se questo differisce da quanto ti aspettavi cerca di comprendere il perche'.
Uno strumento piuttosto usato sono i diagrammi di flusso, ti aiutano a scomporre problemi grossi in sottoproblemi (se sono piccoli sono piu' facili da risolvere ed e' meno probabile fare errori) ed a visualizzare la sequenza di operazioni/passi necessari per arrivare alla soluzione.

Tieni duro, all'inizio devi allenare la mente a pensare in modo un po' diverso ma vedrai che col tempo ti verra' naturale :ok:
 
Ciao a tutti, scusate in anticipo il tono melodrammatico haha.
Sto studiando Java da 2 settimane, ho delle slide fornite da un mio amico programmatore + diversi eserciziari trovati su internet.
Il problema è che non riesco a farmi entrare in testa la logica che c’è dietro Java.
Ogni volta che mi si pone di fronte un esercizio, anche se magari ne ho svolto uno uguale 1 ora prima , mi sembra sempre roba nuova, come se partissi costantemente da 0.

Anche un semplice esercizio con un ciclo while mi mette in difficoltà.
La teoria fin li l’ho studiata, se leggo un esercizio svolto lo riesco a comprendere nei limiti delle mie conoscenze...ma quando si tratta di scrivere nada, tutto vuoto.

Avete qualche consiglio amici?
Premetto che conosco giusto le basi della programmazione e nulla più.
Secondo me dovresti postare qualche esempio per far capire la difficoltà degli esercizi a cui ti riferisci.
 
Se è il tuo primo approccio alla programmazione, se è il tuo primo linguaggio che stai imparando, quello che ti consiglio prima di fare qualsiasi esercizi o qualsiasi prova di esempio di programma è di tenere bene a mente una cosa fondamentale per la programmazione in generale:
  1. Prendi carta e penna, e fai tanti Flowchart (diagrammi di flusso)
Potrebbe essere una cosa inutile, ma per un programmatore è essenziale avere in mente la logica dei passi da eseguire. Con il tempo ti escono in automatico.
Esempio stupido : prendere una bottiglia d'acqua in frigo
I passi sono: ( Andare davanti al frigo - Aprire il frigo - Prendere l'acqua - Chiudere il frigo)

Una volta che riesci a contestualizzare nel miglior modo possibile i "passi" da eseguire dinanzi ad un problema, incominci a strutturare il flowchart inserendo non piu "concetti", ma cerchi di scrivere un qualcosa di simile:
An introduction to Flowcharts - GeeksforGeeks

In questo modo riesci anche a distinguere ciò che hai bisogno per affrontare un problema.
Successivamente apri il tuo editor con il quale programmi, all'inizio va bene anche un semplice blocco note e una shell (In futuro ti consiglio eclipse). E mano a mano cerchi solo di trascrivere il flowchart sotto codice. Questo potrebbe aiutarti nell'impostare un programma da 0.

All'inizio non guardare troppo il significato della programmazione ad oggetti, non farti spaventare. Puoi programmare in Java (Sfruttando praticamente lo 0% del suo potenziale) senza conoscere cos'è la OOP (Object Oriented Programming).

Successivamente se ti può essere utile, per capire bene vari concetti, cerca sempre di fare degli esempi reali mentre studi.

Poi boh, esercizi a manetta.
 
Ciao a tutti, scusate in anticipo il tono melodrammatico haha.
Sto studiando Java da 2 settimane, ho delle slide fornite da un mio amico programmatore + diversi eserciziari trovati su internet.
Il problema è che non riesco a farmi entrare in testa la logica che c’è dietro Java.
Ogni volta che mi si pone di fronte un esercizio, anche se magari ne ho svolto uno uguale 1 ora prima , mi sembra sempre roba nuova, come se partissi costantemente da 0.

Anche un semplice esercizio con un ciclo while mi mette in difficoltà.
La teoria fin li l’ho studiata, se leggo un esercizio svolto lo riesco a comprendere nei limiti delle mie conoscenze...ma quando si tratta di scrivere nada, tutto vuoto.

Avete qualche consiglio amici?

Leggi i miei interventi qui:
Inizia dalla programmazione strutturata in Pascal o in C, ti manca il corretto metodo di studio, la giusta sequenza di lavoro completa, una chiara impostazione del "design" logico dei programmi, un programma non "nasce" ponendosi di fronte ad una tastiera, prima si deve analizzare il problema "a tavolino", comprenderlo a fondo e definirne le varie fasi secondo l'approccio top-down :sisi:
Riprendendo uno dei miei esempi, che mi piace spesso citare, volendo codificare un programma che calcola l'M.C.D. (il massimo comun divisore) tra due numeri interi, la prima domanda da porsi è la seguente: che cos'è il massimo comun divisore (tra due numeri interi) ?
Il Pascal (anche il C) si adatta perfettamente alla descrizione della programmazione strutturata: il linguaggio stesso ne è la rappresentazione, per così dire, naturale.
Ciao ;)
 
Leggi i miei interventi qui:
Inizia dalla programmazione strutturata in Pascal o in C, ti manca il corretto metodo di studio, la giusta sequenza di lavoro completa, una chiara impostazione del "design" logico dei programmi, un programma non "nasce" ponendosi di fronte ad una tastiera, prima si deve analizzare il problema "a tavolino", comprenderlo a fondo e definirne le varie fasi secondo l'approccio top-down :sisi:
Riprendendo uno dei miei esempi, che mi piace spesso citare, volendo codificare un programma che calcola l'M.C.D. (il massimo comun divisore) tra due numeri interi, la prima domanda da porsi è la seguente: che cos'è il massimo comun divisore (tra due numeri interi) ?
Il Pascal (anche il C) si adatta perfettamente alla descrizione della programmazione strutturata: il linguaggio stesso ne è la rappresentazione, per così dire, naturale.
Ciao ;)
Magari andrò controcorrente, però, personalmente, penso che, ancora prima di questo, ci debba essere una predisposizione logico-matematica(innata). Infatti per questo volevo capire quali fossero esattamente le sue difficoltà(se dipendono appunto dalla mancanza di esperienza o proprio da "problemi" suoi). Spero di non essere andato off-topic con questo mio intervento
 
Pubblicità
Pubblicità
Indietro
Top