Whatever Happened to Prolog?
by John C. Dvorak
I first heard of the language Prolog in 1982 when the Japanese were making a lot of noise about its upcoming Fifth Generation Computer Project. In 1982 we were freaked out about anything the Japanese were doing since they were looking like world beaters at the time. The Japanese economy was going great. We had just left a miserable decade and we were told that the Japanese could do no wrong and we could do no right. Worse the Japanese were seen as Japan, Inc. and feared as a tough rival. If they said they were going to develop a Fifth Generation computer, then we were sure they would do it.
In 1982 our newly emerging small computer technology was showing promise as the then smallish Intel had teamed up with IBM and Microsoft to produce the IBM PC. While those of us who had been using small computers since the Altair days knew that these machines were the true world-wide trend, few others realized it.
One clueless group in particular was the then worshiped Japanese Ministry of International Trade and Industry (MITI) which was behind the plan to develop the Fifth Generation Computer System. Now, mind you, nobody was exactly sure what the second and third generation computer was, let alone the fourth generation. The chit-chat at the time was that we were somehow immersed in some vague third generation and the Japanese, through force of will, were going to leapfrog past the upcoming and still unknown fourth generation (which dumb Americans would move to) and go straight to the Fifth Generation. This spooked the country, to say the least. It was actually believed that the Japanese could do this somehow because they were just smarter than we were. We were convinced the Japanese could accomplish anything — even the impossible — if they put their mind to it. Over time the Japanese spent millions of dollars oî this idiotic project and nothing came of it. Nothing except a lot of wheel spinning and a huge boost for artificial intelligence and a couple of little known programming languages: LISP and Prolog. These languages were thought to be part of the Fifth Generation puzzle, Prolog in particular.
The American computer community jumped all over the languages and out of the blue artificial intelligence operations cropped up everywhere. Public offerings of weird companies plagued the stock market just as Internet stocks do today.
Over time it was discovered that there wasn’t enough raw computation power to do any leap-frogging and the industry moved forward in lock-step with Moores law, no slower, no faster. The Fifth Generation project was a dud.
LISP became incorporated into the Autodesk product where it still is a workhorse and Prolog seemed forgotten. But, in fact, is alive and well in specialized applications — none spectacular.
The name Prolog was coined in 1972 Phillipe Roussel at the University of Marseilles. It means “PROgrammation en LOGique.” The language was invented to produce a system whereby a computer could be programmed completely by true logic and make it so the machine could directly communicate to a person using that logic. You can see how the artificial intelligence community found this to be fascinating.
Prolog first derived from research done by Robert Kowalski, then at Edinburgh University along with Alain Colmerauer of the University of Marseilles around 1970. Within the decade the team and its associates had developed a interpreter and a compiler. During the buzz over the Fifth Generation project Borland brought out a desktop computer version of the language called Turbo-Prolog that generated some interest in the US, although I don’t know anyone who ever used it.
The language is hard to describe and sounds like something worth playing with. Apparently there are some commercial successes with code developed using Prolog, mostly in Europe where users seem more inclined to stray away from the Microsoft-Intel Axis. In particular complex scheduling programs can be developed using Prolog. Various airlines, for example, use a tool kit sold by a company called PrologIA which can solve complex crew scheduling problems effortlessly. Others are working on possibly using Prolog to break down languages so voice recognition can actually work correctly. Some believe that the true conversational computer will be based on a Prolog program.
Prolog requires a new way of thinking about problems and proponents claim it’s the only language that can be used for extremely difficult tasks. When you look into it, though, the structure of the language looks as if it is impossible to debug faulty code.
I think this language is something that people should explore. It has all the potential to make a huge comeback. The original Turbo-Prolog was recovered by its developer the Prolog Development Center in Denmark and it’s now selling something called Visual Prolog. Information is available from its website at www.pdc.dk.
There is a freeware version of Prolog called Strawberry Prolog available from the website at www.dobrev.com and developed by Domiter Dobrev which might be a good place to start. Any search engine using the keywords Prolog and Windows should reveal other tools.