Tecnicamente's Weblog

Just another WordPress.com weblog

La dura vita di un informatico per hobby ai tempi di Android

Da anni uso sistemi Open Source, nella fattispecie Linux Ubuntu, non perchè io sia un programmatore professionista o un talebano che insegue la sua guerra contro MS Windows, nulla di tutto ciò.

Ho cominciato ad usare Debian GNU Linux e FreeBSD per alcune semplici ragioni che elenco.

1. Sono contro la pirateria informatica

Trovo veramente scorretto ed ingiusto usare software commerciali per fini di lucro senza aver corrisposto i giusti diritti ai realizzatori del software.

Trovo anche sbagliato che molte software house facciano pagare una licenza anche per l’uso a fini di studio di tali SW o per fini diversi dal lucro.

Quindi durante i miei anni universitari decisi di non installare software “craccati” sul mio PC ma di passare direttamente a quello che la comunità Open Source riusciva ad offrire. Parlo degli anni ’90 ed allora l’offerta non era paragonabile ad oggi ma una cosa mi ha colpito, la totale padronanza che mi era permessa nell’usare le risorse hardware del mio PC.

2. Non ho mai posseduto computer potentissimi

Tutti i computer che ho posseduto erano già obsoleti al momento dell’acquisto e grazie all’uso di sistemi e software Open Source li ho usati per svariati anni, un esempio è il PC da cui vi scrivo comprato nel 2009 che ancora oggi uso senza sentire nessuna necessita di cambialo con una macchina più potente.

3. Disponibilità di software per coprire tutte le attività hobbystiche e lavorative

Negli anni la base software disponile è cresciuta in modo pauroso, oggi è davvero completa. Ad esempio c’è sempre stata una carenza di software CAD, oggi non è più vero e esistono soluzioni commerciali liberamente usabili per scopi didattici.

Quindi oggi abbiamo la possibilità di scegliere tra software Open Source e software commerciale e questo credo sia la dimostrazione che Linux è diventato finalmente un ambiente anche desktop e professionale in senso lato come Windows.

4. Voglia di smanettare ed imparare

Avere a disposizione un computer con praticamente tutti i linguaggi di programmazione disponibili è un terribile incentivo, almeno per me, a trovare il modo di risolvere problemi, testare idee, studiare fenomeni o semplicemente provare a fare quello che altri hanno già fatto.

 4. Oggi

Per molti anni per me è stato come vi ho descritto sopra.

Da qualche tempo ho comprato un cellulare android.

Dopo qualche settimana di utilizzo sono rimasto entusiasmato, una potenza di calcolo notevole, trasportabile e collegabile con tutto.

La tentazione è troppo forte, il dispositivo è un computer e quindi perchè non usarlo come tale? Perchè non scrivere delle App?

Detto fatto mi armo di buona volontà, cerco in rete informazioni, scarico Eclipse e l’SDK Android e cominco a smanettare.

Alla fine è più la fatica che il divertimento, il sistema di sviluppo è ben fatto ma la complessità da gestire è TERRIBILE.

Occorre avere una conoscenza multi-linguaggio:

  1. Bisogna saper programmare in JAVA (ok lo avevo messo in conto anche se non mi è mai piaciuto);
  2. Bisogna conoscere le API Android (sono tante, veramente tante anche per un “Ciao mondo”);
  3. Bisogna conoscere XML (l’ambiente di sviluppo agevola con tool grafici, ma la conoscenza è necessaria);
  4. La struttura ad OGGETTI rende l’attività di sviluppo pesante, almeno per chi non è un professionista del settore

Ho trovato una bella guida qui, guida che ho seguito fino a creare la prima interfaccia per l’inserimento dati.

Da questo punto in poi potrei cominciare a realizzare la parte CORE della App, la parte di calcolo, ma la struttura del sistema, il JAVA, la OOP mi stanno veramente rendendo pesante l’attività a tal punto che mi chiedo che forse il tempo in cui bastavano poche istruzioni e librerie da conoscere è passato.

Ormai siamo molto, forse troppo abituati a interfacce avanzatissime, interfacce che rendono l’esperienza utente fantastica, interfacce che spesso sono la ragione per cui un utente acquista un Mac al posto di un PC.

I computer, i cellulari ed il software sono diventati prodotti soggetti ad una moda, e in un certo senso i vari Software Development Kit cercano di assecondare la moda.

Il risultato che oggi abbiamo ambienti di sviluppo sempre più complessi e sempre meno orientati all’utente, ma dedicati a professionisti della programmazione. L’aspetto dell’applicazione, la sua interfaccia, gioca un ruolo fondamentale nel successo di un prodotto. Il contenuto, gli algoritmi implementati, contano molto meno. L’utente è attratto dalla user interface.

Sono sicuro che se oggi all’utente medio vengono fornite due applicazioni per la soluzione di un problema. La prima a riga di comando, completa, funzionale e ben documentata. La seconda con interfaccia grafica attraente, non complea e scarsamente documentata, bene non ho dubbio che commercialmente avrebbe successo la seconda. Il computer è diventato un oggetto  di consumo e con esso l’informatica ed i programmi, questo ha trascinato anche i linguaggi di programmazione in una gara alla complessità che di fatto sta portando la programmazione lontano dagli utenti.

Programmare oggi è molto più complicato rispetto a 10 anni fa, per chi come me non lo fa di professione.

 

 

 

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: