L’interoperabilità un male: ma quando mai!

Prendo spunto da un post scritto dal buon Lorenzo aka monossido, su una recente dichiarazione di Steve Wozniak, forse l’uomo grazie al quale l’informatica attuale è quello che è, che ha detto testualmente che l’interoperabilità è un male. Un male, si. Ora, io nutro profonda stima per l’uomo che ha inventato l’Apple I, ma cribbio, una scemenza di proporzioni così immense poteva anche risparmiarsela; ma cos’è l’interoperabilità, direte voi?

Ebbene, facciamo degli esempi che aiutino a capire meglio. Interoperabilità significa poter sviluppare per molti hardware e piattaforme: QT è un esempio di software con molta interoperabilità; le librerie QT funzionano tramite C++ prevalentemente, e sono state portate su quasi tutti i sistemi operativi al mondo. Un programma scritto in QT ragionevolmente girerà su un ampio ventaglio di piattaforme, da Linux, a OSX, ad Haiku. Mac OS X invece è il contrario: un pessimo esempio sia di interoperabilità che di portabilità; la parte grafica delle applicazioni si basa sulle librerie Cocoa, disponibili solo per OSX e iOS, e tutto ciò che serve per sviluppare viene fornito direttamente da Apple, dall’SDK al designer di interfacce, interfacce che si basano su un linguaggio di cui onestamente non ho mai sentito parlare in termini di diffusione esponenziale, ossia Objective C.

Ebbene, tralasciando i discorsi senza senso dei fanboy del tipo “se hai una sola piattaforma ottimizzi per quella”, secondo Wozniak è un male che noi sviluppiamo per un sistema che va su più dispositivi, perchè a quanto pare ci sono più problemi hardware da prendere in considerazione, non è definito uno standard preciso e a quanto pare gli sviluppatori non amano sfornare codice che poi installato su un dispositivo non perfettamente compatibile potrebbe creare problemi.

Questo è vero. Ma è vero nella misura in cui il ventaglio di device si diversifica a tal punto da includere hardware mastodontico ad un’estremità, nano-hardware all’altra; a quel punto si che ti si creano dei veri problemi. Peccato che per Android queste beghe non ci siano, perchè è un sistema operativo che bene o male garantisce il suo funzionamento su vasta scala grazie a una serie di API appositamente scritte, che riescono a supportare decentemente qualunque tipo di dispositivo io mi ritrovi per le mani, dal mid alla fotocamera. L’unico problema realmente riscontrabile parlando di veri fastidi hardware è un monitor QVGA: ci sono pochi dispositivi in giro che montano questa tecnologia una spanna inferiore, anche se HTC con il suo Wildfire sta migliorando la situazione, dato che proponendo un QVGA come monitor di fascia medio-bassa ne incentiverà l’acquisto, e con una base utenti maggiore gli sviluppatori saranno invogliati a supportare al meglio anche quest’altro tipo di monitor.

Abbiamo dunque visto che con Android, che pure è un OS che supporta più fasce di prodotto e hardware anche diametralmente opposti, comunque ci si può trovare più che bene sviluppando codice interoperabile. Woz inoltre ha messo a fuoco anche l’aspetto del codice: secondo lui, un programmatore si trova meglio a gestire un solo dispositivo anzichè una vasta gamma. Vorrei ben vedere. Anch’io sarei raggiante nell’andare all’esame di Fondamenti di Informatica e dire al prof che deve mettermi 30 perchè se il programma non gira è colpa del suo PC. Fortunatamente, il mondo non gira secondo queste regole, ma i programmatori sviluppano non solo per loro ma anche per chi gli sta intorno, ed è una soddisfazione quando le persone usano il tuo applicativo. Ed è una soddisfazione anche superare un paio di problemi idioti, rendere il tuo applicativo compatibile con milioni di smartphone al mondo, e godere della sensazione di aver fatto qualcosa di utile per una base utenti veramente consistente, anzichè lasciare la propria idea a ristagnare su tre dispositivi in croce con una base utenti, secondo me, al limite del ridicolo.

Ecco, si, diciamo che queste sono le ragioni per cui io adoro Android, QT, e tutto ciò che si riveli versatile. Perchè versatilità significa interoperabilità, e interoperabilità, caro Woz, significa progresso.

Post correlati:

