SCons è un programma per gestione della costruzione dei programmi con incorporata gestione di dipendenze. E’ sviluppato in Python ed è, di conseguenza, multipiattaforma.
E’ nato per rendere i processi di costruzione software più semplici degli altri a disposizione, come il glorioso Make. Make è uno strumento potentissimo, ma il suo principale svantaggio è la curva di apprendimento: per sfruttarlo al meglio e conoscere le sue funzionalità più avanzate, è necessario padroneggiare una lunga serie di regole sintattiche e semantiche, per una mole di lavoro paragonabile all’apprendimento di un nuovo linguaggio di programmazione.
SCons, essendo scritto in Python e avendo le regole di configurazione proprie del linguaggio, risulta molto più semplice da utilizzare e rappresenta un immediato incremento della produttività. Infine, i file di configurazione di SCons sono molto più leggibili (e di conseguenza manutenibili) di quanto lo siano i file usati da Make. Essendo Python sopranominato anche “pseudocodice eseguibile”, paradossalmente è più facile imparare a lavorare con SCons (anche per i non-programmatori) di quanto lo sia con il linguaggio a volte arcano e controintuitivo di Make.
Originariamente SCons è nato (come, del resto, anche Make) per la compilazione dei progetti in linguaggio C e in C++, ma col tempo gli sono state aggiunte talmente tante funzionalità che ora si presta benissimo per la gestione di pressoché tutti i tipi di progetti nei linguaggi più vari. Supporta nativamente anche la compilazione dei programmi Fortran e Java ed è facile estendere il supporto ad altri linguaggi.
La complessità, però, non dovrebbe spaventare. Sebbene sia vero che SCons è ricchissimo di funzionalità, quelle base che sono usate il 95% del tempo, possono essere apprese in poche ore.
Il nostro corso base di SCons, di conseguenza, è organizzato per poter trasmettere in una sola giornata lavorativa, tutti i principali concetti e nozioni di SCons ma, nel caso di interesse, abbiamo a disposizione anche dei corsi avanzati.