A Brief History of GNU Dr. Geo
I started the design of Dr. Geo in March 1996. I was shocked my school can't afford an interactive geometry software with a modern user interface - windows and mouse based.
At first I wanted a software for PC developed with gratis developer
tools.
The inspiration came
from Cabri Geometer with its nice graphic user
interface, feedback and macro-construction
system. Geoplan was another great source of inspiration
with its programmable key and some other original features. I was a
regular user of this software as it was provided more or less freely
to the school, but it was only working in keyboard mode. Windows
versions appeared later. It is a great software anyway.
At this time, a friend showed me the DJGPP software suite to write C/C++ application. DJGGP is in fact a DOS port of the GNU GCC et al. software suite.
Therefore, the first version of Dr. Geo was a DOS software. I also integrated Unicode characters handling so Dr. Geo was the first interactive geometry software with Chinese messages. Later in 1999, I ported it to GNU/Linux as a GTK+ application, it was later rated as GNU software by Richard Stallman. For the curious, see its archived web site.
The DOS version was dropped for the GNU/Linux version. Last version included a Scheme interpreter for scripting and programmed sketches, this feature was developed in 2002, I presented it at the FOSDEM 2003, in February. While I was demonstrating what you can achieve with scripting in an interactive geometry software, the audience gave me an ovation, it was a great moment. The last stable version was 1.1.0 and it is still available in most GNU/Linux distribution. GNU Dr. Geo was one of the first interactive geometry software - if not the first - to integrate a programming language for scripting and source code defined sketches.
Dr. Geo fans started to use the programming facilities to invent
new use case of interactive geometry software. Several areas of
mathematics and programming were explored:
- geometry and programming [centomo2004a], [centomo2005a]
- historical problems in mathematics [centomo2003a],
- programming related to mathematics education [fernandes2005],
- model of physical
problems [centomo2004b], [ckhung2003]
- recursive programming with fractal [freeduc2003]
In 2005 I started porting Dr. Geo to Smalltalk, first
to Squeak/Etoys then later
to Pharo Smalltalk. With Smalltalk, Dr. Geo becomes
multi-platform and truly dynamic thanks to
the Smalltalk nature as a reflective, self written
language and its interactive programming environment.
This new
version brings more possibilities:
- it runs on OLPC XO
laptop for kids, in 2007 [fernandes2007]
- it is distributed
as an
universal portable app, for GNU/Linux, MacOSX and
Windows.
- it can be studied and modified from itself - This
means Dr. Geo application is distributed with its source code and the
source code of the environment and the tools to edit, to compile and
to debug Dr. Geo code [busser2011]. Imagine Geogebra application
distributed with its source code and the Java source code, Eclipse and
the Eclipse source code...
- it is programmable and
scriptable in itself with an important tool set to study, to inspect,
to write and to debug Dr. Geo code (including script and programmable
sketch).
- it comes with the session snapshot feature, fully portable.
- it comes with pre-release update feature
[fernandes2011]
This is the today version, with about 3 or 4 releases and 15-20 pre-releases a year.
- [centomo2004a] - http://www.linuxdidattica.org/docs/cnt/articolo.html
- [centomo2005a]
- http://www.matematicamente.it/staticfiles/software_math/dr_geo/schemedrgeo.pdf
- [centomo2003a] - http://matematica-old.unibocconi.it/didattica/dottgeo.htm
- [fernandes2005] - http://documentation.ofset.org/drgeo/fr/drgenius_89.html
- [centomo2004b] - http://www.linuxdidattica.org/docs/cntm/drgeo.html
- [ckhung2003] - drgeo@ww.cyut.edu.tw/~ckhung
- [freeduc2003] - http://ofset.sourceforge.net/freeduc/book/book_19.html
- [fernandes2007] - http://blog.ofset.org/hilaire/index.php?post/2007/11/07/Utiliser-Dr-Geo-dans-lOLPC
- [busser2011] - http://revue.sesamath.net/spip.php?article330
- [fernandes2011] - http://forum.drgeo.eu/DrGeo-pre-release-11-12d-tc3504120.html