This entry was posted in Android, Informatica. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.
  • Pingback: Tweets that mention L’interoperabilità un male: ma quando mai! | Bl@ster's Home -- Topsy.com

  • http://rejex.wordpress.com/ jp

    Concordo. Per esperienza molti dei progetti nati per essere portabili, spesso hanno anche una qualità media decisamente buona o addirittura elevata… ^^

  • http://dottorblaster.it/ Bl@ster

    L'esempio di Android non l'ho fatto a caso, giustappunto. Android ha iniziato come un sistema operativo per device che sinceramente non si sapeva dove sarebbe approdato, e invece ecco qua: adesso è il diretto rivale di iOS e da poco ne ha superato la diffusione ;)

  • http://www.ilportalinux.it M0rF3uS

    Anche alla NASA utilizzano software ed architetture interoperabili, ed è noto che alla nasa non ci capiscono un beneamato cazzo no?

    http://www.ilportalinux.it/interoperabilita-ope

  • Dandelionbrain

    Probabilmente non lo pensa neanche. Ognuno tira l'acqua al suo mulino :D

  • http://dottorblaster.it/ Bl@ster

    Me lo auguro sinceramente. Però in fondo mi ha dato occasione di esprimere il mio amore per la versatilità :D

  • http://dottorblaster.it/ Bl@ster

    A me quello che ha dato fastidio è stato non quanto detto, ma più che altro chi l'ha detto. Perchè Woz the Wiz non è uno che non capisce una sega anzi :D

  • http://twitter.com/AndreaAzzini Andrea Azzini

    Grande. Sei riuscito a scrivere proprio ciò che penso! Concordo appieno!

  • http://www.lorenzobraghetto.com/ monossido

    Bel post, io non sono proprio riuscito a trattenermi e ho analizzato più il problema Apple.
    Sono d'accordo con Dandelionbrain, l'unica spiegazione è che nemmeno lui pensasse quello che ha scritto, ma che l'obbiettivo fosse tirare acqua al suo mulino.

    Vi invito anche a leggere i commenti di 2 mezzi fanboy nel mio blog e darmi una mano a zittirli :P

  • http://www.ilportalinux.it M0rF3uS

    togli il mezzi va…io li ho letti…pajura…

  • http://twitter.com/Picchiopc Picchio

    ” Anch’io sarei raggiante nell’andare all’esame di Fondamenti di Informatica e dire al prof che deve mettermi 30 perchè se il programma non gira è colpa del suo PC”

    LOOOOL

    Allora posso dire al mio prof (convinto Mac user) che se non gli fungono i miei algoritmi in JS è colpa del suo Safari e del suo Mac xD

    Steve sono finiti i tempi dell'Apple I ma dai non fare il finto tonto xD

    WE Love Blaster xD

  • http://twitter.com/Picchiopc Picchio

    LOOOL

  • netgeek

    Bel post, sono d'accordo. Che peccato che gente del calibro di Woz dica queste cose! E se e' vero che tira acqua al suo mulino e' vero anche che non ne avrebbe piu' bisogno. Penso che qualche dollaro lo abbia, in banca, per campare a lungo e bene.
    Peccato anche perche' questa gente, con l'eta', l'esperienza e la reputazione da vecio dell'IT, dovrebbe pensare al bene dell'informatica in generale e dunque del progresso.

  • Pingback: Steve Wozniak: l’interoperabilità? un male! | Il Portalinux - Portale di informazione su linux, free software ed open source

  • juhan

    Il Woz ha detto la katsata dell'anno di testa sua o sponsorizzato?
    In ogni caso sarà ricordato per altro, spero.

  • Pingback: Steve Wozniak contro l’interoperabilita’? No « Idl3's Blog

  • Darkarix

    Caro dottore concordo pienamente con lei :)
    Certo, non se vengono sacrificate le prestazioni (tipo java) ma con Qt vai più che sicuro essendo ovviamente C++
    Mi sto avvicinando un po' alla programmazione proprio con queste magiche librerie che hanno anche bindings per altri linguaggi (python in primis) e devo dire che offrono delle potenzialità enormi. A discapito di quanto si possa credere sono documentate ottimamente e ci sono dei software helper (creator, assistant) molto utili.
    L'unica nota negativa è che ci si perde nelle miriadi di librerie messe a disposizione da qt e kde.
    Per quanto riguarda Android ho letto proprio oggi che google ha rilasciato un tool per sviluppare app senza scrivere una riga di codice!! Alla faccia di Apple direi.
    Il futuro è open.

  • http://dottorblaster.it/ Bl@ster

    Il tuo commento è più che gradito ;)
    Purtroppo non avendo ancora un droide per le mani non posso provare a pieno la potenza dei tool offerti da Google (compreso l'ottimo plugin per Eclipse), per ora quindi mi limito al confronto tra QT e Cocoa; ho provato a fare cose stupide, effettivamente in entrambi i casi si è forniti di un device di interfacce molto molto potente :)
    Per quanto riguarda il C++, ho finito (per modo di dire) di studiarlo ed è un linguaggio veramente affascinante, molto più facile in quanto a sintassi di ObjC e lascia completa libertà al programmatore. E tu sai quanto mi piaccia essere libero di fare quello che voglio, persino di fare danni :D

  • http://dottorblaster.it/ Bl@ster

    di solito anch'io penso al progresso, e sono tutt'altro che vecchio: quello che mi stupisce di Woz è questo suo atteggiamento infantile e, mi permetto, da fanboy. Denota veramente molta pochezza, spero per lui, e non per noi che delle sue critiche ce ne facciamo in fondo un baffo, che queste affermazioni siano frutto di un attimo di delirio.

  • Pingback: Perché multi-piattaforma non è bello « Frakko

  • FK

    Sono un po' in ritardo ma mi permetto di dire la mia :)
    Premetto: Sono uno studente(ho la tua stessa età!) ma arrotondo facendo lo sviluppatore per iPhone(per terzi)/Osx(ok, con quest'ultimo non guadagno nulla) quindi sarò un po' di parte…

    Vediamo perché (per me) Woz ha ragione:

    * Se disegni UI pixel-perfect(quelle da slecazzare tutte) avere un solo display da supportare ti permette di lavorare più in libertà e non dover scendere a compromessi;
    * Ogni sistema ha le proprie HIG, se scrivo un programma in QT che segue le HIG di KDE sicuramente va contro quelle di Gnome o degli altri OS, il vantaggio della portabilità si perde tutto se poi devo riscrivere tutti i front-end;
    * Avere la stessa casa che produce HW+SW+SDK permette di avere subito disponibili le nuove funzioni hardware dei dispositivi, ma vabbé non è un grosso problema questo;
    * La critica a Objective-C ci può stare se non lo conosci, ma fidati che chiunque ha avuto modo di usare a lungo sia il C++ che ObjC preferisce quest'ultimo, una volta che ne hai appreso i deisgn-pattern è molto elegante e comodo, se poi devi proprio usare il C++ più farlo lo stesso(il “famoso” ObjC++);
    * L'SDK per iOS è leggermente migliore di quello per Android[1], ma niente di che, dettagli :) ;
    * Per me uno sviluppatore un'applicazione la scrive in primis per se, chi scrive è colui che ha avuto la “visione” (lol) ed è giusto che decida lui, anche se l'app è OSS(interessante l'articolo[2])

    Bon detto questo quali sono le mie visioni per il software?
    Intanto sono perfettamente d'accordo che ci *deve* essere interoperabilità tra software, l'adozione di formati aperti non dovrebbe essere una feature, ma la normalità.

    I programmi dovrebbero essere fortemente legati all'OS/DE per cui sono stati scritti, in modo da garantire all'utente un'UX degna. La strada vincente per me è quella intrapresa da Pidgin/Adium, una libreria in comune e poi due GUI perfettamente integrate nell'OS(tanté che Adium ha vinto un ADA, mi pare).

    Spero di essere stato chiaro e non generare flame(dai, non ho detto che le GTK fanno schifo… ehm…)

    [self release]

    [1] http://iphonedevelopment.blogspot.com/2010/03/a
    [2] http://flyosity.com/iphone/kill-the-settings-bu

  • http://dottorblaster.it/ Bl@ster

    Questo è quello che io definisco un ottimo commento :P
    Hai senza dubbio ragione su molti dei punti che hai esposto, anche se credo che allargare la base hardware permetta comunque di poter farsi abbastanza i cavoli propri senza badare a particolari caratteristiche del monitor, basta guardare com'era venuto bene Emerald (che poi ovviamente era talmente bello che è stato droppato, mortacci dei devs).

    Interessanti i link, grazie delle risorse e del punto di vista :)

  • http://frakko.wordpress.com/ FK

    Grazie a te, mi hai fatto pure venire voglia di farmi un blog :P

    Adesso ampio un po' e scrivo.

  • http://dottorblaster.it/ Bl@ster

    Per la serie se ce la fai tu, posso farcela anch'io :P
    In bocca al lupo! :D

  • Pingback: Considerazioni sui sistemi operativi da ROFTL | Bl@ster's Home