Guida Domande frequenti su Java

DeeJack

Utente Electrum
25 Agosto 2015
409
25
43
124
Ultima modifica:
Quale IDE utilizzare?
-
Intellij IDEA, non usate eclipse. Perché? Intellij è fatto molto meglio, con un'interfaccia molto più bella, tantissimi plugin e funzioni che eclipse non ha (ad esempio un inspector di parole che riconosce quando una parola è stata scritta male, oppure più utile un inspector che riconosce quando è meglio usare private, public o package private, quando un ciclo non finisce mai, un equals usato in modo sbagliato, usare il lambda anziché un'anonima ecc. ecc)

Quale libro o sito usare?
- Consiglio tantissimo la documentazione (http://docs.oracle.com/javase/tutorial/) che contiene tutte le informazioni scritte veramente bene. Sconsiglio molto l'uso di siti come html.it poiché le informazioni sono molto vecchie e non aggiornate, anche se per vedere qualche concetto in italiano se si è negati in inglese non è troppo male, sconsiglio anche i vari video su youtube per le stesse ragioni. Se proprio non vi accontentate del materiale online allora andate su amazon e vedete le recensioni, prendendo il libro più consigliato.

Che "skill" bisogna avere per imparare questo linguaggio?
- Quasi per tutto serve l'inglese, per leggere le varie documentazioni, le descrizioni, chiedere aiuto alla community ecc. e nient'altro, solo che a causa della OOP è parecchio difficile da affrontare come 1° linguaggio

Cosa fare dopo aver imparato le basi?
- Esercitatevi molto, pensate a dei progettini vari e createli. All'inizio fate solo progetti console, non GUI. Guardate dei progetti fatti da altre persone su github che anche da quello si impara molto

Swing o JavaFX?
- Assolutamente JavaFx, swing è brutto esteticamente e obsoleto, usate JavaFx per le GUI.

Convenzioni
- Anche rispettare le convenzioni è importante, sia per avere più facilmente aiuto dalla community, sia per quando si lavora in team, poiché non si può scrivere unico codice tutto diverso. Qui potete trovare le convenzioni di oracle, QUI lo stile di google.

Documentare è davvero importante?
- Assolutamente sì, anche se è una cosa noiosa che neanche a me piace serve documentare, per fare in modo che gli altri sviluppatori (se è un API pubblica o se si lavora in un team) possano capire cosa fa quella classe, ma anche a voi perché dopo mesi o anni non potrete ricordavi tutto quello che avevate fatto.

Ma perché studiare? Basta fare pratica con i video no?
- Assolutamente no, sapere le definizioni è molto importante per capire tutti i concetti, soprattutto la OOP.

Copiare codice serve a qualcosa?
- Se si copia senza capire il codice prendendolo ad esempio da una domanda su StackOverflow o su github non serve a niente, se invece studiate quel codice per capire tutto il funzionamento è molto utile.

Sono davvero importanti i package?
- Sì, è molto importante dare una struttura alle varie classi, quando si hanno molte classi averle tutte in un package è una pazzia.

Inizia a pensare ad oggetti
- In java praticamente tutto si basa sulla programmazione ad oggetti, usa il meno possibile variabili o metodi statici per fare invece posto agli oggetti.

Se avete qualche consiglio su qualcosa da cambiare, qualcosa da aggiungere dite pure.
 
Ciao, grazie per il post utilissimo :)
Ce ne sono altri di siti utili allo studio/programmazione come stackoverflow?
Nel caso potresti elencarli?
Grazie
 
Per chi programma in Java, specialmente se da relativamente poco tempo, c'è un aspetto importante da non ignorare/sottovalutare: il "saper" leggere la documentazione javadoc del framework di JavaSE (così come di altre eventuali librerie/framework). Che è (di norma) in lingua inglese, quindi richiede ovviamente un po' di dimestichezza con l'inglese perlomeno a livello "tecnico".
Mi è già capitato di sentire gente che diceva di non saper (o peggio, non voler) leggere la documentazione javadoc .... ritenendola forse inutile. Purtroppo non è inutile .... è fondamentale.
 
