Prefazione a Cinderella.2.0


Posso non essere sempre perfetto, ma sono sempre me stesso!

trovata su una t-shirt



Sette anni e mezzo sono passati dalla prima release di Cinderella nel 1998, e il progetto è passato attaverso diverse metamorfosi che nemmeno noi avevamo previsto. Ora, riteniamo che le nuove caratteristiche aggiunte possono giustificare un innalzamento di release: Cinderella.2.

In un certo senso lo sviluppo di Cinderella si è rivelata essere una sorta di "storia senza fine" e c'è sempre una o più caratteristica che dovrebbe essere aggiunta o migliorata (o, non infrequente, corretta). Quindi, la versione attuale non può essere considerata perfetta in tutti gli aspetti, ma ha sostanzialmente tante nuove funzionalità che sarebbe un peccato non rilasciare senza vedere quello che la gente farà con esse.

Allora, che cosa ci si deve aspettare dalla nuova versione? Prima di tutto il cambiamento più evidente è che Cinderella non è più "soltanto" un programma per la geometria (nonostante che la parte per la geometria sia stata migliorata in maniera significativa). La release attuale è composta da tre parti principali: Cinderella – il motore geometrico, CindyScript – un linguaggio di programmazione e infine CindyLab – uno motore di simulazione per esperimenti di fisica. A prima vista queste tre parti possono essere usate in modo quasi indipendente le une dalle altre. Tuttavia, Cinderella, CindyScript e CindyLab sono stati progettati per lavorare "mano nella mano" al fine di trarre il massimo vantaggio possibile. (Se si osserva il nostro nuovo logo, esso simboleggia le tre parti che interagiscono insieme). Anche se sarebbe un appassionante racconto, non spiegheremo qui come siamo arrivati al progetto finale, perchè richiederebbe troppe pagine. In breve, è stato un lungo processo, guidato dalle esigenze e dalle richieste dei nostri utenti; dal nostro desiderio di "congelare" il software; da diverse conferenze sulla visualizzazione scientifica multimediale e, ultimo ma non meno importante, da diversi giorni e notti in cui abbiamo seguito strade fruttuose (o, talvolta, vicoli ciechi).

Nella parte geometrica di Cinderella ci sono molti miglioramenti sostanziali. Sono state aggiunte le Trasformazioni e i Gruppi di Trasformazioni; ci sono molti più tool per la costruzione di coniche e per la costruzione di frattali. E' stata resa possibile anche la costruzione diretta dei poligoni regolari. Le Trasformazioni e i Gruppi di Trasformazioni si sono rivelati di grande aiuto per fare le costruzioni avanzate e incoraggiamo gli utenti ad approfondire tali concetti. Uno dei tool più richiesti sono state le "macro". Cinderella.2 supporta ora il concetto di copia/incolla/ridefinisci che facilità il riuso di costruzioni già disponibili. E' possibile incapsulare parte di una costruzione geometrica in una macro ed assegnarla ad un bottone della barra degli strumenti per riusarla successivamente.

CindyLab mette a disposizione un ambiente in cui le costruzioni geometriche di Cinderella possono diventare delle masse, e i segmenti possono agire come molle o altri applicatori di forze. Sebbene CindyLab può solo simulare scenari di particelle/masse/forze, risulta uno strumento di simulazione molto potente. Ci siamo già divertiti un sacco sperimentando sistemi solari con più soli, strani dispositivi meccanici e lanci al tavolo di biliardo.

In ultimo, CindyScript è un linguaggio di programmazione funzionale che è stato progettato principalmente per le applicazioni geometriche, ma che può essere usato anche in altre parti della matematica. CindyScript è nato per dotare Cinderella di una specie di plotter per funzioni analitiche. Bene, come qualche volta succede nei programmi su computer, si comincia con una soluzione nata da una semplice richiesta e si finisce per avere molte più cose. Approssimativamente la storia è stata: vogliamo un codice per calcolare formule matematiche - perché non l'usiamo anche per manipolare la posizione dei punti geometrici? - perché non aggiungiamo strutture di controllo? - perché non aggiungiamo operazioni matriciali di più alto livello? - ... e operazioni di lista ... e strutture ricorsive ... e perfino una più potente funzione di plotting? Questo è come siamo arrivati ad avere un completo linguaggio di alto livello, real-time, orientato alla matematica. Finora non siamo riusciti nemmeno ad immaginare quali vantaggi sono possibili dall'unione della geometria dinamica con l'ambiente del linguaggio di programmazione. Siamo sopresi di vedere come i nostri studenti che lavorano già con CindyScript lo usano! Invitiamo tutti i lettori a costruire con questo strumento delle applicazioni veramente interessanti e soprendenti.

