programmazione, personale, blogosfera May 8, 2007 6:24 pm (Save post)
Vi invito a leggere il bel post di antirez sui grandi problemi dell’informatica.
I punti che presenta lui sono tutti stravalidi e condivisibili, ma tanto per alimentare la discussione, ho pensato a qualcos’altro.
- Riuso nel software. Anni di fallimenti dell’ ingegneria del software ci hanno portato all’idea che il riuso è sopravvalutato, che spesso non conviene o che non è neanche teoricamente fattibile.
In pratica abbiamo deciso che siccome è difficile trovare pezzi compatibili, e non abbiamo cacciaviti & saldatori adatti, allora conviene ricostruire ogni televisore da zero. È necessario per me trovare strumenti che permettano di superare questa situazione definitivamente. - Sicurezza e affidabilità. La sicurezza deve diventare un assioma nello sviluppo di sistemi complessi, non è possibile che si continui ad affidarsi all’audit di codice C alla ricerca di puntatori smarriti, o che si continuino ad usare approcci alla sicurezza vecchi di vari decenni (su anyone?), specialmente nell’ottica di sistemi che diventano sempre più paralleli e distribuiti.
La soluzione non deve essere nell’avere uno sviluppatore “bravo”, ma nell’usare sistemi che non permettano errori. Link interessanti: E, Vault e Singularity.
Due link da microsoft, fa ridere no?
- Accessibilità. Purtroppo non esiste un modo per levare quel dannato CAPTCHA ottico da blogsome, e non sapete quanto mi da fastidio. Man mano che l’informatica progredisce e l’esperienza dell’utente si fa più ricca c’è bisogno di prestare sempre più attenzione a non escludere chi ha problemi senso/motori. Anche qui, la mia opinione è che ci sarebbe bisogno di un’approccio infrastrutturale al problema, perché non ci si può affidare al solo buon senso degli sviluppatori. Purtroppo su questo argomento, non ho idea di quali soluzioni siano state ipotizzate o sperimentate.
- Abbattere la barriera tra sviluppatore e utente.
Se pensate alla letteratura il problema è chiaro: siamo nel medioevo dell’informatica.
Alcuni di noi hanno le capacità di leggere e scrivere (codice), alcuni sono in grado di usare quello che scriviamo, e altri non sanno fare neanche quello.
Per i terzi si tratta di ridurre la barriera d’ingresso, e di alfabetizzare.
Per i secondi si tratta di raggiungere lo stato attuale della scrittura: non ci sono tanti Umberto Eco, ma la maggior parte della popolazione alfabetizzata è in grado di scrivere una lettera, per quanto sgrammaticata e formalmente bruttina.
Sistemi come Yahoo! Pipes sono interessanti per questo motivo: permettono all’utente comune di sviluppare una microapplicazione, gli permettono di scrivere una forma di software senza neanche rendersi conto che lo stanno facendo. Non so come questo potrà diventare un approccio di massa, ma sono speranzoso.
Se avete qualcosa da dire, commentate o postate sul vostro blog, è un argomento decisamente interessante, imo.


commento velocemente solo l’ultimo punto: ridurre la barriera tra sviluppatore e utente
Secondo me non c’è proprio bisogno di questa fusione di ruoli, ognuno deve fare le proprie cose. Non è elitarismo, semplicemente a me non interessa costruire case, non lo so fare e non pretendo di farlo.
So imbiancare un muro, fare la calce per tappare un buco, ma non di più, non so quanti lo sanno fare, io sono uno che si cimenta in questo tipo di cose. Credo che le nuove generazioni (compresa la nostra) abbiano avuto degli elementi di programmazione (il Basic alle medie per esempio) utili per fare qualcosina, magari uno impara anche ad usare le formule in excel, non è certo compito di tutti imparare a fare un’applicazione completa.
Comment by greenkey — May 9, 2007 @ 8:15 am
Il riuso del software va visto spezzato in due tronconi: riuso in piccolo e riuso in grande.
Il problema del riuso del software in piccolo è un problema facile, già stato risolto agli albori dell’informatica: le routine. Esempio pratico, il sistema operativo Unix usa le routine da almeno 30 anni.
Il problema del riuso del software in grande è invece più complesso e non risolto. L’architettura usata per risolvere il problema della fruizione dei contenuti sul web ad esempio, non può essere riutilizzata per creare un sistema di controllo numerico.
Il riuso generico del software, famigerato silver bullet, temo non troverà soluzione. Magari l’individuazione di classi di problemi alle quali dare una soluzione riutilizzabile, una sorta di metapattern, questo sì potrebbe essere fattibile (tutto questo IMHO)
Comment by gtrev — May 9, 2007 @ 9:22 am
greenkey: credo che siamo d’accordo.
Quel che dico io è che ci sono una quantità di cose che un utente può imparare a fare da solo (esempio: usare una regexp per cercare in un file, scrivere una macro per fare dei calcoli, automatizzare un’operazione) e che possono essere rese fattibili senza che egli impari i principi della programmazione.
Parlo di saper usare pennello & pennellessa non molazza & cazzuola
Comment by gabriele — May 9, 2007 @ 10:54 am
grev: giusta distinzione, sebbene anche nel piccolo ci siano problemi rilevanti (dopo 50 anni dall’invenzione di macro & funzioni il riuso by copy&paste è ancora abusato).
Io parlavo comunque del riuso di componenti complesse, ad esempio il 99% dei linguaggi che girano su UNIX non può usare i moduli software scritti per gli altri, con l’eccezione di quelli in C.
E siamo ancora lontani dal mondo dell’elettronica, in cui io posso semplicemente comprare un componente X da qualcuno e usarlo senza problemi, tranne forse per alcuni ambiti in cui c’è stata una forte standardizzazione (penso a JMS). Ma il problema dovrebbe essere risolto a monte, imvho.
Grazie a tutti e due per i commenti
Comment by gabriele — May 9, 2007 @ 10:55 am
Condivido le tue riflessioni e anche quelle di antirez.
Alcuni giorni fa sul tema “abbattere la barriera tra sviluppatore e utente” ho scritto un post http://emmeesse.wordpress.com/2007/04/17/meta-applicazione/
Sostanzialmente sostengo che ottenuta la massima flessibilità dei dati mediante RDF ci sia bisogno di una applicazione flessibile che consenta ad un end-user di creare in modo semplice applicazioni ad hoc.
Comment by emmeesse — May 10, 2007 @ 8:59 am
Great thinking! That really brekas the mold!
Comment by Jolyn — June 3, 2011 @ 1:45 pm
LJyTyd goqklnztiqjh
Comment by dtjfigk — June 4, 2011 @ 7:41 am
Adore your blog post! It really is wonderful to read simple things critiques connected with correct organic goods because of an individual it is possible to actually
believe in! Moreover appreciate fumes. I would personally fascination with you to definitely assess the completely new liquefied groundwork
Comment by true religion jeans outlet — October 18, 2011 @ 1:59 am
I had got a desire to start my company, nevertheless I did not earn enough amount of cash to do this. Thank goodness my close fellow said to take the loans. Thus I received the college loan and realized my old dream.
Comment by personal loans — December 30, 2011 @ 3:01 am