tags:

views:

544

answers:

3

From Wikipedia:

The Last One was a unique software program in 1981 which took input from a user and generated a program in BASIC which could then be run. It is an example of a program generator.

The software was not a programming language, since unlike most programming languages, programs were generated by the user selecting options from menus that would form the basis of the generated code. This was done in a logical sequence that would eventually cause a program to be generated in BASIC. At any time, the user could elect to view a flow chart showing the current progress of the program's design. [2]

But Wikipedia didn't say what became of this program. How popular/unpopular was it, and how many people use it? How and when did it meet its demise, or is it still available?

More information available here.

+3  A: 

The next step of evolution were 4GL languages and CASE tools. After that, we have UML and today, MDD.

All of those come with more or less amount of tool support to generate code from some abstract "input". All of them more of less failed for the general case since the general case isn't abstract enough to map it to some formal and simple input.

Today, MDD is a solution for highly repetitive tasks and other programming tasks that can be easily abstracted. Think "copy data out of XML" (highly abstract, good tool support) vs. "calculating the gravity field of a black hole" (very specific, no reuse, little tool support).

[EDIT] As for the history of "The Last One", probably no one adopted it. Code generators always were a bit neglected. My guess is that this is because of the many pitfalls: If you need a million lines of code that look all the same, then a code generator is really cool. But you never need that. You need a million lines of code that are somewhat similar, where "somewhat" is often different from line to line.

But if no one here can answer what happened to the old program, I suggest to ask this question on the respective Wikipedia discussion page (see "discussion" at the top of the wiki page). People who wrote the article might know.

Aaron Digulla
What became of the last one itself? I'm curious if lots of people adopted it, or none, if it made its owner rich, etc.
Click Upvote
I don't think this answer is helpful. The first part doesn't address the question at all, and the edit includes only guessing.
Martin v. Löwis
+5  A: 

Well, I found a blog article by a person who did a major interview with the creator of "The Last One". At the time of the writing of the article (2007), he was still working with one of the creators of "The Last One". You can probably ask him what became of it.

Evan Kroske
+3  A: 

Here's the current story AFAICT: this article mentions that the consulting firm they formed way back then to put TLO into play was named DJ `AI' Systems and is now tloconsultants.com (tlo == The Last One). Cha-ching :-)

My guess (after a 2min site scan) is that they grew their business by continually expanding what appears to be business-oriented expert system "modules" that the generated code ran against (and also perhaps even assisted in or guided some of the code generation, most likely for the code that targeted its own routines) and then incorporate the knowledge of how to use the new modules back into TLO. Very impressive, especially for 1981 and with the engine that knew when it didn't know enough -- ScHrIaTp! I wish my manager had 1/10th that functionality.

And you gotta love that it took five minutes to generate 100 bug-free lines of BASIC code.

I'm curious as to whether they ever "closed the loop" (my term) because I didn't see it mentioned (as I didn't fully read it due to that dang corporate job and its fake-time-based insanity) as to whether they actually reached the point where its own representation was manipulated within it in order to generate the next version of TLO itself. The name "The Last One" suggests to me that David James fully understood the meaning of manifesting a piece of software capable of presenting its own representation to the user (== programmer) for modification with the end purpose being to generate its own subsequent version.

All such self-repping-and-editing programs (live processes are IMO far more difficult while being also tantalizingly more interesting) are actually, from my perspective, equivalent in the sense that they are all 'functions that transform functions that transform functions' (how about 'FtTFtTF's -- appropriately absurd and lovely, IMO :-)

Trying to wrap one's head around how to implement such a beautiful piece of software in the face of its myriad possibilities is the kind of programming puzzle that brings home why MDD is both the current brightest idea while simultaneously being rarely used in real-world projects. Your brain better be firing on ALL cyllinders to go treading that path. How long has it taken Simonyi and his billions?

I am also curious as to whether there are infinite variations of FtTFtTFs or just lots and lots of lots of them.

Enjoy!

"Lasting Peace and Happiness for all Human Beings!"

execNext
It seems that you can still buy (the current version of) the Last One, at http://www.tloconsultants.com/tloutil.htm, for £150.
Martin v. Löwis