Written by David Tebbutt, Personal Computer World 02/81 - scanned
THE LAST ONE
A casual phone conversation in early November sent David Tebbutt scurrying off to deepest Somerset where he discovered a program which could become the last one ever written by a human being.
While the rest of the world has been developing a series of ever higher level languages, two men in Somerset, David James and Scotty Bambury, have quietly created a system which actually removes the need for program coding. Suddenly, programming languages seem a little irrelevant since this system will chomp out bug-free programs on receipt of a program design. Of course, in order that people understand the programs produced, they are listed in Basic, although there is no real reason why they shouldn't be produced in machine code, COBOL, Pascal, or whatever else takes your fancy.
The system not only produces bug free code but it also does it jolly quickly - a matter of a few minutes once the design details have been keyed in. Since it keeps a record of the program design, this can be modified at any time and new programs generated on the spot. This means that, for the first time in his life, the user can change his mind or modify his system without it costing him an arm and a leg. For the first time, too, ordinary people can implement their ideas on a computer without having to worry about expensive `experts' or the rigours of learning to program. Programmers on the other hand should find their jobs enriched, getting their intellectual satisfaction from program design and avoiding the tedium of coding and debugging.
This British system, christened `The Last One' has the potential to make the frustration and delays usually associated with software production things of the past.
It will, of course, challenge existing ideas and attitudes and, I suppose, the data processing industry could be about to receive a small dose of the medicine it has been dishing out to users for years. In other words, those in the DP industry who fail to adapt to the new approach may find themselves out of work. I believe, though, that this system, if made widely available, will lead to a massive expansion of the marketplace resulting in opportunities that will more than make up for any program coding jobs which may disappear.
David James has created what I believe to be a unique product. Most people would describe The Last One as a program generator, but not in the limited sense of RPG, FILETAB or even PEARL. This system is fairly easy to learn and use and is totally free from acronyms, abbreviations and codes. All input to the system is in plain English; only the results are coded.
Figure 1 shows an outline structure of The Last One. At the highest level of operation, the user is invited to input broad design details - a note of the aims and objectives of the system, the number of files required and the number of programs in the suite. Anyone taking this `system' option will then be led through a series of questions relating to the files and the programs and, on completion of the questioning appropriate program code will be generated by The Last One. For those who prefer to build up their system at the keyboard, they can ignore the `system' option and simply select other options as they need them. The `create file' and `create program' options are self explanatory, while `modify file' and `modify program' mean just that - it is possible to amend any program or file details at any time. All necessary changes throughout the system will be taken care of automatically. The `enquiry' option allows the user to interrogate the system in a number of ways. It is possible to look at file details - both layout and contents - and it is possible to study program details as well. For those who may be feeling a little lost within
The Last One itself, there is a `help' option which offers a guided tour to the various operations available.
File creation involves setting up the necessary descriptive information such as file size, name, password, number of fields per record plus the definition of things such as field names, sizes and type of contents. All pretty straight-forward stuff - nothing very unfamiliar there.
Program creation is a little different. Having created the file definitions, and this must always be done first as with many conventional computer languages, the user is then invited to enter program design details. This is done in a way very similar to the way many programmers work, especially those who say `I never use flowcharts'. Although called the flowchart entry part of the system, the layout is more like that piece of paper on which you jot down your first thoughts about a program. All the likely options are presented in menu form offering choices like `Input from console' or `set index to end of file' or `unconditional branch to ...'. In this way, a program design is created with typical actions being provided for input, output and processing. One other facility within this flowchart section is to allow the user to name other programs which have already been defined. These are then built into the coding for the program being created.
A `flowchart' might look something like the example in Figure 2. Here we're opening two files - file 1 will have a field updated and file 2 will have transaction records added to it. Searching through the first file requires the index to be set to the start of file prior to each search. The user is required to input certain details through the console. In this example, we're assuming that each entry corresponds to a field in one of the files the transaction file therefore the labels can be `borrowed' from this file and used as prompts on the screen. There are other ways of issuing prompts within The Last One if this isn't to your liking. The record in file 1 is accessed using a key, customer number perhaps, entered by the user. Calculations are performed - quantity times value and VAT calculation, perhaps. Then both files are updated. The cycle can be repeated until the user replies `no' to the `again' question, then the end of file is written to file 2 and the program terminated, usually by a call to another program.
Now, it's very clear from the above that there's a lot more to program writing than just putting in simple flowcharts like that. The point about The Last One is that once you've given it a structure to work to, it can then ask all the necessary questions to fill in the gaps in its information. It will be asking for details of the fields to be entered through the console, where to jump to, what key fields will be used to search the file and precisely what maths is involved.
Once the answers to these questions have been given, The Last One then gets on with generating program code. It produces two versions of each program - one following the precise structure laid down by the program designer, the other using its own knowledge of program structuring to optimise the code. It then benchtests each one, compares the results and churns the best one on to disk (or tape). Since PCW's visits, work has been done on a version which will give the user the option of choosing between speed and memory efficiency.
Program generation takes just a few minutes once the design details have been keyed into The Last One. Most of the programs I saw generated took around five or six minutes and they were absolutely bug free - a significant improvement over any programmer. Admittedly, the programs weren't vast - usually between 100 and 200 lines, but then The Last One is at present written in Basic so things could be hotted up phenomenally by the use of machine code. It's a funny thing, but once you get used to programs being generated in six minutes you forget how amazing it is and start to get impatient!
The program can now be tested and the results analysed using the enquiry facility to look at the contents of files. If it doesn't work properly then it would be because of a logic fault somewhere in the design of your program or system. File design or program design can easily be modified and one of the nicest things about the whole system is that if a file layout is changed in any way, then all the programs affected by this change are themselves modified and regenerated. If a program is modified, the system will ask those questions necessary to complete its new design and then generate fresh code.
The design of The Last One allows it to be run on almost any computer from an HP 41C to, presumably, the biggest Cray. David does all his development work on an Ohio C3C with 96k memory, two terminals, a 23Mb hard Winchester disk - shortly to be up-graded to 74Mb - and twin 8in floppies for security purposes. He has had versions of The Last One running on Apple, Tandy, PET, Wang 2200, Sorcerer, HP 41C - 'admittedly a somewhat cut down version' said David - and one or two other machines to boot. At the moment, he is concentrating his efforts on getting the system running on a PET both disk- and tape-based, and under CP/M. Within a matter of months the current version of the system should be available for all the popular machines. Of course, cassette and floppy based systems won't run quite as quickly as the Ohio system but even then, the speed will be many many times faster than hand coding.
Future developments of The Last One will make it more accessible to the user by removing the need to create program designs. Eventually, it is hoped that a user may simply be questioned about his needs and, once the system has a complete and logical picture of the requirements, it will itself define the files and design the programs. This is a little way off because of the need to adapt it to run on the popular machines. There is also some talk about producing different versions of The Last One to suit the different types of user. For example, there may be an architect's version, one for the scientist, another for computer games, and so on.
WHO IT'S FOR
At the moment The Last One is clearly aimed at the system designer and the analyst/programmer. That's not to say that others won't use it, they most certainly will, it's just that that particular market can pick up the product and use it profitably within a couple of hours. Others less used to a structured approach to systems analysis and design will have to discipline their working methods a little - surely no bad thing. It will probably result in sounder systems designs anyway.
One of the things which David and Scotty feel strongly about is documentation - David because he hates doing it and Scotty because he knows it's vital to the product's success. Accordingly, they plan two books, both of which will probably be written by an outsider who can make a first class job of them. Inevitably, the first book is an operating manual aimed at the experienced person and outlining the structure of The Last One and the options available at the various stages. This book will also contain a number of worked examples which will be particularly useful during the early stages of ownership. The other book will be an altogether grander affair which will be aimed at the inexperienced user - inexperienced in systems analysis and design, that is. This book will take such a person through all the stages necessary to take him from knowing nothing to being able to construct systems using The Last One. This book would almost certainly have much value in its own right, too, if readers ignore the fact that the final part will relate specifically to The Last One.
While no firm marketing decisions have yet been taken, it is looking almost certain that the product will be made available all over the world and will be marketed like any other standard package. There is some talk of registering users, thus entitling them to buy upgrades to the system as they become available, but no decision has been taken yet.
I am certain that when existing software houses see the product they will want to use it for their own systems development work. It will give them a measure of control over the programming function, previously such a difficult aspect to manage. The Last One is likely to result in a change of emphasis rather than in any revolution within the computer industry. Users who take the trouble to learn about The Last One will be able to implement their ideas without employing expensive experts. The likely consequence of this is that users will have a stab at computerising things that they would not have dreamt of previously. It won't matter if they make mistakes because it's no longer a time consuming and costly business to modify or rewrite the programs. If users know that The Last One exists and that they have a fair chance of being able to use it successfully, then they are more likely to take the plunge and buy themselves a computer. This will result in a tremendous market expansion - something that can't really happen without The Last One or something similar appearing on the scene.
If there is such a person as a program coder, and I have heard of one, then he is going to have to change his job - perhaps running The Last One on behalf of the analysts. The analyst/programmer should welcome this development because it means that he can spend more time on ideas and less on tedious coding and debugging. System designers should be overjoyed because it means they can implement their ideas in the way they want to without necessarily having to use the services of a programmer. One thing is certain: things are going to change, but the market expansion brought about by systems such as this will surely improve the employment prospects for data processing professionals rather than diminish them.
The two principals in this story are somewhat unusual and it will help you understand how The Last One came into being if I explain. First of all, David James left school, Millfield, with just one `O' level, in history, he thinks. Realising that this really wasn't quite good enough, he went back to school to take another two - maths and physics. Thus armed, he set off to see the world, ending up doing various strange jobs - such as being a film extra in Jamaica and helping out on a sheep farm in Australia. While working in an Australian steel mill, he learned that he'd inherited around £1 million from a family trust and, having been `on the road' for five years, he figured it was time to go home and do something with this rather handsome windfall. He duly set up a number of companies, one of which had a job which was pretty hard to control by manual methods. David decided that a computer would probably help so he bought a Wang 2200 and went off on a three day Basic course. Whether he ever got his application computerised I don't know, but one thing's certain: he entered into almost a love affair with computers which literally nearly destroyed him.
David started developing an artificial intelligence system seven years ago and he became so engrossed in this that his businesses gradually collapsed around him, leaving him bankrupt. All his computers - the Wang, an Apple, a Tandy and a PET - were taken away from him and, because of his previous wealth, he was pestered by television and newspaper reporters. Things got so bad for him that he tried to kill himself. He was rushed to hospital where he recovered, his mum bought him a Sorcerer and, once again, he was doing what he loved - working with the computer. He was still feeling desperately low when an article appeared in Computer Talk describing his rise and fall and mentioning the artificial intelligence system he was working on.
Before continuing with David's story I should introduce you to the other principal in this saga - 'Scotty' Bambury. Like David he'd left grammar school with a couple of `O' levels and he'd also spent five of his early years `bumming around', in his case on and around the Watford by-pass. Scotty was a motorbike freak and used to spend most of his time mending bikes at the roadside or performing daft stunts like driving up the by-pass embankment then hurtling across the road without actually touching it! One day he bought a car - a bit of an old banger, really, but he sold it for a profit the next day. This led him on to buying more cars, tuning them and reselling at a profit using a council-owned grass verge as his showroom! Inevitably, this came to an end and the family decided to find `a garage on a hill somewhere'. The somewhere ended up being Yarcombe in Devon. Scotty and his dad sunk all the money they could get their hands on into Hilltop Garage. They moved in with their respective wives only to find they had an immediate cash flow problem - no money for housekeeping! Scotty dashed out and persuaded someone to lend him some tyres which he promptly flogged. He went back to this same person, gave him cash for the tyres and asked for some more. Thus began the international tyre business which Scotty now runs called Eurotyres.
Like David, Scotty felt that the business could benefit from having a computer. He bought a Data Saab something or other and let Data Saab's own people install the system. The day came when he wanted the software changed and he was quoted such ridiculous prices and lead times that he started to reflect on the possibility of doing the job himself. One of his early ideas was to use the power of the computer to generate programs in response to the user defining his requirements. In fact, the more he thought about it, the dafter the DP industry seemed to be, sitting on all that power and not using it to help with their own jobs. Two days after deciding to write his own system, he read about David's downfall in Computer Talk. He realised immediately that David had already gone through this loop some five years previously so they arranged to meet.
The meeting took place at the Eurotyres office and Scotty's suspicions were confirmed - David had indeed constructed some program writing routines in connection with his work on artificial intelligence. The two men hit it off together immediately and Scotty realised that he wouldn't have to learn to program after all -he could use David. Scotty formed a company immediately and took David under his wing, giving him computers, somewhere to work and, after a couple of months, somewhere to live as well. The company is now called DJ `AI' Systems.
For the last 18 months David has worked exclusively on The Last One with Scotty keeping his feet on the ground whenever he tried to so some airy fairy stuff which wasn't strictly relevant to their objectives. David tells me that meeting Scotty was nothing short of a miracle. He is convinced that if they hadn't met, he would have taken another overdose but done it properly the second time Instead, the pair of them have come up with a truly remarkable product which removes software as a barrier to widespread use of computers. For the first time, the user can have the system he wants, when he wants it and one which is easy to change along with his changing requirements.
Because David James and Scotty Bambury have no real connection with the data processing industry, they have succeeded in creating a product which is quite unique. No doubt you will recognise the odd technique borrowed from here and another bit which reminds you of something you already know. But the fact is that they produced The Last One in almost complete isolation, concentrating on satisfying the needs of the user of such a system, rather than by studying things like language development. So it is that a system has been produced which not only makes it easy to create operational computer programs quickly, but also allows the user to change his mind without causing serious problems. In the past, a user was expected to agree to a computer system design without having any real idea of what the end product would be like in practice. He had to wait several months for the work to be done only to find that the results weren't quite what he wanted after all. Now, if the end results aren't quite right, the system can be changed at the drop of a hat.
In Scotty's words: `We now have the chance to put the computer industry right and get it running like a proper business'. And he's right. This development marks the end of the unwitting tyranny of the computer industry. Users will now be able to treat computers as tools rather than as parasites which is often the way they've been regarded in the past.
We should remember that this product is British and we should be feeling very proud of that fact. It is now up to those among us who have it in their power, to get The Last One through its final stages of development and on the world markets. Today Britain has a world lead - let's not kill it.
Finally, David and Scotty can't wait to get this product completed so that they can get to work on other projects. It is my view that, stunning as The Last One may be, you ain't seen nothing yet!