The Best of BYTE
The Best of BYTE
Volume 1: Programming Languages
Purchase Issue
In this issue of Best of BYTE, we bring together some of the leading
programming language designers and implementors—Bill Gates, who implemented
the first widely available version of BASIC, Chuck Moore who designed and
implemented FORTH, Bjarne Stroustrup, the creator of C++, Dennis Ritchie
and Brian Kernighan who created C, Niklaus Wirth who built
Modula-2, and Seymour Papert who designed and implemented LOGO. |
BASIC at 25 Years of Age • 2
by Bill Gates
Bill Gates assesses the state and outlines the history of the BASIC language.
History and Goals of Modula-2 • 7
by Niklaus Wirth
Niklaus Wirth describes Modula-2, one of the languages he created.
The State of C • 12
by Brian W. Kernighan and Dennis M. Ritchie
Dennis Ritchie and Brian Kernighan, the creators of C, assess its state.
A Better C? • 18
by Bjarne Stroustrup
Bjarne Stroustrup describes C++, the superset of C he created.
The Evolution of FORTH, an Unusual Language • 23
by Charles H. Moore
Charles Moore recounts the creation of Forth.
New Cultures from New Technologies• 33
by Seymour Papert
Seymour Papert discusses the language LOGO he created to enable children to learn the rudiments of programming.
|
The Best of BYTE
Volume 2: Heuristic Algorithms
Purchase Issue
No matter how good a given algorithm is, it can't deal with problems it wasn't designed to solve, nor can it handle subtle variations of a problem. An algorithm, unfortunately, can only provide solutions to specific problems. Heuristics can provide the capability to deal with the subtle variations in a problem, or to deal with a totally new problem, by devising a solution based on previous experience. The synergy of these dissimilar methods of problem solving can provide powerful new tools to practitioners of artificial intelligence. In this volume of Best
of BYTE, we explore the emergence of some heuristic algorithms. Although we have only scratched the surface of this intriguing subject, we hope we've suggested the potential of the synthesis of heuristics and algorithms. |
Zero-Knowledge Proofs
by Peter Wayner
A new heuristic method lets you prove your identity without revealing a password.
Back-Propagation
by William P. Jones and Josiah Hoskins
A generalized delta learning rule, demonstrated with a neural-network simulation written in C.
Optimizing Compilers
by Mark Roberts
Techniques for generating more efficient code.
A Search Strategy for Common Sense Logic
by Paul V. Haley
The incorporation of heuristics into modern languages could give us the ability to write "smart" programs.
Mathematical Reasoning
by Leon Sterling
An equation solver written in Prolog that uses heuristic methods.
Neural- Network Heuristics
by Gary Josin
Three heuristic algorthims that learn from experience.
|
The Best of BYTE
Volume 3: Number Crunching
Purchase Issue
Number crunching is to computing what speaking prose is to talking—we
all do it and we all tend to take it for granted. So while the articles
presented in this issue of the Best of BYTE are important and useful,
they also make number crunching seem new and exciting—and rekindle the
sense of amazement we all felt when we ran our first FORTRAN Fibonacci
sequence program. |
Introduction
by Tom Clune
A Micro-Based Supercomputer
by Norman H. Christ and Anythong E. Terrano
A unique combination of microcomputer parts yields supercomputer
processing power. They show how to efficiently use the system in both
Fortran and assembly language by calculating the product of two 2ý2
complex matrices.
Computer Approximations
by Stephen L. Moshier
The objective of computer approximation is to calculate the value of a
function to a given accuracy while expending as little computational energy
as possible. Throughout, optimizing speed and precision in computations is
paramount. Stephen puts these techniques to work in a C-language
program that solves systems of linear equations.
The Inversion of Large Matrices
by Thomas E. Phipps, Jr.
A method for inverting matrices, discovered by Victor Pan and John Reif,
works well with both parallel and serial processing. Thomas uses the
technique to invert several dense random-number-entry matrices
of maximum dimension, and implements the technique in Basic.
Context-Free Parsing of Arithmetic Expressions
by Jonathan Amsterdam
The technique Jonathan presents here, which is implemented in Pascal,
provides an efficient way to parse ordinary integer arithmetic expressions.
|
|
|