EH - Esposizione interattiva di xHTML etc.   Indici:   Pagine   Panoramica   Termini   Problemi   Esempi

Java e il suo utilizzo per la matematica

Lo sviluppo delle attività basate sul Web è uno tra i più rilevanti fenomeni economico-culturali di questi anni. Negli Stati Uniti, il Paese in cui queste attività vengono sviluppate più rapidamente e massicciamente, dal 1995 vengono annunciate a getto continuo le più svariate iniziative riguardanti la Rete; Internet ha ormai una forte influenza sul mondo del lavoro e sui comportamenti personali (solo per fare un esempio, i messaggi di posta elettronica sono molto più numerosi delle lettere tradizionali). L'evoluzione dei sistemi elettronici (sia in termini di prestazioni che di costi e di facilità d'uso) fa prevedere che tra pochi anni si potrà accedere alla Rete da mezzo miliardo di postazioni: da posti di lavoro negli uffici e nelle scuole, da apparecchiature domestiche e da dispositivi portatili. Ma anche in un Paese come l'Italia, tutt'altro che rapido ad impadronirsi delle tecnologie che richiedono un certo studio, sono ormai numerosi coloro che si sono accostati a una rete civica o ad Internet.

Un ruolo importante nello sviluppo di Internet è giocato da Java. Questo è il nome di un caffè molto apprezzato da certi programmatori americani e di un linguaggio di programmazione che consente di organizzare procedure di grande efficacia per la Rete.
Java è un linguaggio di programmazione procedurale ed è orientato agli oggetti: si tratta quindi di un linguaggio che consente di affrontare ogni genere di problema, sia servendosi di istruzioni che riguardano entità semplici come numeri, caratteri ed indirizzi di memoria (carattere procedurale), sia servendosi di oggetti, elementi compositi che consentono di controllare concisamente entità complesse come figure geometriche, registrazioni sonore o "finestre" attraverso le quali si possa governare una elaborazione.
Java è stato sviluppato da un team della Sun Microsystem capeggiato da James Gostling; è molto vicino ai linguaggi C e C++, ma presenta elementi derivati da altri linguaggi come Pascal, Lisp e Smaltalk. I suoi ideatori asseriscono di aver ripreso le caratteristiche migliori dei linguaggi a cui si sono ispirati e di aver evitato i costrutti di uso più laborioso.
La caratteristica più rilevante di Java è la sua fruibilità attraverso un ``browser'', programma che consente di navigare sulla Rete globale, cioè accedere interattivamente al World Wide Web, la componente di Internet ormai prevalente e con maggiori possibilità ipertestuali e multimediali.
Con Java si possono scrivere procedure applicative (chiamate applets, piccole applicazioni) che operano entro una pagina HTML; mediante applets si possono presentare risultati numerici, informazioni reperite in un archivio, grafici, suoni e animazioni in risposta a richieste interattive di un utente.

Tutti i browsers aggiornati (Netscape Navigator, Netscape Gecko, Microsoft Internet Explorer, Sun HotJava, W3C Amaya, ...) consentono di operare con Java.
Un programma scritto in Java viene tradotto in un codice intermedio (chiamato bytecode) che può essere spostato senza difficoltà tra i siti Web. Una applet disponibile in un certo sito può essere utilizzata da una qualsiasi altra postazione di Internet attraverso un browser di produzione recente.
Nella vicenda di Java entrano dunque due tipi di personaggi: autori che mettono a punto procedure applicative, tipicamente applets inserite in ipertesti HTML da rendere disponibili su WWW, e utenti che interagiscono con le applets.

Java è stato proposto dalla Sun Microsystem a metà del 1995 e si è andato via via affermando.Oltre a Sun, tutte le maggiori ditte produttrici di sistemi informatici (Microsoft, Netscape, IBM, Oracle, Apple, Novell, Silicon Graphics, Oracle, Autodesk, Borland, Adobe, Sybase, Symantec,...), nonché le molte aziende nate appositamente, si sono lanciate nello sviluppo di software imperniato su Java che ora è utilizzabile dalla maggioranza degli elaboratori. Sono disponibili ambienti di sviluppo per i programmatori, biblioteche di sottoprogrammi e di applets, utensili di grafica per gli autori, traduttori verso Java di linguaggi di programmazione precedenti, ... .
Java ha contribuito alla nascita di numerose imprese volte alle attività in rete: dal 1998 nella città di New York vi sono più persone che trattano informazioni per Internet di quante operino su informazioni per i giornali e per la televisione.
Molto software per Java, non solo quello nelle versioni preliminari, può essere acquisito liberamente e facilmente dalla Rete. Si giudica infatti che l'offerta gratuita di strumenti che permettono di operare con la Rete in modo efficiente e divertente possa essere la premessa di successivi buoni guadagni attraverso attività che saranno svolte tramite telecomunicazione: per esempio la pubblicità, la presentazione dettagliata dei prodotti, la loro vendita e la fornitura di servizi.
Contemporaneamente nascono nuove iniziative editoriali collegate a Java nei settori dell'editoria, dei servizi e del commercio. Su WWW sono stati aperti molti siti dedicati a Java e alle sue applicazioni; ne citiamo alcuni nella bibliografia. Si sono avuti inoltre centinaia di articoli su riviste tecniche e non; sono nati periodici specializzati come Java World Magazine [JWM] e Java Developers Journal [JDJ]. Su Java sono stati pubblicati centinaia di libri e molti sono stati annunciati; a Java vengono dedicate conferenze e corsi (Bowen).

