_____________________________
(  _____                       )
( < mou >                      )
(  -----                       )
(         \   ^__^             )
(          \  (oo)\_______     )
(             (__)\       )\/\ )
(                 ||----w |    )
(                 ||     ||    )
(                              )
 ------------------------------
        o   ^__^
         o  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

Gli ambienti dove ci si può trovare a sviluppare sono molti e vari, potremmo avere delle limitazioni e necessità dovute ad esigenze di progetto o di team, per cui è necessario essere preparati ad adeguarsi alle esigenze e adattare i tool a cui si è abituati al variare degli ambienti.

Il linguaggio C è estremamente legato ai sistemi Unix-like, dove non si può fare a meno di avere una buona familiarità con le operazioni a linea di comando, a differenza con l’ambiente Windows dove invece l’interfaccia a caratteri assume un ruolo estremamente marginale. Anche se si sviluppa su Windows è necessario essere preparati anche a dover svolgere delle attività in una shell Unix.

Se come spesso accade è possibile sviluppare in locale con l’editor sarà in genere necessario necessario spostare i codici sorgenti su un server remoto per eseguire la sua installazione, e se come spesso succede il target è una macchina su cui gira un Unix-like prima o poi sarà necessario intervenire direttamente tramite terminale sul server remoto, potrebbe essere richiesto di modificare il codice, editare i file di configurazione, leggere un log, ecc.. e tutto questo mediante comandi cheche si eseguono su un’interfaccia a caratteri. Si dovranno usare editor di testo come vi o vim (o anche Emacs, Nano, a seconda delle preferenze), che quindi è necessario essere in grado di utilizzare almeno nelle sue funzionalità base.

Un ambiente minimalistico alla portata di tutti con una minima spesa è il Raspberry Pi: si tratta di un computer estremamente compatto ma completo che può funzionare con vari sistemi operativi, ad esempio il Raspberry Pi OS. Questo sito e il codice presentato sono stati editati in parte anche su questa piattaforma, nonché su un dispositivo su cui è stata installata una distribuzione Xubuntu.

Se si dispone di un sistema operativo della Microsoft è possibile installare Cygwin, che permette di usare la classica interfaccia sulla linea di comando con tutti i comandi GNU/Linux (shell, compilatore e quant’altro…).

È comunque possibile usare degli editor con interfaccia grafica o dei RAD, come Geany, Notepad++ o Code::Blocks.