Categorie
Libri

Elaborazione e Analisi dell’immagine digitale

Sulla base del buon libro di Gonzalez e Woods sto realizzando un riassunto. Ci vorrà ancora qualche settimana prima di avere un risultato presentabile.

Link alla versione non definitiva

Categorie
Libri

Java 8 – Pellegrino Principe (prime impressioni)

Ogni anno Apogeo aggiorna la sua linea di prodotti editoriali proponendo delle revisioni più o meno corpose. Java 8 di Pellegrino Principe é una di queste, e fortunatamente si rivela un libro di discreta qualità.

Come è consuetudine nel panorama editoriale italiano, il libro si propone come una guida: completa – adatta ai neofiti – capace di affrontare tutti gli argomenti a 360 gradi – essere utile anche a chi ha maturato esperienza con il linguaggio.

Tutti buoni propositi, per carità, ma difficilmente gli autori ci hanno abituato a libri capaci di soddisfare tutte le promesse. Parlando specificatamente del libro in oggetto, e’ evidente sin dalle prime pagine come l’autore, che ha evidenti capacità e conoscenze nell’ambiente di sviluppo, cerchi di venire incontro verso chi muove i primi passi. I primi capitoli, in tal senso, sono capaci di chiarire i concetti della programmazione ad oggetti grazie ad un linguaggio chiaro, conciso e con buoni esempi di codice. Le cose si complicano nei capitoli più avanzati (dal capitolo 7 in poi) dove, se non si avranno compreso a menadito tutti i concetti OOP, sarà poi difficile avanzare con scioltezza. Probabilmente qualche pagina in più avrebbe aiutato i neofiti a destreggiarsi con concetti non proprio intuitivi come il binding dinamico, il poliformismo, le interfacce, ecc).

Sia chiaro, l’autore è un buon insegnante, ma come tanti altri autori italiani di altri testi simili, si “limita”, se così si può affermare, a dare la definizione di un concetto, illustrare qualche chiaro esempio, senza offrire quel qualcosa in più che potrebbe e dovrebbe rendere l´apprendimento più proficuo. Un esempio? Il concetto che illustra i modificatori di accesso di Java (public, protected, private) viene descritto sommariamente in una prima occasione, per poi essere approfondito nei vari paragrafi successivi, aspetto che non sempre agevola la comprensione di un concetto. Nel caso dei modificatori mi sono dovuto rivolgere alla pagina della documentazione ufficiale di Oracle per chiarirmi alcune perplessità:

  • i modificatori si dovrebbero illustrare parlando di Accesso e Visibilità
  • Un modificatore protected rende i membri di una classe accessibili ad una classe di un Package differente, basti che esista una relazione di ereditarietà

Il libro non soddisferà chi predilige i testi con una trattazione rigorosa e ben delineata. L’autore pur seguendo un ordine logico nei concetti esposti, spesso accenna a dei concetti importanti per poi approfondirli solo successivamente. Si tratta di uno stile, che ha i suoi vantaggi poiché facilità la trattazione di argomenti “pesanti”, ma che comunque potrebbe non soddisfare qualsiasi palato.

Ho apprezzato che in più occasioni venga riportato e spiegato il codice prodotto dal compilatore, aspetto che rende più chiaro il perché Java operi determinate scelte. Oltre ai diversi esempi, l’autore è infatti prodigo di consigli che palesano le proprie esperienze sul campo, anche se avrei preferito dei veri e propri capitoli dedicati al modo corretto di pensare secondo la programmazione ad oggetti. Come in tanti altri testi simili, si comprende, per esempio il concetto di classe astratta o interfaccia, senza però poi saperle impiegare nel modo corretto nei propri progetti, e perdendo cosi i vantaggi e le potenzialità che ne derivano. Si sente la mancanza di esempi che mediante “errori di progettazione” indotti permettano di abituarsi a pensare e lavorare secondo un modello OOP.  Un parere personale è che tanti libri rivolti ai neofiti si prodighino nel far apprendere la corretta sintassi di una istruzione, senza invece dare quei consigli pratici che indirizzino il lettore ad uno sviluppo corretto e produttivo in chiave OOP. Un esempio in tal senso è dato dalla pagina ufficiale di Oracle sui modificatori, menzionata poc’anzi, dove si leggono anche delle pratiche comuni, dettati dal buon senso e dal rispetto delle logiche OOP, ovvero:

  • Usare sempre i modificatori più restrittivi a meno che non ci sia un buon motivo per non farlo
  • Evitare di utilizzare i modificatori public per i campi se non si tratta di costanti

Si tratta di inezie, ma che secondo il sottoscritto, se implementate sistematicamente in ogni capitolo, magari affiancando lo sviluppo di un vero progetto, renderebbero Java 8 di Pellegrino Principe un manuale superiore a molti altri. Segnalo per finire, il sito ufficiale di Apogeo in cui scaricare l´indice del libro, gli esempi e un capitolo introduttivo e la pagina dell´autore che però non presenta, come talvolta accade, alcun approfondimento agli argomenti trattati.

Pagina dell´autore

