00. Corso completo di Programmazione Java – Benvenuti

Corso Java

Nuova Sezione Corso Java

Introduco con questo post una nuova sezione che troverete a partire da oggi sulle nostre pagine. Si tratta di un Corso Completo di Programmazione Java. Il corso si dipanerà attraverso uno svariato numero di post, a partire dal primo, che sarà online a breve. Il corso sarà lungo, come molte serie TV. A differenza di molte serie TV non vogliamo che ci siano morti per strada: partiremo quindi dalle basi, facendo in modo che chiunque possa seguirci, fino ad arrivare ad argomenti non dico avanzati, ma non banali sicuramente sì. Cercheremo infine di utilizzare strumenti e modalità che consentano una vostra partecipazione attiva; ma ancora non voglio rivelare più del dovuto, per non rovinare la sorpresa :-).

Perchè proprio Java

I motivi sono tanti, ma sicuramente sono schematizzabili in due macro obiettivi:

  • Java è un linguaggio diffusissimo e richiestissimo nel mondo del lavoro: siamo sicuri che questo Corso sarà di utilità a molti e siamo lieti di farvi questo “regalo”;
  • Java è il linguaggio utilizzato per sviluppare applicazioni per Android, sia per SmartPhone che per Tablet.

Cos’è Java?

Prima di lasciarvi e dedicarmi alla scrittura del primo post di questo Corso due parole su Java:

Una stella è nata

Nel Maggio del 1995 la piattaforma Java venne ufficialmente presentata da Sun Microsystems (ora Oracle). L’ambizioso obiettivo era creare un linguaggio che funzionasse senza modifiche su qualunque device, secondo lo slogan “Write once, run everywhere” (Scrivi una volta, esegui ovunque) e funzionasse da magico collante che connettesse l’utente finale con l’informazione, da qualunque fonte provenisse (Database, Web Server etc). Java è non solo un linguaggio di programmazione ma una piattaforma che si compone di:

  1. Linguaggio Java
  2. Java Virtual Machine (JVM)
  3. Java API (Librerie)

La progettazione e lo sviluppo della piattaforma è controllato da Oracle e dalla comunità di utenti attraverso il Java Community Process (JCP).

Il successo

Gli ambiziosi obiettivi di questa piattaforma sono stati in buona sostanza raggiunti, a parte qualche flop sul Web dove il JavaScript ha in realtà soppiantato le Java Applet nonostante tutti i problemi di compatibilità e di assenza di standard che lo affliggevano (ora molto meno grazie ai browser di ultima generazione: Internet Explorer 9.0, Firefox 4.0 e il velocissimo Google Chrome).

Il linguaggio è stato ingegnerizzato con basi solide e razionali e ha ormai il supporto di tutti i Vendor che contano sulla scena. Negli anni ha dimostrato di saper essere flessibile e pervasivo: dopo aver conquistato il Web è entrato anche nel mondo del mobile development (piattaforma Android). La community Java è attivissima: ci sono ormai decine di standard e specifiche, centinaia di framework scritti in Java, millioni di programmi Java che girano nel mondo.

Caratteristiche tecniche di Java

Entreremo nel dettaglio su questi aspetti nei prossimi post, ma per ora elenchiamo le caratteristiche base del linguaggio. Java come linguaggio è:

  • multipiattaforma (Java Virtual Machine);
  • Object oriented;
  • nativamente multithread;
  • a gestione trasparente della memoria dinamica (Garbage Collector);
  • strong-typed.

Conclusioni

Come tutte le cose che hanno successo Java è un linguaggio adorato da alcuni, odiato da altri. Java sa essere rigoroso, talvolta ostico e impararlo richiede diverso tempo: si stima che formare una risorsa neo assunta in azienda richieda fino a 6 mesi. L’approccio alla programmazione deve essere strutturato e probabilmente una buona modellizzazione a monte aiuta: insomma il Cowboy Programming in Java risulta controproducente.

Tuttavia il consiglio che vi do è: non amiamo le cose, ma le persone. Java è uno strumento, ideale per alcune cose, meno per altre. Come tale va conosciuto per trarne il massimo vantaggio e vi assicuro che, se usato nel contesto e nel modo giusto, è uno strumento che sarete contenti di avere a disposizione: inutile arrabbiarsi col martello se vi siete fatti male ad un dito :-).

Il corso continua con…

01 – Creiamo insieme un Hello World in Java.

By Manuele Piastra

Sono un Project Manager i cui skill tecnici sono focalizzati al momento sullo sviluppo di applicazioni JavaEE (application server IBM Websphere 7.0 utilizzando JSF (RichFaces), JPA (EclipseLink) ed EJB3) ed Android. Presso OmniaGroup ricopro il ruolo di Training Manager: seleziono il personale tecnico, mi occupo della sua crescita formativa organizzando Corsi e Workshop sia interni che esterni, molti dei quali hanno visto me come docente. Ho tenuto sette sessioni di un corso di formazione di 50 ore sulle tecnologie JavaEE su Application Server WebSphere IBM presso il nostro cliente principale, Coop Italia, dei cui sistemi informativi sono consulente di riferimento. Sono blogger su CoseNonJaviste, blog tecnico che si occupa di Android e Java. Consulta il mio Curriculum online per maggiori informazioni.

21 comments

  1. Ottima iniziativa!
    Una domanda ed un consiglio:
    1)Ogni quando verranno pubblicati i post?
    2)Perchè non fare una newsletter, come reminder ogni volta che viene pubblicato un nuovo post?

  2. Grazie a tutti per l’entusiasmo dimostrato. I post saranno 1 la settimana, non prevedo problemi nel creare la newsletter. Se avete richieste o idee non esitate a farvi avanti: ci piace fare in modo che questo corso sia utile per tante persone. Saluti

  3. durante il corso ci sara’ bisogno di scaricare qualche software?
    se si, potreste postare i link?
    grazie e complimenti 😉

  4. Forse sono distratto, ma sarebbe utile avere un link al post successivo del corso non del blog in modo da procedere spediti da una lezione all’altra senza passare da post che non riguardano direttamente il corso. GRazie
    R

    p.s. se ho detto una minchiata, scusate! 😉

      1. Vorrei chiedere se è possibile accedere ad un elenco completo delle lezioni, sono arrivato alla 11 e non riesco a trovare la 12 :’) Grazie in anticipo

  5. Ottima iniziativa!!!
    Io ho studiato Java 5 anni fa, poi per lavoro non lo più usato, costretto ad usare linguaggi procedurali o di altro genere…
    Questa occasione per rinfrescarmi la memoria non me la perdo!
    Grandi!

    ps.: fra l’altro casca a fagiolo visto che volevo sviluppare qualche app per android!

Comments are closed.