Ci sono ancora diversi "giocattolini" che non rientrano nelle tre parti programma sopra descritte. Per esempio Cinderella.2 supporta il riconoscimento di schizzi a mano libera che rende possibile usare una "pen tablet", una "whiteboard" interattiva or a "PDA". Anche gli esercizi del tutorial di geometria, incluso fin dalla prima release, sono stati notevolemente ampliati.
Ci sono diverse altre funzionalità che non non sono state incluse in questa release. La decisione di includerle o meno è stata presa principalmente in base a considerazioni di stabilità. Le inseriremo, di volta in volta, nei prossimi mesi, solo quando saremo ragionevolemte sicuri del loro buon funzionamento. Tra le cose che stiamo sviluppando ci sono: supporto nativo per le basi geometriche, uno strumento di registrazione(Cinerella) per film didattici di geometria, un simulatore di hardware, e molti altre cose. Perciò raccomandiamo di stare frequentemente aggiornati.

E' quasi impossibile citare tutte le persone che sono state utili per la realizzazione di Cinderella.2 per mezzo di commenti, feedback, beta-test, ecc. E ancora prima di tutto vogliamo dire una grande "grazie", e anche fare della grandi scuse, alle nostre famiglie. La realizzazione di Cinderella ha preso un sacco del nostro tempo libero costringendoci a rimanere lontani dalle nostre famiglie come padri e mariti. Innumerevoli weekend e notti furono sacrificati vuoi per terminare un'altra funzionalità vuoi per dare la caccia ad una altro bug. Entrambi speriamo che in futuro ci sia più tempo da dedicare a tutte le altre cose che sono importanti anche nella vita.

Vogliamo anche ringraziare Dirk Materlik che fu coinvolto nel team durante durante la sua tesi di diploma sul riconoscimento degli schizzi e dopo per Matheonexternal link Visage projectexternal link, e oltre a ciò ci ha aiutato a risolvere molti critici problemi di progettazione (the Inspector non ci sarebbe stato senza di lui). Un grande ringraziamento va anche a Gunter Gemmel che, in una nottata, ci fece il regalo di un implementazione del algoritmo PSLQ . Molte persone hanno contribuito provando e commentando diverse versioni beta e pre-beta . Riportiamo qui alcuni di loro, senza alcun ordine (e una grossa scusa a tutti quelli che ci siamo dimenticati): Hermann Vogel, Gunter Gemmel, Martin von Gagern, Peter Lebmeir, Vanessa Krummeck, Thorsten Orendt, Andreas Fest, Carola Dietrich, Wolf Dieter Heker, David Bakin, Christof Boeckler, Gerhard Bischoff, Alexander Elkins, Dan Beaton, Camille Wormser, Franz Klement.

Infine ci sono due persone che sicuramente meritano una menzione speciale. Uno di loro è David Kramer, il nostro "copy editor" from Harvard. Egli a letto attentamente ogni singola riga che abbiamo scritto e ci ha aiutato ad arrivare ad una documentazione almeno linguisticamente comprensibile. Grazie David! La seconda persona è, in un certo senso, quasi un membro del Cinderella team. E' Martin Peters, il nostro editore responsabile a Springer Verlag. Egli ha sempre avuto un occhio di riguardo per i nostri nuovi problemi; ha sempre capito che avremmo avuto bisogno di più tempo per finire una nuova versione; è stato sempre utile nel risolvere i problemi di pubblicazione e nel cercare importanti contatti. E, la cosa più importante, ci ha dato sempre la libertà di prendere le nostre decisioni avendo fiducia che questo è il modo migliore per raggiugere il miglior risultato possibile.
Peter, molte grazie per la tua pazienza e la fiducia!

Maggio 2006
Jürgen Richter-Gebert, Munich
Ulrich Kortenkamp, Schwäbisch Gmünd




Page last modified on Tuesday 23 of May, 2006 [23:10:28 UTC].
The original document is available at http://doc.cinderella.de/tiki-index.php?page=Preface%20to%20Cinderella.2.0