Editore Apogeo

Categorie
Libri Sviluppo

Java: con quale libro impararlo?

Sto leggendo “Manuale Java 7” di Claudio de Sio e “La guida completa di Java” di Helbert  Schildt. Due approcci diversi che voglio esaminare per capire con quale sistema sia meglio, più semplice apprendere Java.

Claudio De Sio è italiano, più umano, con un approccio più immediato. Schildt è rigoroso, a tratti complesso, e difficile da padroneggiare ma sicuramente da più il senso di libro di testo universitario.

Restate sintonizzati.

Categorie
Libri

Responsive Web Design: il libro

resposiveGianluca Troiani presenta un libro completo e immediato sull’utilizzo dell’HTML Responsive, ovvero capace di creare un layou adattabile al dispositivo utilizzato dall’utente. Secondo questa pratica, l’informazione viene posta al centro dello sviluppo, senza limitazioni: è il dispositivo, in base alla grandezza dello schermo, della risoluzione a dover creare un layout dinamico che non penalizzi l’accessibilità dell’informazione.

Il libro è ben scritto, scorrevole ma la sensazione che si sarebbe potuto realizzare un libro ben più “corposo”, con un maggiore sforzo, ci ha accompagnato dall’inizio alla fine della lettura. Le immagini a colori sono sempre una gradita sorpresa nel panorama dei libri informatici, ma quello su cui Apogeo non avrebbe dovuto lesinare è il numero di pagine: si vede che l’autore ha una conoscenza buona del settore, ma il libro non accenna al tema dell’accessibilità sotto il profilo del supporto alle WCAG (aspetto in parte inerente al Responsive) e al valore semantico introdotto dalla nuova revisione 5 dell’HTML. Bisogna comunque ammettere che l’argomento trattato è vastissimo a seconda del focus scelto: framework, accessibilità, HTML, semantica sono argomenti che si possono collegare al Responsive Web Design, ma il fatto che siano assenti o accennati, non può essere una critica negativa mossa a questo libro. Il libro di Troiani si rivolge, non ai profani assoluti, ma a chi, avendone le basi (HTML, CSS) vuole avere una panoramica, veloce e agile, su un argomento a loro sconosciuto.

Interessanti alcune disquisizioni sul compromesso di Florian, o sui Framework più in voga (è preso in esame soprattutto Pure), e sui problemi, non pienamente risolti legati all’uso delle immagini in contesti responsive.

In definitiva, l’intento dell’autore è raggiunto: la realizzazione di una panoramica veloce, chiara e soprattutto interessante sul tema Responsive per quegli sviluppatori che ne fossero però a digiuno. Ci sarebbe piaciuto che alcuni temi fossero trattati in maniera più esaustiva e completa per chi conosce il tema trattato, perché l’autore, lo ripetiamo, è capace.

Scheda sul sito Apogeo

Indice

Categorie
Libri Sviluppo

Python

Apogeo nella sua linea di tascabili tratta anche l’argomento Python, uno splendido linguaggio interpretato semplice da apprendere nonostante i paradigmi OO e funzionale. E’ simile a Java, ma estendibile facilmente con estensioni sviluppate con altri linguaggi più performanti.

Marco Beri ci offre, ad un prezzo decisamente contenuto, una panoramica di questo linguaggio partendo dalle basi sino allo sviluppo di un vero e proprio progetto. Il tono con cui vengono affrontati gli argomenti è sempre molto amichevole: i primi capitoli sono molto scorrevoli per un neofita in cui viene presentato il linguaggio, si spiega come installarlo e compiere i primi passi (immancabile “Hello World!”); ma dopo la spiegazione dei diversi Tipi di dati, l’autore sembra pretendere un po’ troppo da se stesso. Alcuni concetti sono appena accennati e spesso lasciano dubbi, piuttosto che certezze. E’ vero che l’informatica è rivolta a chi è curioso di apprendere utilizzando anche altre fonti, ma in questo caso, l’utilizzo del testo di Marco Beri viene meno, in quanto anche un utente smaliziato, non si troverà mai a proprio agio con la trattazione degli argomenti poco rigorosa e trattata come se l’autore fosse “di corsa”. Troppo il desiderio di illustrare le potenzialità del linguaggio, che il lettore si trova, suo malgrado, incanalato nell’angusto corridoio narrativo del Berri, da cui è pericoloso allontanarsi. Arrivare sino allo sviluppo dell’applicativo “Full House” è un vero incubo di cose non dette, e di fiducie concesse. Forse sarebbe stato il caso di essere meno pretenziosi e realizzare un libretto (di questo in fondo si tratta) più rigoroso e rassicurante per il lettore che si chiede: “e se facessi…”.

Probabilmente con un numero maggiore di pagine o, meglio, uno sviluppo su più volumi, l’autore si sarebbe potuto esprimere con maggiore disinvoltura. Allo stato attuale, nonostante il basso prezzo, ne sconsiglio l’acquisto: potrebbe farvi passare il desiderio di avvicinarvi a Python.

Consiglio la documentazione gratuita sul sito italiano dedicato a Python