mercury@ut-ngp.UUCP (02/08/87)
[]
I found the following on CompuServe tonight, and, seeing no such
postings on the net of a similar nature, thought I'd provide them for
general consumption. I have no affiliation with Borland Intnl.,
though I am a satisfied user of Turbo-Pascal. I am posting these
announcements as I feel that they are of general interest.
/------/
BORLAND CHALLENGES ALL PLAYERS WITH TURBO C: OFFERS FASTEST OPTIMIZING C
COMPILER FOR MICROCOMPUTERS AT $99.95
Programmers Can Compile From Command Line Interface Or From Borland's Integrated
Environment
SCOTTS VALLEY, Calif. -- Programmers embarking on serious software development
projects, and novices taking their first crack at the C programming language,
can harness the power of new Turbo C from Borland International, Inc. The new
language development system compiles at a fast 7000 lines of code per minute.
Turbo C is the only optimizing C compiler for microcomputers that provides end
users with a choice of using either a conventional-style command line interface;
or the integrated environment that Borland has become known for, complete with
built-in editor, compiler and Linker.
Turbo C provides a one-pass compiler, full control of memory models, and
extensive code optimizations. In benchmark tests (attached), Turbo C generates
the fastest, smallest object code. Turbo C has a built-in Turbo linker, also
provided as a standalone program for use in the command line mode.
According to Borland president Philippe Kahn, "People use C because of the
conciseness and flexibility of the language...and Turbo C is best described as a
high level language tool that delivers programming control at the low end as
well. We are proud to repeat the concept of Turbo Pascal, by delivering a
lightning fast compiler and a feature-rich development environment at a fraction
of the cost of what might be considered as a comparable offering."
Turbo C's Compiler and Linker
Turbo C is a single-pass compiler that generates intermediate data structures in
memory. In contrast, most C compilers are four or five-pass compilers that
compile using temporary files on disk. Turbo C compiles to memory at fast raw
compile times exceeding 7000 lines/minute on a 6 MHz IBM PC AT.
Turbo C supports 6 memory models: Tiny, Small, Compact, Medium, Large, Huge.
Near pointers and far pointers allow the programmer to take full advantage of
the 8086 microprocessor's architecture with the mixed model technique employed
in Turbo C.
A fast linker, like that implemented in Turbo Prolog, is compatible with the
DOS linker and links approximately two to ten times faster than the DOS linker
while it is about one-fifth the size.
Turbo C features a built-in LINT with extensive error checking for streamlined
development and debugging; and full support of ANSI prototypes. Optional Pascal
calling conventions have been included for added efficiency and optimization
power.
A full range of Compiler options are provided including inline assembler,
multiple levels of optimization, generation of 80186/80286/8087 instructions,
warning supression, and multiple memory models. Compiler optimizations include
automatic register assignment and common sub-expression elimination.
In Support of Industry Standards for C
and Runtime Libraries
Turbo C implements the forthcoming ANSI C standard and delivers full support of
Kernighan and Ritchie C. Special extensions for the PC environment include six
memory models; and extensions for mixed-language, mixed-model programming.
Support for software interrupt functions, and unique support for inline
assembler, are both implemented in Turbo C.
The Turbo C library includes standard functions and support for the IEEE
Floating Point standard (with software emulation if no 8087 is present). Support
for UNIX compatibile library routines, and supplemental functions for DOS and
BIOS calls are also included in the library for Turbo C.
The Development Environment
Turbo C features a pull down menu environment that is the hallmark of other
widely-used Borland language tools such as Turbo Prolog and the forthcoming
Turbo Basic. Because Turbo C also comes complete with a command line version,
professional C programmers and software developers can select compile options
from the command line, from the integrated environment or from a configuration
file; without the need to set environment variables.
The integrated environment in Turbo C supports an automatic Make/Project
Facility designed for managing program development. A separate Make program is
provided for the command line version. This Facility compiles all modules in a
project, or recompiles only the modules that have been modified since last
compiled.
The Run operation within the integrated environment will recompile all necessary
files, generate the executable code and run the program, then return back to the
user interface (UI).
Two tiled, zoomable windows -- the Editor Window and the Message Window -- can
be invoked within the editor; and the user can toggle between these windows with
a hot key.
In the Editor Window, a full screen editor is provided with insert/overwrite,
auto-indent, and block copy, move, read, write, and delete along with many other
functions.
In the Message Window, warnings and compiler error messages can be turned off
selectively at different levels. Turbo C steps through multiple errors, and the
interactive editor automatically positions the cursor in the source code at the
point of error.
The integrated help system in Turbo C is an abbreviated form of the reference
manual, showing declarations and descriptions of all library functions for the
large reference libraries commonly associated with the C language.
The Turbo C User Manual
Turbo C's user manual is Turbo Pascal users learning to program in C.
Borland International, Inc., was founded as a company devoted to the development
of superior language tools. The company's major language development software
includes Turbo Pascal, Turbo Prolog, Turbo Basic and now Turbo C, and their
accompanying Toolbox products. Turbo Pascal and Turbo Prolog are the leading
language tools in their respective categories. Both Turbo Basic and Turbo C are
scheduled for delivery beginning in the first half of 1987.
Turbo C will be available for $99.95 (suggested retail price) either directly
from Borland, or through its distributors and dealers worldwide. For more
information, contact Borland International, 4585 Scotts Valley Drive, Scotts
Valley, CA, 95066. Telephone (408) 438-8400.
Benchmarks
Sieve benchmark (25 iterations)
Turbo C Microsoft C
Compile Time 3.89 16.37
Compile and Link Time 9.94 29.06
Execution Time 5.77 9.51
Object Code Size 274 297
Dhrystone benchmark
Turbo C Microsoft C
Compile Time 5.93 30.70
Compile and Link Time 10.60 44.22
Execution Speed 1282 1240
(Dhrystones/second)
Object Code Size 1164 1375
Benchmarks run on a 6 mhz IBM AT using Turbo C version 1.0 and the Turbo Linker
version 1.0; Microsoft C version 4.0 and the MS overlay linker version 3.51.Y7 JLast page !
BORLAND'S TURBO BASIC DELIVERS FASTEST COMPILATION, TRUE RECURSION, BASICA
COMPATIBILITY, 8087 SUPPORT
SCOTTS VALLEY, Calif -- Thousands of people who write programs in BASIC or plan
to in the future can now boost their programming skills and write cleaner, more
elegant programs with Turbo Basic from Borland International, Inc. The new
language development environment for IBM and compatible PCs offers
functionality and speed previously unavailable from other BASIC compilers on the
market, by combining the interactive strength of BASIC with the structured,
modular approach of Pascal. Turbo Basic achieves the fastest benchmarked
compilation speeds among commercially-available BASIC compilers for PCs.
Turbo Basic employs the same powerful yet easy-to-use language development
environment that is characteristic of Turbo Pascal and Turbo Prolog, Borland's
first two language products and market leaders in their respective
categories. The package includes a fast memory-to-memory compiler, full screen
editor, an internal linker and runtime library, and Microcalc spreadsheet
complete with source code.
Combined support of true recursion, full 8087 integration, block
structured programming statements, and the ability to access all of the
computer's memory, set Turbo Basic apart from contenders, and make it an ideal
BASIC programming environment for both beginning and seasoned programmers.
New Turbo Basic also supports large multiline functions and procedures with
true local, static and global variables. It is compatible with IBM's Advanced
Basic, (BASICA) and Microsoft GWBasic, and supports full EGA graphics. Turbo
Basic has a suggested retail price of $99.95 and is expected to begin delivery
in 1Q 1987.
TURBO BASIC PRODUCT BACKGROUND
Floating Point and Integer Suppo
Turbo Basic answers one of the single most popular demands of BASIC users:
speed. Full 8087/80287 (math coprocessor) support is provided in Turbo Basic,
which generates inline coprocessor instructions (with software emulation if no
8087 is present). Intermediate results are calculated to 80 bits of precision.
Built-in conversion functions take BASICA floating point data and convert it to
Turbo Basic's standard IEEE floating point format. Programs using integer
mathematics can benefit from the implementation of a new 32 bit long integer
data type in Turbo Basic.
A Professional Development Environment
Turbo Basic has the look and feel of other Borland software programs, with
its pull-down menus, context-sensitive help, and full window management with
separate windows for editing, messages, tracing and program execution. The
user has full control of placement, size and color of windows in the
environment. The Compiler, Editor and Executable programs in Turbo Basic are
fully integrated. Program text can be output to a window or to the full screen.
Turbo Basic automatically positions the cursor at the point of error in the
source code whenever compile, runtime or I/O errors occur. Turbo Basic programs
can be run within this programming environment, or Turbo Basic can generate
executable and chain files, without requiring a linking step. As with other
Borland language tools, Turbo Basic allows users to create stand-alone
programs, with no support files, no royalties and no licensing requirements.
Structured Programming in Turbo Basic
Turbo Basic provides extensiv block structured programming statements.
Conditional control is provided by the block IF (including ELSEIF) and SELECT
CASE statements.
Support for DO WHILE, DO UNTIL, LOOP WHILE, and LOOP UNTIL statements in
Turbo Basic supplement the traditional repeat control statements of BASIC. True
recursive procedures and functions -- with local, static and global variables --
make Turbo Basic highly suitable for the experienced BASIC programmer developing
large programs. Recursion, or the ability of a procedure and function to call
itself, has been a long awaited feature for BASIC programming.
The EXIT statement can be use in procedures, functions or any block
statement (FOR, WHILE, DO, IF, SELECT CASE).
Line numbers are optional in Turbo Basic, and alphanumeric labels can be
used to make programs more readable.
A new named constants feature aids structured programming, helps generate
efficient code, and supports conditional compilation. With conditional
compilation -- offered to BASIC programmers for the first time with Turbo Basic
-- users can write a single program but actually have several different versions
of that program, simply by setting flags at compile time. In this way the user
need only update and maintain one program.The Turbo Basic compiler automatically
knows when event trapping is required, and generates the appropriate code, thus
saving the programmer from the inconvenience of setting switches before
compiling. Event trapping can be explicitly turned on and off at points in the
source program to speed up execution time. A short circuit expression
evaluation feature in Turbo Basic promotes faster execution and more efficient
code.
Memory Management
The $SEGMENT compiler directive in Turbo Basic supports large program
development beyond the traditional 64K byte program limits of many other BASIC
compilers.
All available memory may be used for array data, with any single array up
to 64K bytes. Dynamic arrays allow specification of array size at runtime
for efficient use of memory, with defined upper and lower bounds.
String data can occupy up to 64K of memory. Turbo Basic provides dynamic
string memory management, and there is no requirement to wait for string space
to be compacted.
Operating System and Assembly Language Interface
Turbo Basic extends BASIC to provide a call interrupt statement allowing easy
access to all DOS services and BIOS interrupts directly from the source
program. With Turbo Basic, the programmer can call Assembly language INLINE
procedures by specifying the hex code or loading in a .COM file at compile time.
The introduction of Turbo Basic marks Borland's third major new language
development system since Turbo Pascal was launched in November, 1983. The
company markets a growing family of high performance, modestly priced software
including programming language products, business productivity software,
development tools for artificial Intelligence applications, electronic versions
of leading reference works, and scientific and engineering software tools. A
number of Borland products are leaders in their respective software categories;
such as Turbo Pascal, SideKick, Reflex: The Analyst, Turbo Prolog and Turbo
Lightning.
For more information, contact Borland International, Inc., 4585 Scotts Valley
Drive, Scotts Valley, Calif., 95066; (408) 438-8400.
BORLAND ANNOUNCES POWERFUL NEW TURBO PASCAL NUMERICAL METHODS TOOLBOX FOR
SCIENTIFIC & ENGINEERING MARKET
SCOTTS VALLEY, Calif. -- Borland International, Inc., has developed the Turbo
Pascal Numerical Methods Toolbox, a powerful collection of state- of-the-art
applied mathematics tools for Borland's Turbo Pascal language development
system. Now scientists, engineers, university professors and their students,
and other professionals can write their own customized programs for numerical
analysis. This new toolbox is to developers using Turbo Pascal what the
powerful IMSL and NAG Fortran libraries are to scientists and engineers
developing Fortran programs on mainframes.
The Numerical Methods Toolbox is a collection of Turbo Pascal routines
and programs, each with an accompanying demonstration program example.
Comprised of ten modules, the Toolbox provides a powerful solution to
number-crunching applications such as: finding solutions to equations,
interpolations, calculus with numerical derivatives and integrals,
matrix operations including inversions, determinants, Eigenvalues, differential
equations, least squares approximations, and Fourier transforms.
The generic procedures contained in each module can be easily modified
and included in the user's own programs. As with other Borland Toolboxes,
complete source code is provided for each program in the Turbo Pascal
Numerical Methods Toolbox (excluding the graphics demonstration program, which
requires use of Turbo Pascal Graphix Toolbox to recompile).
Turbo Pascal Numerical Methods Toolbox is available for IBM and compatible
PCs, XTs and ATs; and runs with or without an 8087/80287 math coprocessor.
The graphics module requires the use of a graphics monitor and Turbo Pascal
Graphix Toolbox, and is compatible with CGA or Hercules compatible graphics.
The Toolbox is not copy protected, and has a suggested retail price of $99.95.
Delivery is expected to begin in 1Q 1987.
The Turbo Pascal Numerical Methods Toolbox joins Eureka: The Solver, as
Borland's first two products in their newly- announced Scientific & Engineering
Software Division. The company also plans to introduce other new products
for the fast-growing scientific and engineering market in the future. Other
Borland products include Turbo Pascal and its Toolboxes, SideKick, Reflex:
The Analyst, Turbo Prolog, and Turbo Lightning.
For more information, contact Borland International, 4585 Scotts Valley
Drive, Scotts Valley, CA, 95066. Telephone (408) 438-8400.
TURBO PASCAL NUMERICAL METHODS TOOLBOX
PRODUCT BACKGROUND
Turbo Pascal Numerical Methods Toolbox is divided into ten areas of
numerical analysis.
Certain of the toolbox procedures are iterative, with increased
accuracy in succeeding iterations. Tolerances and maximum iteration counts can
be specified in order to achieve a desired level of accuracy. Some modules
also provide error estimates.
1. Zeros of a Function - A module which can be used to find points where a
given function is zero. The bisection method, Newton method, secant method,
Newton-Horner's method for polynomials, Muller's method for complex
functions, and Laguerre's method for polynomials are contained and used in
this module.
2. Interpolation - Given a set of function values, define a smooth function
passing through the values; using either the Lagrange polynomial interpolant
or a cubic spline.
3. Differentiation - This module provides approximations for the derivative of a
given function, from a given slope or rate of change of the function; using
divided differences or interpolants.
4. Integration - To approximate the integral of a given function, based
on the area under its graph. Trapezoidal rule, Simpson's rule, adaptive
Simpson's rule, adaptive Gaussian quadrature, and the Romberg method can be used
for approximations.
5. Matrix Inversion - Systems of linear equations can be solved with this
module, which computes determinants, inverses and LU decompositions. It
makes use of Gaussian elimination, Gaussian elimination with partial pivoting,
and Gauss-Seidel iteration.
6. Matrix Eigenvalues - This module is useful to find all eigenvalues
and eigenvectors, given all of the characteristics of a linear system.
It makes use of the Jacobi, Wielandt, power and inverse power methods.
7. Differential Equations- Solve initial value and boundary value problems
with this module using the Runge-Kutta and Adams- Bashford/Adams-Moulton
methods. This applies to initial value problems defined by first or higher
order ordinary differential equations, and to systems of differential
equations. Boundary value problems can also be solved for linear or nonlinear
second order ordinary differential equations.
8. Least Squares - This module is used to determine the best fit for a given set
of data points with a linear combination of a given set of functions. Linear
regression, polynomial regression, and fitting with trigonometric,
exponential and logarithmic functions are among the examples included.
9. Fourier Transforms -The Fast Fourier Transform is implemented to
decompose a periodic function into its sinusoidal parts.
10. Graphics - The Graphics Module demonstrates the least square and
Fourier Transform modules graphically. It also compares a set of defined
data points to several models and displays the results or writes the
results to a disk file. With the Turbo Pascal Graphix Toolbox, these programs
can be recompiled.
////
--
Larry Baker Net/UUCP: mercury@ut-ngp.{ARPA, UUCP, UTEXAS.EDU}
UT Austin ihnp4!seismo!ut-sally!ut-ngp!mercury
Computer Science Local: baker@walt.utexas.edu