Ciao, grazie per il post utilissimo :)
Ce ne sono altri di siti utili allo studio/programmazione come stackoverflow?
Nel caso potresti elencarli?
Grazie
Ce ne sono tantissimi di sirmti del genere, stackoverflow é uno dei più grandi ma non é questo l'importante: é importante sapere che ciò che si legge potrebbe essere sbagliato o che funziona ma fatto male, bisogna tenere conto anche di questo.
Per chi programma in Java, specialmente se da relativamente poco tempo, c'è un aspetto importante da non ignorare/sottovalutare: il "saper" leggere la documentazione javadoc del framework di JavaSE (così come di altre eventuali librerie/framework). Che è (di norma) in lingua inglese, quindi richiede ovviamente un po' di dimestichezza con l'inglese perlomeno a livello "tecnico".
Mi è già capitato di sentire gente che diceva di non saper (o peggio, non voler) leggere la documentazione javadoc .... ritenendola forse inutile. Purtroppo non è inutile .... è fondamentale.
Hai assolutamente ragione, il javadoc é molto utile, e come ho scritto l'inglese é praticamente fondamentale.
Messa in rilievo ;)

Mi sento ferito per il mio Eclipse ma penso darò un occhiata a quest'altro IDE :(
Grazie!
Mi spiace per il tuo eclipse ma non te ne pentirai
 
salve,
lavoro con java da circa un anno, ho un problema con icona dell'applicazione java.
ho un immagine.png che viene caricata perfettamente quando faccio partire app, però l'eseguibile su cui faccio doppio clic e rimasta quella di default "tazza di caffe"... qualcuno mi può consigliare una soluzione a questo problemino?

grazie in anticipo
 
salve,
lavoro con java da circa un anno, ho un problema con icona dell'applicazione java.
ho un immagine.png che viene caricata perfettamente quando faccio partire app, però l'eseguibile su cui faccio doppio clic e rimasta quella di default "tazza di caffe"... qualcuno mi può consigliare una soluzione a questo problemino?

grazie in anticipo
Se intendi proprio l'icona del jar non puoi cambiarla, rimane sempre quella del programma che si imposta nelle proprietà(che sia java, winrar, 7zip ecc).
 
Aggiungerei a Cosa fare dopo aver imparato le basi di fare ciò per cui si è appassionati.
Quando finisce un progetto, quando qualcosa funziona, dovete avere uno stimolo, ovvero la soddisfazione. Se non c'è soddisfazione, dopo 2-3 progetti vi stancherete, è per questo che non si fa pratica a suon di Hello World, che stimolo dovrebbe dare un "Ciao Mondo"?
Io per esempio, pur non conoscendo per niente Java, volevo collegare il mio Raspberry ad Android, e per farlo ho scritto un app che si connette al Raspberry (apre un socket).
Devo dire che in 5-6 ore ci sono riuscito totalmente, e adesso posso controllare il mio Raspberry attraverso l'interfaccia scritta su Android Studio, e funziona benissimo.

L'importante, per imparare, è che ciò che fate vi dia soddisfazione, perché quando avrete la prima dose di soddisfazione resterete svegli notti, farete di tutto per avere la prossima, come un eroinomane venderebbe il culo per avere una dose, voi vi studiereste anche tutta la javadoc pur di arrivare all'obiettivo.

E niente, tutto qui.
 
  • Mi piace
Reazioni: DeeJack
Quale IDE utilizzare?
-
Intellij IDEA, non usate eclipse. Perché? Intellij è fatto molto meglio, con un'interfaccia molto più bella, tantissimi plugin e funzioni che eclipse non ha (ad esempio un inspector di parole che riconosce quando una parola è stata scritta male, oppure più utile un inspector che riconosce quando è meglio usare private, public o package private, quando un ciclo non finisce mai, un equals usato in modo sbagliato, usare il lambda anziché un'anonima ecc. ecc)

