Posted in maggio 2011

Major release e feature parity…

Un fatto abbastanza notorio ed evidente del ciclo di vita del software è che esso non si conclude dopo il rilascio, dopo la manutenzione: è necessario rinnovarlo periodicamente, costantemente, producendo nuove major release. Persino software sostanzialmente già completo e factotum viene ulteriormente esteso e rimesso ciclicamente sul mercato.

Alle volte si tratta di affinamenti e revamp sostanzialmente solo estetici, cioè riprogettazioni delle interfacce che non toccano minimamente il cuore centrale delle funzionalità; altre volte si rivede tutto ma per piccoli passi fra una versione e l’altra, mantenendo o recuperando quanto più possibile codice dalle versioni passate in nome della retrocompatibilità e della minimizzazione del rischio; altre volte ancora si procede a vere e proprie riscritture che condividono con le versioni precedenti solamente il nome.

Nulla di male nel rifare le cose: in certi casi si arriva al punto che qualcosa non è più facilmente espandibile, manutenibile, gestibile per cui risulta più pratico – o doveroso – ripartire da zero.

Leggi l’articolo completo

Contrassegnato da tag , , , ,

Esempio d’uso di DataContractSerializer (C#)…

Ogni tanto capita la necessità di serializzare/deserializzare rapidamente degli oggetti in C#.

Da Wikipedia:

In informatica, la serializzazione è un processo per salvare un oggetto in un supporto di memorizzazione lineare (ad esempio, un file o un’area di memoria), o per trasmetterlo su una connessione di rete.

La serializzazione può essere in forma binaria o può utilizzare codifiche testuali (ad esempio il formato XML) direttamente leggibili dagli esseri umani.

Lo scopo della serializzazione è di trasmettere l’intero stato dell’oggetto in modo che esso possa essere successivamente ricreato nello stesso identico stato dal processo inverso, chiamato deserializzazione.

Concettualmente l’idea è facile: spostare o memorizzare la rappresentazione degli oggetti in uso per poi usarli dove servono, magari su un altro computer.

Il framework .Net e quindi C# offrono un supporto integrato e nativo a questo procedimento. Anzi, a dirla tutta, forniscono molte classi di supporto la più famosa della quali è la XmlSerializer.

Leggi l’articolo completo

Contrassegnato da tag , , , , , ,

Single point of failure umani…

Non tutti i lavori sono uguali.

Ognuno richiede capacità e competenze proprie, ognuno ha una sua difficoltà intrinseca. Ognuno richiede un tipo di lavoratore più o meno specializzato.

Ci sono lavori sulla carta così semplici da non richiedere nulla di particolare, dove un singolo individuo può essere sostituito relativamente in fretta e senza contraccolpi per l’attività lavorativa.

Tuttavia la maggior parte dei lavori non è di questo tipo e perfino molti dei lavori apparentemente facilissimi in realtà non lo sono.

Per cui affermare che

“Tutti sono utili e nessuno è indispensabile.”

è un’affermazione troppo generica e generalizzante per essere vera e sopratutto credibile. E’ più una scusa pronta all’uso, se vogliamo.

La realtà è ben diversa.

Leggi l’articolo completo

Contrassegnato da tag , , , , ,

Condividere la conoscenza, anche nel codice…

Esiste un detto secondo cui non c’è libro che insegni davvero a programmare in un dato linguaggio: bisogna sporcarsi le mani, sbagliare ed imparare.

Ricordo anche che mi è stato detto più volte – ma non ricordo esattamente da chi – che:

“Non puoi dire di conoscere un linguaggio se non hai scritto almeno 10.000 righe di codice in esso.”

In tutto ciò giocano un ruolo importante la conoscenza e l’esperienza.

Leggi l’articolo completo

Contrassegnato da tag , , , ,

Scienza e mercato del lavoro…

Su Slashdot è recentemente apparso questo post, in merito all’annosa questione sulla scienza come opportunità di impiego:

Why Science Is a Lousy Career Choice

“President Obama had a town hall meeting at Facebook’s headquarters last week and said that he wanted to encourage females and minorities to pursue STEM disciplines (Science, Technology, Engineering, and Mathematics). However, Pastabagel writes that the need for American students to study STEM is one of the tired refrains in modern American politics and that plenty of people already study science, but they don’t work in science.

‘MIT grads are more likely to end up in the financial industry, where quants and traders are very well compensated, than in the semiconductor industry where the spectre of outsourcing to India and Asia will hang over their heads for their entire career.’

Philip Greenspun adds that science can be fun, but considered as a career, science suffers by comparison to the professions and the business world.

‘The average scientist that I encounter expresses bitterness about (a) low pay, (b) not getting enough credit or references to his or her work, (c) not knowing where the next job is coming from, (d) not having enough money or job security to get married and/or have children,’ writes Greenspun. ‘Pursuing science as a career seems so irrational that one wonders why any young American would do it.’”

Leggi l’articolo completo

Contrassegnato da tag , , ,
Follow

Get every new post delivered to your Inbox.

Join 248 other followers