Posts | ottobre 2007

29/10/07

Open Sourcing a Saturday Project

Alcune interessanti riflessioni sulla tematica dell’open-source: quando un progetto realizzato nel tempo libero può diventare un progetto open-source da proporre alla comunità degli sviluppatori?

Geertjan Wielenga, sviluppatore del NetBeans Team, racconta la sua esperienza spiegando i passi che hanno portato il suo JFugue Music NotePad (un editor musicale scritto utilizzando la NetBeans Platform e JFugue API, una potente API per la gestione dei file midi) a diventare un progetto open-source.

In sintesi, secondo la sua opinione occorre:

  • disporre di un progetto che abbia raggiungo almeno un certo livello di coerenza (ovvero che possa attrarre l’interesse di altri sviluppatori)
  • rilasciare un prototipo, anche non completo, alla comunità
  • attendere che qualcuno si interessi al progetto (nel frattempo lo sviluppo da parte dell’autore non si arresta)
  • se qualcuno si interessa al progetto ed ha una conoscenza specifica del dominio maggiore di quella dell’autore diviene “contributor”
  • altri utenti sono semplici utilizzatori, “observers”
  • negli anni il progetto può evolvere raggiungendo buoni livelli, addirittura oltre le aspettative dell’autore stesso!

Ecco l’articolo completo: http://www.javalobby.org/articles/sat-open-source/

10/10/07

Is Java ready for use in safety critical systems?

Java è nato come linguaggio general-pourpose, ma al giorno d’oggi il campo di utilizzo più vasto è sicuramente il Web/Enterprise. Che dire dei sistemi safety critical o cosiddetti real-time? Questo è storicamente il mondo delle applicazioni C++, ma qualcosa sta cambiando e anche Java sta per dire la sua. Un esempio? Le specifiche Real-Time per Java RTSJ e la loro relativa implementazione Java SE Real-Time Edition, o le implementazioni alternative (ed ottimizzate) delle classi Sun di base come Javolution o Joda rendono davvero realistica l’applicazione di Java nei contesti cosiddetti real-time.
L’articolo mette a confronto alcuni aspetti della programmazione C++ vs Java come:

  • Segmentation Fault vs Runtime Exception
  • Deallocazione della memoria vs Garbage Collection
  • Stabilità della piattaforma (open bugs)
  • Testabilità e scalabilità delle applicazioni (JVM multiple)

Molto interessante a mio giudizio, e l’attenzione dimostrata alla recente Space 2007 Conference sembrerebbe dimostrarlo…