Lovelace Version Information - Changes Made Over Time

You are currently viewing Lovelace version 5.8. If you would like to automatically receive a notification when Lovelace changes, please use the Lovelace form so you will receive automated email notifications of changes to Lovelace. Here are the major changes that occurred with each version:

Version 5.8. Fixed an minor textual error in section 3.3. Moved the primary site to Made various minor updates; it's been a while since it was updated. I had to remove the references to old email addresses, since I don't want them spammed; as a side-effect, removed the comments section.

Version 5.7. The book version of Lovelace is finally available, so I added information about the book (in particular how to order it). Changed "LRM" to "RM". Changed the name in many places from "Lovelace" to "Ada95 Lovelace" (this emphasizes what the tutorial explains, and one reader objected to just the word "Lovelace" for other reasons). Added a form for the URL-minder service to the downloading instructions (this is all to reduce the number of obsolete versions that are proliferating). Changed the downloading system so that all files are inside a "lovelace" subdirectory per a request from Michael Feldman; this eliminates a common installation error. Internally I've merged "Small" and the rest of Lovelace to simplify maintenance; this does not change their legal status, and you can still get a file with JUST the code for Small.

Version 5.6.

Version 5.5. Updated Lovelace's "look" to include more and more colorful graphical images (so it looks nicer). For those with slow links, don't worry: I've tried to keep the images small, and caches should help a great deal. You can turn off image loading altogether; Lovelace will still make sense without the images. I've developed some animated GIFs for Lovelace (below). You can use them also, just give me credit.

Version 5.4. Fixed a bug in program Small's parser. Retitled two pages (the comments and this version page) so that some search engines would list the Lovelace home page first (apparently many don't notice that "home page" is an important phrase, and just compute the percentage of matching words to the total number of words). Switched the background to white in most cases to provided maximum visual contrast (some browsers use a grey background that gives less visual contrast). Added a list of my publications and my professional history. Changed some colors to avoid dithering on some platforms; see The 256 Colors of Netscape for more information on dithering issues.

