95 messaggi dal 28 ottobre 2006
Questo tuo post è emblematico, non potrei essere più d'accordo. Ti pongo adesso il mio personalissimo punto di vista (un po' noioso forse).

Una premessa. Mi sono sempre interessato alla programmazione per hobby, da diversi anni quasi esclusivamente in ambito web. Pur essendo un hobby, ci ho studiato tanto ed ho fatto cose anche molto complesse (html,css,js,php,mysql,ajax), studiando le tecnologie e scrivendo tutto il codice da zero. Essendo sostanzialmente per hobby non ho mai avuto limiti di tempo, per cui il focus era sulla perfezione della soluzione.

Il mio lavoro di tutti i giorni è molto vicino alla programmazione, ma alla fine il risultato non è un software, ma un hardware. Il sorgente che produco usando un linguaggio particolare viene impresso nel silicio da una fonderia per farne una sorta di CPU personalizzata, su cui i programmatori fanno girare il software vero e proprio. In questo ambito le condizioni sono molto diverse dallo sviluppo del software tradizionale, perchè quando un sorgente viene rilasciato DEVE essere privo di errori, dati tempi e costi di una diffusione su silicio di una chip. Questa necessità ha portato due cose: una metodologia di sviluppo orientata alla validazione e l'esistenza di tools che coadiuvino questa metodologia. Per dare un'idea della situazione, il 5% del tempo viene speso nella scrittura e debug del codice, il restante 95% viene speso nella scrittura di test automatizzati che controllano e validano il codice in tutti i possibili casi. Ci sono tool che alla fine danno una misura di quanto i test siano coprenti, cioè si fanno girare i test (durano qualche settimana di ore macchina) ed il tool alla fine ti dice che ha coperto il 98% dei casi, cioè ha provato il 98% di tutte le possibili combinazioni di input e ramificazioni del codice. Questa metodologia di lavoro può sembrare assurda e snervante (come anche i test di regressione che citavi), ma personalmente la preferisco perchè mi permette di tenere tutto sotto controllo in modo sistematico.

Torno quindi alla tua affermazioni iniziale: realizzare software è diventato troppo semplice, o più precisamente è troppo semplice per chiunque (anche senza background o titoli) arrivare a fare qualcosa che si avvicina al 90% al prodotto finale ideale. Troppo semplice per troppe persone significa una "compressione" del mercato e dei tempi anche per i professionisti di alto livello, che spesso devono scendere a compromessi su qualità/prezzo per essere competitivi. Per questo un approccio sistematico e ragionata per il test e debug diventa sempre meno fattibile.
ummon wrote:
Torno quindi alla tua affermazioni iniziale: realizzare software è diventato troppo semplice, o più precisamente è troppo semplice per chiunque (anche senza background o titoli) arrivare a fare qualcosa che si avvicina al 90% al prodotto finale ideale.

il problema è che le cose che citi teoricamente ci sono anche per lo sviluppo web/client. è che se la gente pensa di essere Gesù sceso in terra e non mette in dubbio le proprie capacità, è difficile che utilizzi strumenti del genere, perchè pensa di programmare con la sola imposizione delle mani...

Troppo semplice per
troppe persone significa una "compressione" del mercato e dei tempi anche per i professionisti di alto livello, che spesso devono scendere a compromessi su qualità/prezzo per essere competitivi.

no, non mi lamentavo di questo, perchè per fortuna la qualità viene ancora percepita e pagata (anche se non viene ritenuta sempre necessaria, questo sì...). mi riferivo espressamente all'approssimazione regnate che c'è in giro. e mi spiace perchè poi alla fine ci rimette tutta la categoria...

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
Daniele, concordo pienamente con quanto espresso nel tuo Post, ma vorrei anche sottolineare il fatto che spesso ci complichiamo la vita da soli (io per primo):
quante volte nei miei progetti (chissà perchè) mi dimentico della filofia "KISS"
(Keep It Simple Stupid).

ciao

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.