Manifesto

Non e’ la specie piu’ intelligente a sopravvivere e nemmeno quella piu’ forte.
E’ quella piu’ predisposta ai cambiamenti.
Charles Darwin
  1. Se fai prima a farlo a mano, il computer è inutile.
  2. In programmazione, la prima soluzione che sembra la più semplice è sempre la peggiore.
    Perché spesso è la più semplice per il programmatore, non per la macchina.
  3. Gli standard, soprattutto in informatica, non esistono.... tranne l'ASCII (ma anche su quello abbiamo dei dubbi).
    Lo standard solitamente viene deciso dal buon senso e dal mercato, mai da un Ente: questi si limita a notificarne l'esistenza.
    Il testo dello standard come la legge, è di libera intepretazione da parte dei gruppi di lavoro e quindi applicato in modo diverso di volta in volta.
  4. La maggioranza delle tecnologie che oggi usiamo si basano su tecnologie inventate negli anni 70/80
    Col tempo sono cambiati la velocità ed i volumi, ma gli algoritmi sono sempre gli stessi.
  5. Il termine sviluppatore indica solitamente un aggregatore di cose scritte da terze parti di cui ignora il funzionamento ed il contenuto.
    E' diventato così perché è un organismo stanco, fragile, distratto (deve sempre pensare) e quindi di facile manipolazione.
  6. Diffidare sempre dell'ultima novità tecnologica e lasciare scegliere al mercato: i flop e le tecnologie scomparse, sono innumerevoli.
    Il rischio è elevato, si può creare un progetto con una tecnologia che dopo 6 mesi non esiste più.
    Questo si diceva già nei corsi Microsoft nel 1998 in pieno boom economico.
  7. Il marketing è il principale responsabile del congelamento della velocità dei computers.
    E' incomprensibile matematicamente che in trent'anni di progresso, la sensazione di velocità di elaborazione, sia rimasta uguale con computer 20 volte più veloci.
    Il nostro obiettivo è cercare di sfruttare al massimo le macchine, usando il minor numero di risorse possibili.
    Normalmente questo non è l'obiettivo dei nuovi sistemi di sviluppo: vedi scelte dettate dal marketing.
  8. L' Eredità tecnologica è il principale freno dell'innovazione tecnologica.
    Con questo concetto si inquadra la retro compatibilità col passato di tutti i sistemi tecnologici, le infrastrutture esistenti obsolete e l' impossibilità di sostituire queste ultime con la nuova tecnologia.
    Un esempio? Le email che funzionano a 7bit., lo Spam, ma anche l'architettura del PC, la televisione analogica, ecc...
  9. Il sistema di programmazione definitivo non esiste.
    Non perché non si possa fare, ma perché nessuno ha un interesse commerciale a farlo.
  10. I sistemi di sviluppo sono tutti influenzati dal marketing delle multinazionali e come tali hanno un life-cicle limitato, ultimamente molto basso.
    Non considerare questo fattore è pericoloso: è seriamente ipotizzabile la ricreazione dell'intero progetto nel giro di 2 anni.
  11. Ogni azienda che fornisce un sistema di sviluppo tende a fidelizzare in modo esclusivo gli sviluppatori ed a nascondere il più possibile le possibilità di porting sulle altre piattaforme.
    Questo è un beneficio solo per l'azienda che fornisce il sistema di sviluppo: non lo è mai per lo sviluppatore.
    Agire in questo modo gli garantisce un vivaio di utenti che potrebbero diventare potenziali concorrenti.
  12. Avere accesso ad un sorgente di qualche milione di linee è l'equivalente di non averlo affatto.
  13. La maggioranza dei sorgenti ed esempio che si trovano su Internet, non funzionano o funzionano male.
    Perché la maggioranza dei codici pubblicati sono fatti da principianti. Come la maggioranza delle spiegazioni.
    Diffidate di quello che leggete, non è tutto vero.
    Internet è vitale per studiare il nuovo codice, ma c'è sempre bisogno di un controllo e spesso di una rettifica, prima di inserirlo in produzione.
  14. Non essere fondamentalista: solo Windows, solo Linux, solo Apple.
    Ogni sistema ha i suoi lati positivi e negativi. L'importante è cercare di capire quali sono, come utilizzarli senza avere pregiudizi.
  15. L'unita di misura più piccola è il bit e su quella principalmente lavoriamo, ultimamente si tende a dimenticarlo.
    Non perché siamo liguri, ma perché è l'informazione più veloce da trattare con i microprocessori.
    Evitare di usare anche un solo byte inutile, essere parsimoniosi è un toccasana ed aumenta le prestazioni generali: meno memoria, più velocità in esecuzione, meno traffico, meno occupazione su disco, meno elaborazione, meno banda impegnata.
    E' una regola semplice ma che da grandi risultati. Google insegna.