Archivi per la categoria ‘Books’

Beginning C# Objects: From Concepts to Code

mercoledì, 6 luglio 2005

Di rado mi è capitato di leggere un bel libro sulla programmazione. Solitamente i libri dedicati ad un linguaggio di programmazione sono delle semplici guide alla semantica e alla creazione veloce di form windows o di mediocri applicazioni. Beginning C# Objects (From Cocepts to Code) è una felice eccezione.
Il libro è logicamente diviso in quattro parti.
Nella prima parte viene affrontata la semantica di base del linguaggio C#. In questa, molto velocemente, vengono esaminati
i tipi primitivi e i cicli di controllo: tutto quel che serve per cominciare a leggere il libro. Grazie a questi pochi “assaggi” di C# e grazie al largo uso dello pseudo-codice durante gli esempi, il libro introduce, con un esempio pratico di realizzazione di un progetto, i primi concetti di programmazione ad oggetti.
E’ questa seconda parte, una delle più più interessanti del libro. I concetti della OO programming vengono discussi mettendone in luce non solo le caratteristiche salienti ma, soprattutto, spiegando praticamenti le motivazioni che rendono la programmazione ad oggetti una vera manna per chi si deve dedicare alla realizzazione di progetti software veloci e complessi.
Attraverso l’esempio portante del libro (un gestionale per le iscirzioni degli alunni ai corsi universitari) vengono illustrati i passi necessari per passare dalla descrizione delle specifiche fatte dal committente del progetto, alla stesura del documento guida della progettazione, fino ad arrivare alle metodologie di scambio delle idee all’interno di un gruppo di programmatori.
La terza parte, anch’essa estremamente interessante, spiega come formalizzare le idee espresse grazie ai concetti eviscerati durante lo studio del programma: ovvero come creare gli use case, come utilizzare la notazione UML per la definizione degli oggetti e come riprodurre graficamente le relazioni che tra essi intercorrono.
La quarta parte del libro comincia a mettere effettivamente le mani sul codice, spiegando i processi che portano alla scrittura del codice vero e proprio a partire dagli schemi fin qui realizzati. Ad essere sincero, la parte finale del libro somiglia un po’ troppo a quella di molti altri libri, ma sono convinto che le prima 545 pagine del libro siano assolutamente invoglianti e valgano assolutamente la spesa affrontata ($ 49,99 o $ 32,99 su Amazon).
Per uno “spaghetti programmer” come me, è stato molto interessante capire quali siano i concetti alla base della realizzazione di un progetto complesso. Molti di questi concetti mi sono stati utilissimi nella pratica, soprattutto quelli relativi alla creazione della documentazione delle specifiche del progetto. Devo comunque essere sincero e dire che, sebbene questi consigli siano oro, è necessaria una gran forza di volontà per non lasciare penna e foglio e buttarsi a capofitto sulla tastiera per programmare.
Il libro, di oltre 800 pagine, è veramente scorrevole ed è un ottimo modo, soprattutto per chi sia un po’ a digiuno dei concetti di Programmazione ad Oggetti, per accostarsi a questo ottimo linguaggio di programmazione.

Beginning C# Objects: From Concepts to Code
by Jacquie Barker, Grant Palmer
Apress (2004)
819 Pagine

Recensione: Absolute BSD

lunedì, 21 marzo 2005
Si dice che BSD sia un sistema operativo riservato ai soli techno-geek. In effetti è vero che è un sistema operativo con un grado di complessità superiore rispetto a Linux (che già da molti è giudicato complicato). Eppure le tecnologie più cool del mondo dell’informatica si basano proprio su BSD, o hanno avuto origine su BSD. Tanto per fare qualche esempio, il sistema operativo del MAC, Mac OS X, è in larga parte basato su FreeBSD e molte delle tecnologie che utiliziamo quotidianamente sono nate su BSD (o sui suoi predecessori), come ad esempio il TCP/IP, o gli standard di crittografia SSL e i tool della suite openSSH.
Ciononostante BSD è rimasto un sistema operativo per addetti ai lavori, non per il grande pubblico, e a dire il vero la comunità BSD ne è in parte orgogliosa!

Se volete entrare a far parte di questo gruppo, non certo nutrito, di estimatori di BSD e in particolare di FreeBSD, Absolute BSD è il libro che fa per voi.

L’autore, Michael Lucas, è un tecnico di notevole capacità, ma ha anche il dono di saper esporre i concetti più complessi con semplicità e con una punta di ironia, che impedisce al lettore di annoiarsi.

L’impostazione del libro è particolarmente intelligente, ad esempio dopo il primo capitolo sull’installazione e il secondo su come reperire informazioni su FreeBSD, Lucas dedica il terzo al backup. La filosofia è “prima di giocarci è meglio salvare la situazione in maniera da poterla ripristinare rapidamente”.
Questo particolare la dice lunga sul modo di vedere le cose di Lucas, e fa capire che questo non è il solito manuale, che cerca di dare due strumenti pratici di base sull’installazione di un sistema operativo, ma al contrario vi si trova moltissima filosofia di buona gestione dei sistemi server, BSD in particolare, ma più in generale di sistemi Unix.
Scordavo di dire che questo testo è interamente dedicato ai sistemi server tranne un solo capitolo in cui Lucas da qualche dritta (poche, a dire il vero) su come usare FreeBSD come desktop.
In tutto il resto del libro l’unico strumento di lavoro che Lucas cita è la shell testuale, ed ovviamente consiglia di non installare l’interfaccia grafica su macchine server.

Devo però ammettere che qualche difetto questo libro ce l’ha. In primo luogo non è aggiornatissimo, in quanto fa riferimento alla versione 4.x di FreeBSD mentre ormai siamo al rilascio 5 (5.3 nel momento in cui scrivo), inoltre i capitoli sui servizi applicativi (Email, Web e Ftp server) sono meno curati rispetto al resto del testo, quindi se chi legge è veramente un neofita e ha l’obiettivo di mettere in piedi un box BSD per fare da mail server o web server, è opportuno che si doti anche di qualche testo specifico su Apache, Postfix, Qmail, ecc.
A parte questi piccoli nei, il libro è ottimo, e se non avete paura di digitare comandi sulla shell vi farà amare FreeBSD alla follia.
Io, ad esempio, dopo averlo letto mi sono immediatamente dato l’obiettivo di migrare il mio server Linux in FreeBSD, migrazione che è in corso e che si concluderà appena troverò un attimo di tempo libero!

Recensione: Linux Server Hacks

venerdì, 18 marzo 2005
Volete soluzioni rapide ai problemi quotidiani nell’amministrazione di sistemi Unix e in particolare di Linux?
Questo testo fa per voi. Contiene 100 problemi risolti, classificati per area (Server Basics, Revision Control, Backups, Networking, Monitoring, SSH, Scripting, Information Servers), frutto della quotidiana convivenza dell’autore (Rob Flickenger) con Linux.
Lo stile è sintetico, a dire il vero si potrebbe definire “scarno”, ma questo non toglie che molti dei trucchi suggeriti siano estrememente utili. L’autore ha usato la sua enorme competenza sui sistemi Unix per mettere in piedi soluzioni semplici e affidabili a problemi a volte anche complessi.
Qualche esempio interessante:

  • #1 Removing unnecessary services
  • #19 Cleaning up after ex-users
  • #42 Automated snapshot-style incremental backup with rsync
  • #48 Forwarding TCP ports to arbitrary machines
  • #62 Disk age analysis
  • #78 Setting up caching DNS with authority for local domains

Se dovete gestire uno o più server Unix, non vi fa paura lo shell scripting e volete avere sottomano soluzioni rapide a problemi comuni, questo libro fa per voi!
Io intanto ringrazio Luca che me lo ha suggerito.