Se siete in grado di
programmare per 72 ore di seguito, avreste potuto partecipare all'
ICFP 2009 Programming Contest (svoltosi dal 25 al 29 giugno), che fa parte della prossima
International Conference on Functional Programming, che si terrà a Edimburgo dal 31 agosto al 2 settembre prossimi.
Ospitata quest'anno dall'
Università del Kansas e sponsorizzata dall'
ACM, la competizione ha visto quest'anno
800 gruppi provenienti da tutto il mondo, il cui compito era di simulare il movimento dei satelliti nello spazio. Secondo
Andy Gill — presidente della gara e professore di Computer Science — circa 300 team hanno risolto almeno uno dei quattro problemi proposti.
Nonostante si svolga nell'ambito di una conferenza dedicata alla programmazione funzionale,
il confronto non prevede limitazioni sul linguaggio usato; lo scorso anno vinse un programma scritto in Java, e nel passato si sono ben comportati Python, C, C++ e perfino
Haskell, che non è certo molto popolare.
Come detto, i partecipanti dovevano controllare dei satelliti, in quattro diverse configurazioni di partenza, fornendo comandi a un attuatore. Per una completa descrizione dei problemi, si può consultare questo
documento; vediamoli di seguito brevemente.
Nel problema di
Hohmann bisognava trasferire un satellite, inizialmente in orbita circolare intorno alla Terra, in un'altra orbita, che doveva essere stabile nell'intorno di 1 Km per almeno 900 secondi. Nel problema
Meet and Greet si doveva muovere un satellite per incontrare un altro satellite, entrambi in orbita circolare intorno alla Terra.
Il problema
Eccentric Meet and Greet era identico al secondo, eccetto che per le orbite, le quali erano ellissi arbitrarie. Anche qui, come nel primo e nel secondo problema, si doveva mantenere la posizione finale nell'intorno di 1 Km per 900 secondi. Il problema
Operation Clear Skies richiedeva ai partecipanti di manovrare il satellite, in modo da fargli visitare altri 11 satelliti.
I vincitori saranno annunciati a fine agosto alla
International Conference on Functional Programming; si può esaminare la
graduatoria, a quattro ore dalla fine, elaborata con particolari criteri descritti nelle
FAQ.