LabGuide Home Page
The purpose of the LabGuide is to introduce the unfamiliar to the DemJava
tool and the adaptive style of programing it promotes. This page is meant
to disseminate information on how to download and install
the LabGuide, and additionally provide links to the same information for
the demjava tool needed to use the guide.
Many people find that seeing concrete examples gives a better understanding of the strengths and weaknesses of a langauge than abstact descriptions. The Guide attempts to convey to the user how the benefits of adaptive programming may be realised, by walking them through some modifications to an existing application. In addition the user will see what programming idioms are commonly used in adaptive software. If I were a better programmer, the Guide would also function as an example of good adaptive style; alas, the first two goals will have to suffice.
The lab guide is almost complete. It is supposed to have a section on the advanced fetures of DemJava, but since these are the features most in flux, this portion of the lab guide was never quite working right. Once DemJava calms down a bit, the guide may catch up.
Mostly the guide will instruct the user to "open file foo.beh and go to the definition of bar(). Add the following to the defintion:...". The user is occasionally asked questions to probe his/her understanding of the subject matter.
The guide assumes no expertise in adaptive programming, but does require basic programming skills and workable knowledge of basic unix commands.
In older versions of demjava, the build process was controlled by a so called make utility. This is no longer the case. Demjava now calls all the programs used in the process. This should put both Unixers and GUIers in the same boat. GUIers no longer need to rely on stupid bat files. Cunningly, the new demjava behaves like the old demjava if no makeish command line options are passed to it, so the new version will still work with make if that is your preference. I believe a decent make file generator is still included in the package.
The guide is available in either html, dvi, or Postscript formats, in a zip or gz archive. The html version is availble online, so all you need is a web-browser. This requirement should not prove overly onerous.
The guide will have you running the DemJava tool, so you need to have that installed on your machine. DemJava requires a java 1.1 vm to run and needs a Java compiler that can compile JDK 1.1 (or higher?) compliant code. Recent evidence indicates that using the JDK 1.2 is not a good idea for now. The main demjava dissemination page has a link to the demjava installation instructions page for more info on what and how to install for DemJava.
Lastly, you will need to be able to use a text editor to open, view, and modify files. Make sure that your editor saves files as text, and not formatted documents. (In general, a WYSIWYG wordprocessor is not the best match for the text-editing needs of the discriminating programmer).
(feed them regularly and give them lots of attention :-)
Unpack the archive in some directory. It should make a new directory called LabGuide (or src, if you just downloaded the sources)
The lab guide assumes that your current directory is the src directory,
so do a
cd LabGuide/src
or
cd src
depending on what you downloaded. Run your viewer of choice on the
LabGuide, and learn about DemJava.
This section is not part of the text proper, but rather functions as the bottom of the page where I can put my extended footnotes. No need to read it.
This Document is all Johan's fault.