Jump to content

Turbo Prolog: Difference between revisions

From EDM2
Ak120 (talk | contribs)
mNo edit summary
Ak120 (talk | contribs)
mNo edit summary
Line 6: Line 6:
Prolog traditionalists however were absolutely livid, referring to it as "Pascal in a drag" and maintained that despite the name it was better suited to solving the types of problems that traditional strongly typed languages in the Wirth/Dijkstra branch of the Algol family were good at rather than the sort on non-deterministic problems Prolog excelled at. Research in the late 80's and early 90's however showed that while Turbo Prolog allowed you to solve an number of traditional deterministic problems in a way similar to the Pascal branch and without the typical -cut needed that was a problematic feature when it came to speed on a Prolog system, the Turbo Prolog system was also good at solving non-deterministic problems and did so in a remarkably "Prolog like" fashion despite the obvious structural differences between the language variants.
Prolog traditionalists however were absolutely livid, referring to it as "Pascal in a drag" and maintained that despite the name it was better suited to solving the types of problems that traditional strongly typed languages in the Wirth/Dijkstra branch of the Algol family were good at rather than the sort on non-deterministic problems Prolog excelled at. Research in the late 80's and early 90's however showed that while Turbo Prolog allowed you to solve an number of traditional deterministic problems in a way similar to the Pascal branch and without the typical -cut needed that was a problematic feature when it came to speed on a Prolog system, the Turbo Prolog system was also good at solving non-deterministic problems and did so in a remarkably "Prolog like" fashion despite the obvious structural differences between the language variants.


What surprised researchers even more was that TP solved certain types of mathematical problems much faster than code compiled with C and Pascal compilers, sometimes by almost impossibly high factors of speed. But with the bulk of the researchers coming from the AI related Prolog/LISP world they did not realise that to make up for the extremely slow speed of the common IBM PC's all the C and Pascal compilers they were using to compare with the Turbo Prolog were single pass compilers that traded compiler execution speed for compiler output execution speed, while Turbo Prolog was a multi-pass compiler that did proper optimisations on its code output at the cost of slower execution of the compiler itself. Or in other words regardless of the language, TP would always have been faster even though some of the speed gains were due to the language and not the compiler. There were even a couple of research papers published that tried to dissect what was happening inside the Turbo Prolog compiler by comparing the workings with Turbo Pascal and Turbo C, not realising that apart from the IDE, all three development systems were unrelated and while Turbo C and Turbo Pascal shared a similar structure, the Turbo Prolog one was completely different making comparisons completely bogus, if an entertaining read.
What surprised researchers even more was that it solved certain types of mathematical problems much faster than code compiled with C and Pascal compilers, sometimes by almost impossibly high factors of speed. But with the bulk of the researchers coming from the AI related Prolog/LISP world they did not realise that to make up for the extremely slow speed of the common IBM PCs all the C and Pascal compilers they were using to compare with the Turbo Prolog were single pass compilers that traded compiler execution speed for compiler output execution speed, while Turbo Prolog was a multi-pass compiler that did proper optimisations on its code output at the cost of slower execution of the compiler itself. Or in other words regardless of the language, TP would always have been faster even though some of the speed gains were due to the language and not the compiler. There were even a couple of research papers published that tried to dissect what was happening inside the Turbo Prolog compiler by comparing the workings with Turbo Pascal and Turbo C, not realising that apart from the IDE, all three development systems were unrelated and while Turbo C and Turbo Pascal shared a similar structure, the Turbo Prolog one was completely different.


Borland released version 2 in 1988 but a number of factors lead to PDC taking over the sales of the system themselves and releasing version 3 in 1989 under the name '''PDC Prolog'''. Some of the upheaval that happened at Borland when [[Niels Jensen]] left to found [[Jensen and Partners International|Jensen & Partners International (JPI)]] meant that ties between Borland and PDC were not as strong as they used to be, with the Borland USA office effectively taking control of the company. Sales of TP v2 were not as good as had been with version 1, but there was notably little promotion of Turbo Prolog 2 by Borland and no advertising as such which did no help matters, and to top it all up there were some technical disagreements between the companies as well.
Borland released version 2 in 1988. Sales of v2 were not as good as had been with version 1, but there was notably little promotion of Turbo Prolog 2 by Borland and no advertising as such which did no help matters, and to top it all up there were some technical disagreements between the companies as well. Some of the upheaval that happened at Borland when [[Niels Jensen]] left to found [[Jensen and Partners International|Jensen & Partners International (JPI)]] meant that ties between Borland and PDC were not as strong as they used to be, with the Borland USA office effectively taking control of the company.
 
