A tiny, private UK company, Jensen & Partners International of Bedford, reckons it can take on Microsoft Corp and Borland International in the personal computer software development market – its secret weapons being choice, flexibility, price and performance. While it is unlikely that Bill Gates is losing any sleep over this challenge, it is just possible that Philippe Kahn is. You see Niels Jensen was one of the founder members of Borland and he is now the founder member and chairman of Jensen. Jensen left Borland in 1987 largely because the company decided to buy in a C compiler from an outside source and because of uncertainty over how a Modula-2 compiler might compete with Turbo Pascal – Jensen and his team had been developing compilers within Borland. They decided to go and set up their own company, bought the rights to the Modula-2, C and Ada compilers for an undisclosed sum and agreed to stick to research and development for Jensen International’s first two years of operation. The company’s products are known by the brand name TopSpeed and TopSpeed Modula-2 and TopSpeed C are already in the market. Jensen International already claims 80% of the world market for Modula-2 and TopSpeed Modula-2 is used by General Motors Corp, British Gas Plc and IBM.
Common code generator
One thing that Jensen disliked about working for Borland was that it was organised in such a way that there was a development team for each language and they each went off and developed a compiler for their language. However, as Jensen points out, a compiler consists of two parts: a front end and a back end, and the back end can be the same for all compilers irrespective of the language at the front end. Consequently, Jensen International started from the premise that it would develop a common code generator for all the languages it wanted to produce, so that if an enhancement is made to the code generator this will be reflected in all the languages. From Jensen’s point of view all the languages can be implemented with far fewer resources than normal. The next logical step was to integrate all the languages in one common development environment and this has been done with the release of TopSpeed 3.0. Using this system a programmer can keep to his or her favourite language but incorporate parts of other programs written in another language within the system. TopSpeed 3.0 covers Pascal, C, C++ and Modula-2, enabling, say, a Pascal programmer to pull in parts of a C program via object-oriented extensions. All the objects generated by the system are also compatible, so that a Pascal object can be accessed from C or C++. The main benefit of the system is that old code does not have to be discarded once a company decides to move to a new development environment. This could prove to be particularly significant for the uptake of object-oriented programming.
All languages and tools are priced at UKP60 and each language is available in MS-DOS and OS/2 versions. Jensen claims that programmer productivity is increased by shortening Compile/Link/Test and debug cycle times via features such as Project System and Smart Linking. What made Jensen choose Pascal and Modula-2 for TopSpeed? Unabashed he admits it is a religious thing, he is a devotee of Niklaus Wirth who wrote Pascal and then its successor Modula-2. Jensen is a fan of Modula-2, claiming that it is the best programming language available from a technical point of view. C and C++ were chosen because of pressure from customers, and Pascal because it is an area where Microsoft has failed and Borland has succeeded – an area where Jensen believes he can give Borland some competition. TopSpeed Pascal offers coherent object-oriented extensions whereas Turbo Pascal, according to Jensen offers ad-hoc extensions. Jensen is an advocate of standards and says that TopSpeed C was one of the first to achieve full ANSI C conformance, while the Pascal compiler conforms to the ISO Level 1 standard. All well and good, but when you’re in the market to compete with Microsoft isn’t it a good idea t
o conform to Microsoft’s version of C? Jensen claims that TopSpeed 3.0 is compatible with Microsoft’s C language, and that the user can decide from menus whether he or she wants the compiler to produce ANSI standard code or not. Similarly, TopSpeed Pascal comes with a translator to translate Turbo Pascal into TopSpeed. Jensen and his team bought the rights to an Ada compiler out with them when they left Borland, but Jensen says that the Ada market is fizzling out and so it is not a key development area for the company at present. In his opinion Ada is an overly complicated language that takes too long to learn to use efficiently. As for pure object-oriented languages such as SmallTalk and Eiffel he has mixed feelings. SmallTalk is widely criticised for being clumsy and unwieldy and eating up memory and CPU resources, which is presumably precisely why it has found favour with IBM. In Jensen’s eyes, Eiffel is, so far, the best defined object-oriented language, although he feels it has suffered from not yet having an implementation that meets the commercial expectations of professional programmers.
A rueful smile greets the assertion that C++ is becoming the object-oriented language of choice. While he agrees that this is so, he finds it puzzling that a language such as C that is so prone to error and bugs should prove to be so popular. The answer to the conundrum lies with excellent marketing, he feels, since the first compiler on a new machine is always a C compiler. Marketing presumably also accounts for the legend that C is portable, a claim that Jensen says is simply not true. Anyhow, since C is so popular it makes sense that C++ will be. However, one gets the feeling that Jensen thinks that if there is any justice in the world C++ will fall prey to a whole new generation of simple programming languages that have very few keywords, a simple syntax, and do not present the developer with an analytical problem working out how the tool actually works, as the language dictates that things can only be done in one straightforward way. It just so happens that the great man, Niklaus Wirth, is developing such a language at the moment, called Oberon. Who knows, one day it may well form part of the plug-in and play TopSpeed environment.