Ragazzi,avrei un'altra domanda:ci sono differenze di linguaggio e sintassi tra java EE e Java SE?Mi sento molto confuso,java mi sembra già da ora complicatissimo,quindi vi prego di aiutarmi
Però non c'hai detto che esperienze hai già. Java non è un linguaggio banale o semplice, ma è estremamente potente. E' di fatto un linguaggio da conoscere, non fosse altro che è usato dappertutto ed è da anni al primo posto tra i linguaggi più diffusi.
Comunque non è il caso di spaventarsi. C'è un libro molto ben fatto ( purtroppo sono 1000 pagine e rotti ) Java the Complete Reference di Schildt. Parte dall'hello world fino a Swing, framework Join/Fork, JavaFX e stream. La decima edizione ( l'ultima ) è aggiornata a Java 9. Dovresti prendere almeno la nona che è aggiornata a Java 8.
Detto questo, ci sono varie cose da chiarire su Java, sul suo ecosistema e sull'interoprabilità con altri linguaggi:
1. Java supporta, tramite JNI, l'interoperabilità con codice nativo scritto in C, C++ e compagnia
2. Java interagisce con Javascript nei termini in cui lo fanno molti dei linguaggi moderni, cioè esistono trasduttori Java-Javascript, che traducono i programmi Java in codice Javascript ( via TeaVM )
3. Java è multipiattaforma e supporta PC e dispositivi mobili ( e altre robe di cui il 90% della gente non ha mai nemmeno sentito parlare )
4. la JVM non è Java, nel senso che Java è solo uno ( il primo, il più importante e quello che ha dato forma al modello di programmazione della JVM ) dei linguaggi che possono girarci. Altri famosi ( e dotati di caratteristiche importanti per certi ambiti ) sono Scala, Kotlin, Clojure. Per cui padroneggiare la piattaforma "Java" implica poter usare anche altri linguaggi
5. l'ecosistema di librerie di terze parti ( per fare qualsiasi cosa immaginabile ) è sterminato
6. Java EE, Java SE, Hotspot, Azul, non fissarti troppo con i millemila nomi e termini che troverai cercando in giro. Non c'è differenza tra il Java di Java EE e quello di SE. La differenza tra nelle librerie e nelle funzionalità che offrono, il primo è ad uso server, il secondo ad usare desktop/client. Ma ripeto, il linguaggio è quello. Gli altri termini indicano varie implementazioni della JVM. E ne troverai altri, alcuni che riguardano sistemi operativi scritti in Java, altri che riguardano implementazioni in hardware. Alcune cose fantastiche come leJOS, cioè la versione di Java che gira sui Lego...si i Lego!! Java è ovunque e ovviamente ci sono varie implementazioni. Ma non t'importa per ora. Alcune offrono più funzionalità, altre meno, talune hanno differenze ( mai eccessivamente marcate ) rispetto all'implementazione ufficiale ed originale di Oracle. Ma non è un problema che devi porti adesso. Per ora studia Java, il linguaggio.
Dunque è un linguaggio complesso ( molto meno del C++ che è ordini di grandezza più incasinato oltretutto ), che però è al centro del mondo informatico moderno ( piaccia o meno ), è solo un pilastro di una piattaforma avanzatissima che gira su tutto, dai device embedded ai supercomputer.
Il mio consiglio è di non scoraggiarti, visto che alla fin fine è solo un linguaggio di programmazione. Se tieni sempre a mente che conoscendolo ti si aprirà un mondo di opportunità, troverai l'entusiasmo per studiarlo.
Il libro che ti ho consigliato è facile da seguire per chi ha già un background di programmazione in C e/o C++. Ovviamente c'è da sudare di più se non si ha già una buona esperienza e conoscenza di base.