La scelta degli strumenti da usare nella programmazione è un fattore spesso sottovalutato sebbene influenzi in primo grado la qualità del codice prodotto. Le decisioni sono dipendenti da diversi fattori e spesso soggettive: ciò significa che diversi programmatori possono usare strumenti molto differenti ma altrettanto validi. L'importante è essere coscienti di aver effettuato una scelta e non subire passivamente le mode imposte dal mercato.

Scrittura del codice

VimDovendo saltare da sorgenti in C a codice HTML, passando per CSS, PHP, Lua e saltuariamente altri linguaggi, l'uso di un editor di testi generico è sembrata la via più conveniente. È stato scelto Vim che, rispetto agli ambienti integrati dedicati, offre a nostro avviso parecchi vantaggi:

  1. estremamente versatile e personalizzabile;
  2. una forte comunità e soprattutto un'alta percentuale di utenti competenti;
  3. uno sconfinato parco di estensioni cui attingere per personalizzare e potenziare la propria installazione;
  4. multipiattaforma ed estremamente diffuso (si trova preinstallato per default in praticamente ogni sistema GNU/Linux);
  5. disponibile sia il front-end grafico (in GTK+) che la classica interfaccia testo (ossia può essere usato su connessioni SSH).

L'alternativa storica a Vim, ossia GNU emacs, sarebbe stata una scelta altrettanto valida.

Archiviazione sorgenti

GitIl codice prodotto viene usualmente gestito da git, un potente e flessibile sistema di controllo delle versioni. Git è un sistema distribuito: ciò consente di avere repository locali, di averne più di uno per lo stesso progetto e poterli sincronizzare tra di loro a piacimento. git è fortemente orientato allo sviluppo "orizzontale", ossia incentiva l'uso di più rami di codice nello stesso repository (branch) agevolando le operazioni di merging.

Eccezione a questo idillio sono i file binari come le immagini raster o qualsiasi altro file che non sia testo. Questi file vengono trattati da git come oggetti opachi, senza possibilità di introspezione e perdendosi quindi gran parte delle possibilità offerte da git (merging, diff, grepping). In questa categoria rientrano a pieno titolo i sorgenti dei programmi LabVIEW, che non possono venir gestiti decentemente da alcun sistema di controllo di versione.

Strumenti open source

Lo sviluppo di un'applicazione difficilmente comincia da zero, altrimenti si dovrebbe aspettare mesi per vedere i primi risultati. L'uso e la scelta di appoggiarsi a progetti più o meno validi è spesso il fattore cruciale che discrimina il successo o l'insuccesso di un'applicazione. Di seguito l'elenco indicativo dei progetti esterni su cui solitamente si appoggia il software prodotto dalla eNTiDi.

  • I gestionali per la generazione automatica dei disegni tecnici si appoggiano sull'ADG e possono fare uso di SilverStripe se implementati sul web o in una intranet locale.
  • Per le applicazioni di supervisione e configurazione remota di macchine viene consigliato l'uso di uno stack basato sulle librerie GTK+. Interessante sarebbe provare ad usare questo stack, unitamente ad un kernel real-time tipo xenomai o RTAI, per il software di comando.
  • I sistemi di comando spaziano dai strumenti embedded a transfert di collaudo: il software può venir implementato a basso livello su microprocessori, con PLC, controlli numerici o computer industriali. Non c'è uno stack software preferenziale per questo tipo di applicativi.
  • Le applicazioni web vengono sviluppate su piattaforme LAMP usando SilverStripe ove possibile.

eNTiDi logoeNTiDi software
Software per l'automazione industriale

via fossato, 56
 25038 Rovato (BS)

Telefono: 366 3206501
E-mail: ntd@entidi.it
PEC: entidi@mlcert.it

 Partita IVA: 02909410983