[[Prolog Development Center]] (PDC) taking over the sales of the system themselves and releasing version 3 in 1989 under the name [[PDC Prolog]].


==Versions==
==Versions==
Line 23: Line 25:
;Papers
;Papers
* Turbo Prolog - The Natural Language of Artificial Intelligence - Borland 1986
* Turbo Prolog - The Natural Language of Artificial Intelligence - Borland 1986
* [http://dl.acm.org/citation.cfm?id=53027 Pascal's emulation of a Prolog program]
* Howard Lambert: ''Pascal's emulation of a Prolog program'' - 1988 SIGCSE
* [http://books.google.com/books?id=YGOSX-zIZ00C&pg=PA92 Interview with Philippe Kahn on Turbo Prolog v1] - From Popular Science 1986
* [http://books.google.com/books?id=YGOSX-zIZ00C&pg=PA92 Interview with Philippe Kahn on Turbo Prolog v1] - From Popular Science 1986



Revision as of 16:55, 7 April 2018

History

Offering from Borland at price of 99$ in 1986. The low cost and the speed of the system caused something of a sensation at the time and early versions of the systems sold extremely well, enough for Borland to produce a number of add-on toolkits for the language.

Prolog traditionalists however were absolutely livid, referring to it as "Pascal in a drag" and maintained that despite the name it was better suited to solving the types of problems that traditional strongly typed languages in the Wirth/Dijkstra branch of the Algol family were good at rather than the sort on non-deterministic problems Prolog excelled at. Research in the late 80's and early 90's however showed that while Turbo Prolog allowed you to solve an number of traditional deterministic problems in a way similar to the Pascal branch and without the typical -cut needed that was a problematic feature when it came to speed on a Prolog system, the Turbo Prolog system was also good at solving non-deterministic problems and did so in a remarkably "Prolog like" fashion despite the obvious structural differences between the language variants.

What surprised researchers even more was that it solved certain types of mathematical problems much faster than code compiled with C and Pascal compilers, sometimes by almost impossibly high factors of speed. But with the bulk of the researchers coming from the AI related Prolog/LISP world they did not realise that to make up for the extremely slow speed of the common IBM PCs all the C and Pascal compilers they were using to compare with the Turbo Prolog were single pass compilers that traded compiler execution speed for compiler output execution speed, while Turbo Prolog was a multi-pass compiler that did proper optimisations on its code output at the cost of slower execution of the compiler itself. Or in other words regardless of the language, TP would always have been faster even though some of the speed gains were due to the language and not the compiler. There were even a couple of research papers published that tried to dissect what was happening inside the Turbo Prolog compiler by comparing the workings with Turbo Pascal and Turbo C, not realising that apart from the IDE, all three development systems were unrelated and while Turbo C and Turbo Pascal shared a similar structure, the Turbo Prolog one was completely different.

Borland released version 2 in 1988. Sales of v2 were not as good as had been with version 1, but there was notably little promotion of Turbo Prolog 2 by Borland and no advertising as such which did no help matters, and to top it all up there were some technical disagreements between the companies as well. Some of the upheaval that happened at Borland when Niels Jensen left to found Jensen & Partners International (JPI) meant that ties between Borland and PDC were not as strong as they used to be, with the Borland USA office effectively taking control of the company.

Prolog Development Center (PDC) taking over the sales of the system themselves and releasing version 3 in 1989 under the name PDC Prolog.

Versions

  • 1986: Version 1.0
  • 1987: Version 1.1
  • 1988: Version 2

Publications

Books
  • Khin Maung Yin and David Solomon: Using Turbo Prolog - Que 1986, ISBN 0-88022-270-0
  • Nathan Goldenthal: Turbo Prolog Programmer's Guide - Weber Systems 1987, ISBN 0-938862-83-9
  • Herbert Schildt: Advanced Turbo Prolog Version 1.1 - Osborne/McGraw-Hill 1987, ISBN 0-07-881285-2
Papers

See also: Visual Prolog

Links