Quale libro o sito usare?
- Consiglio tantissimo la documentazione (http://docs.oracle.com/javase/tutorial/) che contiene tutte le informazioni scritte veramente bene. Sconsiglio molto l'uso di siti come html.it poiché le informazioni sono molto vecchie e non aggiornate, anche se per vedere qualche concetto in italiano se si è negati in inglese non è troppo male, sconsiglio anche i vari video su youtube per le stesse ragioni. Se proprio non vi accontentate del materiale online allora andate su amazon e vedete le recensioni, prendendo il libro più consigliato.

Che "skill" bisogna avere per imparare questo linguaggio?
- Quasi per tutto serve l'inglese, per leggere le varie documentazioni, le descrizioni, chiedere aiuto alla community ecc. e nient'altro, solo che a causa della OOP è parecchio difficile da affrontare come 1° linguaggio

Cosa fare dopo aver imparato le basi?
- Esercitatevi molto, pensate a dei progettini vari e createli. All'inizio fate solo progetti console, non GUI. Guardate dei progetti fatti da altre persone su github che anche da quello si impara molto

Swing o JavaFX?
- Assolutamente JavaFx, swing è brutto esteticamente e obsoleto, usate JavaFx per le GUI.

Convenzioni
- Anche rispettare le convenzioni è importante, sia per avere più facilmente aiuto dalla community, sia per quando si lavora in team, poiché non si può scrivere unico codice tutto diverso. Qui potete trovare le convenzioni di oracle, QUI lo stile di google.

Documentare è davvero importante?
- Assolutamente sì, anche se è una cosa noiosa che neanche a me piace serve documentare, per fare in modo che gli altri sviluppatori (se è un API pubblica o se si lavora in un team) possano capire cosa fa quella classe, ma anche a voi perché dopo mesi o anni non potrete ricordavi tutto quello che avevate fatto.

Ma perché studiare? Basta fare pratica con i video no?
- Assolutamente no, sapere le definizioni è molto importante per capire tutti i concetti, soprattutto la OOP.

Copiare codice serve a qualcosa?
- Se si copia senza capire il codice prendendolo ad esempio da una domanda su StackOverflow o su github non serve a niente, se invece studiate quel codice per capire tutto il funzionamento è molto utile.

Sono davvero importanti i package?
- Sì, è molto importante dare una struttura alle varie classi, quando si hanno molte classi averle tutte in un package è una pazzia.

Inizia a pensare ad oggetti
- In java praticamente tutto si basa sulla programmazione ad oggetti, usa il meno possibile variabili o metodi statici per fare invece posto agli oggetti.

Se avete qualche consiglio su qualcosa da cambiare, qualcosa da aggiungere dite pure.
Allora io ho utilizzato Eclipse e non è malaccio, unica cosa bisogna stare attenti ai plugin esterni, perché alle volte si rompono rendendo inservibile l'IDE, io vi varo un esempio abbastanza semplice di questa rottura, nella versione di eclipse 2019.12 era avvenuto un bug che entrava in conflitto con il plungin Windowbuilder che serve per progettare le interfacce, sostanzialmente avveniva un crush e ci perdevi il lavoro. Ma attualmente questo problema non è più presente. Purtroppo molte aziende usano Eclipse quindi consiglio comunque di dargli un occhiata nonostante i difetti, perché se l'intento è quello di entrare nel mondo del lavoro si avrà a che fare anche con questo ide
 
Personalmente Eclipse non dispiace. Mi è stato utile per lo sviluppo di applicazioni web aventi Apache Tomcat come Middleware.
Comunque la maggior parte dei problemi citati nel main topic sono stati risolti da un bel po'.