History of FunnelWeb Implementations

FunnelWebhistoryFunnelWeb version 1FunnelWeb version 2FunnelWeb version 3

The first implementation of FunnelWeb (FunnelWeb V1) was written in AdaAda in December 1986. The project was initially canned as requiring too much time, but was resurrected when I decided to commit to AdaUSDOD83 and realized that I needed a program to write to help me to learn Ada. FunnelWeb V1 was, in fact, my first Ada program. It took about one month to write.

FunnelWeb V1 was used intensively by myself to write Ada programs from January 1986 to July 1989 at which time I finished my Ph.D.Ph.D. and lost access to the VAX. During this time at least twenty thousand lines of code were generated using FunnelWeb. Hardly anyone but myself used FunnelWeb.FunnelWebpast use

After losing access to Ada and the Vax (and hence to FunnelWeb), I was forced back to programming the non-literate way. From time to time I found that I needed to use some of my old programs that I had written using Ada and FunnelWeb. I knew that Ada would become available on more machines, but certainly FunnelWeb wouldn't. I recognised a strong need for a portable version of FunnelWeb written in C but didn't have the time or energy to create one.

About this time (late 1989), David Hulse,DavidHulse at the time a student in Computer Science at the University of Adelaide,UniversityAdelaide volunteered to translate the 4000 line Ada version of FunnelWeb into C. To my knowledge this translation process took about three weeks (in December 1989). The result was called FunnelWeb V2 and was formally signed into the public domain on 5 May 1992.

In general, David Hulse did a good job. However, the resultant code suffered from one or few serious defects, the most serious of which was a lack of portability.

Lack of portability of the C code, combined with the need for a rather solid design review, combined with the need to strengthen the program to bring it up to production standard, resulted in my performing a complete reworking of the code. The C code was entirely, but incrementally, replaced or reformatted. The code was also strengthened and new features were added. This process took about two months (November and December 1991). A further two months (approx) were spent writing documentation, constructing a regression test suite, porting the program to different machines, and sorting out the legal issues involved in its release.

I would like to take this opportunity to record a debt of gratitude to David Hulse who translated FunnelWeb from Ada to C. Although my reworking of his C code obliterated most of his code, his translation was pivotal to the development process. Without his effort in moving from Ada to C, I'm not sure that I would have mustered the energy and time to complete the process and bring FunnelWeb up to its current standard.