Questa è una vecchia versione del documento!
Indice
FAQ di Algoritmica
Dove posso trovare piu' informazioni sugli argomenti di laboratorio?
E' disponibile in rete una enorme quantita' di guide sui vari aspetti relativi al laboratorio. Ecco qualche link utile:
- Appunti di Informatica Libera: la “Bibbia” italiana per il principiante che si avvicina al mondo Linux (e del software libero in generale); vengono trattati gli argomenti piu' disparati. Sono particolarmente utili le parti su:
- Le slides e il materiale didattico disponibile sul sito del corso di Laboratorio di Programmazione Concorrente e di Sistema.
- Dispensa sull'utilizzo delle risorse del Centro di Calcolo (contiene un'introduzione a Linux, alla shell, ecc.)
Che editor devo usare per scrivere il mio codice?
Qualunque. Davvero. Scegliete l'editor con cui vi trovate piu' comodi; dovendo affrontare la difficolta' di cominciare a programmare, non ha senso scontrarsi anche con l'imparare un editor potente ma difficile da usare. Potete sempre farlo in seguito.
Inoltre, gli editor piu' sofisticati hanno tutta una serie di funzionalita' di autocompletamento / autocorrezione del codice che sono controproducenti, non facendovi capire i vostri errori e alla fin fine rischiando di non farvi capire importanti concetti (include, link, eccetera).
Perche' non posso usare Eclipse, Dev-C++, Visual Studio...?
Tenete ben presente che uno degli scopi del corso e' imparare a programmare nella pratica, quindi gestire i file di codice sorgente, saperli compilare invocando manualmente il compilatore, scriversi i propri Makefile, ecc, e soprattutto imparare a farlo senza errori. Un ambiente di programmazione completo tende a nascondere (per l'ovvia comodita') tutti questi aspetti, oltre a naturalmente fornire una grande quantita' di funzionalita' non necessarie. Usare quindi ambienti integrati e' deleterio per gli aspetti del corso.
Posso programmare sotto Windows?
E' ovviamente possibile programmare in C sotto Windows, ma non e' consigliato. In altre parole, non fatelo. Il corso di algoritmica e' basato su Unix; il codice C prodotto deve compilare e funzionare in ambiente Linux. Vi consigliamo quindi di imparare ad utilizzare Linux e i suoi strumenti fin dall'inizio del corso.
Ma io ho Windows installato sul mio PC, come faccio?
Puoi installare una distribuzione Linux, ad esempio Ubuntu.
Ho paura a fare le partizioni, non voglio rischiare di perdere dati...
Puoi ad esempio usare Wubi per installare Ubuntu in un normale file, senza bisogno di partizionare, oppure un live cd contenente tutto l'ambiente di sviluppo.
Ma mi scoccio a riavviare ogni volta...
Puoi installare Linux in una macchina virtuale (come ad esempio VirtualBox) ed avviarlo solo quando ce n'e' bisogno.
Usare Linux proprio non mi piace. Che posso fare?
Puoi installare la maggior parte dei tool Linux/Unix (in particolare tutti quelli richiesti nel corso: shell, editor, compilatore, make, ecc.) installando CygWin.
Non ho abbastanza spazio su disco per installare questi tool!
Puoi usare PuTTY e connetterti via SSH a una delle macchine Linux del Centro di Calcolo, ad esempio olivia.cli.di.unipi.it.