Turbo C

Why Trust Techopedia

What Does Turbo C Mean?

Turbo C was an integrated development environment (IDE) for programming in the C language. It was developed by Borland and first introduced in 1987. At the time, Turbo C was known for its compact size, comprehensive manual, fast compile speed and low price. It had many similarities to an earlier Borland product, Turbo Pascal, such as an IDE, a low price and a fast compiler, but was not as successful because of competition in the C compiler market.


Techopedia Explains Turbo C

Turbo C was a software development tool for writing programs in the C language. As an IDE, it included a source code editor, a fast compiler, a linker and an offline help file for reference. Version 2 included a built-in debugger. Turbo C was a follow-up product to Borland’s Turbo Pascal, which had gained widespread use in educational institutions because the Pascal language was suited for teaching programming to students. Although Turbo C was initially developed by a different company, it shared a lot of features with Turbo Pascal, namely, the look-and-feel of the interface and the various programming and debugging tools included. However, it was not as successful as Turbo Pascal because of competition from other C products such as Microsoft C, Watcom C, Lattice C, etc. Nevertheless, Turbo C still had the advantage in compile speed and price.

The first version was released on May 13, 1987, and it offered the first-ever edit-compile-run environment for software development on IBM PCs. Turbo C was not originally developed by Borland but was bought from Bob Jervis and was initially called Wizard C. Turbo Pascal did not have pull-down menus before this time, and it was only on its fourth version that it received a face lift to look like Turbo C.

Borland as a company no longer develops and sells these products, but Turbo C still lives on as a free download from various online repositories, although it is really an old technology without real technical support and is no longer viable for modern software development. Turbo C eventually evolved into Turbo C++, then into Borland C++ and, finally, into C++ Builder.

Turbo C features:

  • Inline assembly with full access to the C language symbolic structures and names — This allowed programmers to write some assembly language codes right into their programs without the need for a separate assembler.
  • Support for all memory models — This had to do with the segmented memory architecture used by 16-bit processors of that era, where each segment was limited to 64 kilobytes (Kb). The models were called tiny, small, medium, large and huge, which determined the size of the data used by a program, as well as the size of the program itself. For example, with the tiny model, both the data and the program must fit within a single 64-Kb segment. In the small model, the data and the program each used a different 64-Kb segment. So in order to create a program larger than 64 Kb or one that manipulates data larger than 64 Kb, the medium, large and huge memory models had to be used. In contrast, 32-bit processors used a flat memory model and did not have this limitation.
  • Speed or size optimization — The compiler could be configured to produce an executable program that was either fast or small in size, but not both.
  • Constant folding — This feature allowed the Turbo C compiler to evaluate constant expressions during compile time rather than during run time.

Related Terms

Margaret Rouse
Technology Expert
Margaret Rouse
Technology Expert

Margaret is an award-winning technical writer and teacher known for her ability to explain complex technical subjects to a non-technical business audience. Over the past twenty years, her IT definitions have been published by Que in an encyclopedia of technology terms and cited in articles by the New York Times, Time Magazine, USA Today, ZDNet, PC Magazine, and Discovery Magazine. She joined Techopedia in 2011. Margaret's idea of a fun day is helping IT and business professionals learn to speak each other’s highly specialized languages.