Version 5.3. Added a number of sections on Java to lesson 16 as well as a general page on Java; see the page on Ada and Java. Added an interconnection with the WebAda system; in various places where you see Ada code you can just press a button and compile it (my thanks to Doug Smith for bringing WebAda to fruition and for coordinating with me to make it all happen). Fixed the statistics page (the generator didn't format a statistics line correctly). Changed my email address from to; actually, the old address still works, but I'm switching to the newer standard format used by my company. Added information about my new book, Software Inspection: An Industry Best Practice. I also added some subtle coloring to header and "quiz" text to provide visual cues about major divisions of text. Unfortunately, this release includes some ".class" files that don't conform to the lowest-common-denominator filename format (8+3 case-insensitive, required by MS-DOS and the CD-ROM format readable by Macintoshes). I will try to get that resolved; for the moment, this only affects the pages that directly reference the Java class files (hello.htm and doodle.htm). Unzipping programs for MS-DOS will quietly rename these files.

Version 5.2. This version has had a large number of changes in anticipation of the book form of Lovelace. Lessons that were particularly altered were lesson 7 on object-orientation (using a better example) and lesson 12 on access types (lots more explanations are now included, and an unbounded generic stack that implements assignment and finalization is included). Many other changes were also implemented. Many of these changes were due to comments from Jack Beidler ( - thanks! I added checks to make sure no hypertext page was a "dead end" (i.e. had no links to other pages in Lovelace), and fixed some files which were "dead ends." I also added a "statistics" page; some people just don't realize how big Lovelace is; this may help open their eyes!

Version 5.1. A new note has been added about Lovelace: The Book. I added a lesson about the Ada case statement to lesson 5. I fixed a number of bugs found by Doug Smith (, who carefully examined the entire Lovelace tutorial. Thanks Doug! I edited the installation file to help more people install their own local versions, and included some helpful information for people who only have an email connection. The location of ada2html changed slightly, so the hypertext version of program Small's source code needed to be regenerated. Added a link to the Free Ada 95 Booch Components Home Page to the on-line resource list.

Version 5.0. There were a lot of changes in this version, so I've changed the major version number. I:

  1. Renamed all of the files to end in ".htm" instead of ".html". I did this so that CD-ROMs can easily handle the files (Macintosh users have told me there's no driver to support long CD-ROM filenames on their platform), and to make it easier on MS-DOS platforms (MS-DOS platforms automatically chop filenames, but it's inconvenient to have different filenames between platforms). If you're running a server that serves the Lovelace files, make sure that your server "mime.types" file recognizes ".htm" as an HTML file. If you've been serving Lovelace files and want to permit use of the old ".html" names, run the "mklinks" program to create a bunch of surrogate old files. Most of today's browsers already know that ".htm" files are HTML files; very old versions Netscape for Unix (0.9 and less) do not unless they're told.
  2. Added a whole new lesson, lesson 18, showing a sample Ada 95 program. This sample program is program "Small", a small text adventure program. As well as writing program Small I also developed scripts so the source for Small can be viewed as a hypertext document. I also developed a "home page" (so that there'd be a central point to begin exploring Small) and a sample of Small in action. See the Small Home Page for more information.
  3. Improved the discussion on child packages (including some additional graphics) in lesson 15.
  4. Modified the text in lesson 7 to show the "canonical format" for a package with an OO type definition inside.
  5. Added to lesson 12 a brief discussion of pseudomode "access" (because program Small depends so much on it, it needed to be mentioned earlier, and the lesson on access values seemed like the right place).
  6. Made various changes so that the examples preceded the BNF definition (based on feedback from a Lovelace user).
  7. Released the additions from version 4.6.
  8. Made other miscellaneous additions and improvements.

Version 4.6 (not widely distributed). Added a section on software inspections and common Ada errors in lesson 17. Added an example of creating an interface to a C function (getenv) in lesson 16.

Version 4.5. Fixed the example in lesson 6 involving Null_Key. Mentioned Intermetrics in the section on Ada tutors. Added information on installing a web browser in the section on downloading Lovelace.

Version 4.4. Fixed the link in the Lovelace notes to "Lovelace: An Ada 95 Tutorial" Organized the links in the Lovelace home page so it would be easier to understand.

Version 4.3. Fixed more typos, added a link to link to Learn Ada on the Web (LAW), added some quiz questions to sections that didn't have them, and added comments about Lovelace by previous users. Modified the list of Ada tutorials so it's now a general list of all Ada tutorials, including Lovelace (so people who want a list of Ada tutorials can simply link to that page). The congratulations page on completing Lovelace now includes a link to the URL-minder service so they can automatically receive email when Lovelace is updated. A paper about Lovelace, titled "Lovelace: An Ada 95 Tutorial" is available in postscript format. File "ustrings.adb" had a minor correction in Put_Line to a file (before, the new line was put to current output instead of to the desired file), and it was modified so that it can read lines up to Integer'Last characters long. Added some backgrounds to make it more interesting to look at, but the main tutorial text does not have a background (computer screens are hard enough to read without a background causing problems!).

Version 4.2, released May 1995: Fixed typos, added a "miscellaneous" lesson to discuss safety, efficiency, and briefly hint at related areas. Added a file describing the use of Ada in the U.S. DoD.

Version 4.1, released May 1995: Added a lesson on interfacing to foreign languages.

Version 4.0, released April 1995: Added lessons 9 through 14. Improved presentation speed for some users by making all `.gif' files interlaced and using the HEIGHT= and WIDTH= options of the HTML ``IMG'' command (this doesn't help all users, but they're harmless if they don't).

Version 3.1, released Feb-1995: Fixed minor errors, added error-detection programs to help detect them (including weblint with various options, an HTML spelling checker, and an Ada syntax checking step).

Version 3.0, released Feb-1995: Added this version file. Added a graphic to the home page and button graphics to the tutorial sections; I have not (yet) added graphics to the "miscellaneous" pages. Extended lesson 7 to briefly describe object orientation and encapsulation. Used "weblint" and fixed various problems identified by it. Added some `how to use your compiler' text, which I hope to extend further in the future. Added downloadable "local" versions of Lovelace; this required file renaming to fit within MS-DOS filename limitations. Added <TEXT FILE="filename"> command to mklesson so that it'd be easier to insert code fragments into instructions; this has the side-effect of making it easier to check code using an Ada compiler.

Version 2.0, released 27-Jan-1995: Various bugfixes: fixed the commenting format (some browsers had trouble with the earlier version), as well as a number of smaller errors.

Version 1.0, released 18-Jan-1995: Initial release of Lovelace, with 7 lessons (the 7th had two sections on object-oriented programming).

You can Return to the Lovelace home page.

This page was last modified 18-February-1995.

David A. Wheeler (