Una applet inserita in un ipertesto HTML, oltre a presentare figure, suoni e animazioni e servirsi di dati conservati nel computer dell'utente, è in grado di richiamare dalla Rete dati ed altre applets messi a punto e tenuti aggiornati in siti anche molto distanti tra loro.
Questa possibilità e il carattere orientato agli oggetti di Java rendono facile l'assemblaggio di procedure e di basi-dati distribuite, in grado di fornire le più disparate informazioni. Le procedure evolute che Java permette di costruire rendono agevole consultare e aggiornare tempestivamente questi dati, avendo dalla Rete prestazioni di grande efficacia.

Per quanto riguarda le prospettive didattiche, specie per la matematica, sono da tempo disponibili varie applets. Innanzitutto con Java si possono presentare espressioni matematiche di buon livello tipografico. Molte applets sono dedicate a problemi geometrici: si possono avere ampie esemplificazioni su oggetti come curve piane, configurazioni della geometria proiettiva, triangoli iperbolici, cubi quadridimensionali (ad esempio, v. Elementi di Euclide). Digitando valori di parametri e spostando convenientemente il cursore si può prendere visione di una varietà di situazioni ben più ricca di quella ottenibile disegnando alla lavagna o sfogliando un libro.
Per quanto riguarda l'analisi infinitesimale, sono disponibili applets che simulano calcolatrici scientifiche o finanziarie e che svolgono alcune delle prestazioni dei pacchetti finalizzati al calcolo numerico-grafico-simbolico come Maple, Mathematica e Derive (ad esempio, v. Analisi Reale). Sono numerose anche le applets che consentono di esaminare l'evoluzione di sistemi dinamici e statistici: in esse l'utente può controllare l'avanzare di un processo scegliendo, oltre alle componenti, i ritmi evolutivi, la presentazione di dettagli locali o temporali e le riprese di fasi particolarmente significative.
Varie applets che riguardano le soluzioni di equazioni differenziali o di genere analogo sono associate a modelli fisici e di interesse tecnologico.
Talune applets sono dedicate a configurazioni discrete e alla evoluzione di calcoli che le riguardano. Tipiche tra queste sono quelle che riguardano grafi e algoritmi volti alla individuazione di configurazioni pregevoli, come cammini minimi e sottoalberi economici; alcune presentano anche indicazioni sui più concreti utilizzi informatici degli algoritmi.
Una pagina Web particolarmente significativa presenta una decina di applets riguardanti altrettanti algoritmi di ordinamento: il loro comportamento è illustrato da quadri nei quali si vedono scambiarsi di posto le barrette rappresentanti le quantità da ordinare; da queste animazioni emerge con evidenza come ciascun algoritmo operi e risulta chiaro quanto vistosamente i procedimenti differiscano in efficienza.
Una caratteristica notevole di molte applets consiste nella possibilità di ottenere con pochi clicks il testo del programma Java, cioè i dettagli di un procedimento di calcolo: chi si accosta a una tale applet ``aperta" può quindi scegliere se avere solo una visione rapida della questione trattata, se analizzare con attenzione il procedimento risolutivo o costruttivo implementato, eventualmente concentrandosi su qualche suo aspetto, oppure entrare nei dettagli della sua implementazione fino a porsi in grado di proporre sue varianti.

Cominciano quindi ad essere disponibili interessanti supporti alla didattica della matematica costituiti da ipertesti scritti in HTML muniti di applets che presentano in termini concreti e visivi il modo di svilupparsi di procedimenti di calcolo. Anche le possibili aperture interdisciplinari di questi supporti didattici, finora prevalentemente monografici, sono degne di nota.
Strumenti didattici di questo genere rispondono agli obiettivi dei progetti di didattica con il computer ai quali si è lavorato anche in Italia dai primi anni '70.
Ora gli sviluppi del sistema Java e le prime raccolte di applets, insieme alla prevista ampia disponibilità di apparecchiature adeguate, costituiscono una piattaforma ben superiore quantitativamente e qualitativamente a ciò che era disponibile fino a pochi anni fa.

È anche pensabile che uno strumento della portata di Java ed un canale con la ubiquità di Internet promuovano la nascita di sistemi molto più innovativi di quelli visti finora. Ad esempio, sta diventando possibile disporre di dizionari matematici dinamici che, insieme alla spiegazione dei termini, forniscano formule, figure, animazioni controllabili interattivamente, aperture applicative, notizie storiche e indicazioni bibliografiche, anche consultabili contestualmente. Inoltre stanno ricevendo nuovo impulso le attività di Educazione indipendenti dalla distanza.

Di fronte a tutto questo, la scuola si trova a dover affrontare problemi quali: l'acquisizione di sistemi, l'avvio e l'esercizio dei collegamenti in rete, l'aggiornamento degli insegnanti, il ripensamento di non pochi contenuti, la riorganizzazione di determinate attività didattiche come quelle volte ai laboratori informatici e non, la riorganizzazione della biblioteca.
Evidentemente è anche indispensabile preoccuparsi della possibilità di scelte svantaggiose quali:
- adozione affrettata di materiale didattico facilmente acquisibile ma di livello inadeguato o non coordinato con la presentazione di argomenti non informatizzati e con attività più tradizionali;
- adesione ad iniziative esterne alla scuola nate con scopi speculativi, limitati al breve termine;
- effetto di distrazione indotto dal fatto che la Rete spesso è preoccupata di effetti visivi superficiali, a scapito dei contenuti concettuali.

Tutto questo renderà necessario prestare molta attenzione alle tendenze tecnico-didattiche, alla scelta dei nuovi strumenti da acquisire e all'adozione di nuovi metodi. Probabilmente è anche opportuno promuovere iniziative di ampia portata finalizzate a favorire cooperazioni, a mettere a punto e valutare materiale di dominio pubblico e a disutere criticamente i risultati.

JDJ: http://www.JavaDevelopersJournal.com/java/
JWM: http://www.javaworld.com


Indice pagine - inizio pagina