Core C++

Old Stuff

The old contents of this page, while still being reworked, can be found here.

Bibliography from May 1990

The file date is May 23, 1990, and it is written using the "Sprint" word processor.

Let me introduce myself. I have been writing for 2 years. I published numerous pieces working in my spare time. About a year ago I started working at it full time. Here is a list of my works:

Tracking Down Elusive C Bugs, Computer Language, April '88. This article concentrates on using a low-level debugger to track down C bugs that cannot be found by classical techniques. It includes code for a program that creates excerpts of MAP files to save memory under the debugger.

A Multitasking Kernal for C Programmers, Computer Language, October '88. This is an extension to the C run-time environment to support multi-threaded programs. A single function is needed to accomplish a task switch; it is written is assembly language and is rather simple since it uses the normal function call and return mechanism to switch states. All that the function needs to do is save the value of the stack pointer and load a different value (both are parameters), a matter of 2 lines or so in whatever assembly language you are using. Once this is available, the entire environment consisting of semaphores, messages, pipes, and a scheduler can all be written in portable C. The 10 listings give a layered and modular library. This is my most popular article to date— I am still getting letters and calls about it.

The Problem with Pointers (in the EOF column), Computer Language, February '89. This is a short essay describing the problems with pointers and offering a better pointer implementation that could be used in new languages. This is actually a condensation of an excerpt from Collected Notes on the Design of a New Programming Language which is not published but circulated informally to those interested. I don't think that The Problem with Pointers is nearly as good as the original unpublished version.

Introduction to the Borland Graphics Interface, Miller Freeman Software Development Conference 1989 in San Francisco. I was a speaker at SD '89 on this subject. The paper complements the speech. It was reprinted in the Summer issue of The C Gazette. The paper describes good techniques to use in developing programs that use graphics, for ease of programming and maximum portability.

Building a CPU Simulator Language, Embedded Systems Programming, March '89. The thesis is that a notation that describes a microprocessor can also be considered a programming language. The article describes such a language and discusses possible implementations.

Extended Directory Searches Using C++, Doctor Dobb's Journal, March '89. This describes two systems. The first is a class that parses a file name into components and combines components into a complete name. The second is a super class that scans a disk for matching filenames. It goes far beyond DOS's abilities in that is permits more flexible wildcards and allows multiple patterns to be included or excluded in the search. The demo program has replaced the DIR command on many reader's machines,including the editor's.

The Secret of Reference Variables, Computer Language Magazine, August '89. This discusses reference variables in C++ and how to use them.

Improved Code Generation in C++. Programmer's Journal, Sept/Oct '89. This analyses the code produced by the Zortech C++ compiler, C translated then compiled code, and my own ideas on what a native code compiler could do. I show how C++ programs can be much smaller and faster if compilers were designed from the ground up to process C++ features.

State of the Art? Work-arounds for Zortech's C++ Compiler. Doctor Dobb's Journal, originally scheduled for November '89, not yet rescheduled. This discusses on some advanced C++ techniques that are not handled by current MS-DOS implementations.

A Home Brew C++ Parser. Doctor Dobb's Journal, December '89. This discusses the issues and technology involved in building a parser. It contains C++ code for a table driven parser that understands C and C++ declaration statements.

Multitasking Revisited. Computer Language Magazine, November '89, cover story. This is a sequel to my earlier multitasking article. It describes how to build a full blown pre-emptive multitasking system in C++ under MS-DOS.

Member Pointers in C++. Computer Language Magazine, January '90. This is a introduction to the concept of pointer-to-member constructs in C++.

Debugging in C++. Computer Language Magazine, February '90, cover story. This discusses debugging and bug prevention and how C++ supports many debugging concepts. Also discusses some new problems that can occur in C++.

Debugging C++. Miller Freeman Software Development Conference in 1990. This is a 2 hour workshop on the subject of debugging for new and experienced C++ programmers.

Advanced C++ Programming. Miller Freeman Software Development Conference in 1990. This is a 2 hour workshop on advanced features in C++ and the application of Object Oriented design to programming.

Virtual Functions in the Semantic Analysis column in the premier issue of the C++ Journal. This goes into details on the virtual function mechanism.

XCOM. This is a generic interpreter written in C. It is primarily used to create an interactive shell to test works in progress. In can also be used as a command shell in a finished product. Will appear in Computer Language Magazine.

The Dump. A rather simple piece that describes a debugging aid in C. Will appear in The C Gazette.

I have also done a number of product reviews. These include:

Debugging Without ICE: Simulators for the Intel 8051, and Debugging With ICE: Debuggers that work with in-circuit emulators, both in Embedded Systems Programming, Premere Issue. This analyses a number of products and discusses how they can be used to develop and debug programs.

Choosing a 68HC11 C Compiler, Embedded Systems Programming, April '89. This is an analysis of features in 3 C compilers for microcontrollers. It is unique in that it presents disassembled code along with an analysis of specific C language constructs and how the compiler handles them.

Assemblers for PC's, Computer Language, April '89. A review of 4 assemblers with the quest of finding out what is different about them and why it matters to programmers.

Logic Gem Review, Computer Language, May '89. The title says it all.

The Programmer's S.W.A.T. Team: Hardware Debuggers Reviewed, Computer Language, June '89. An overview on what hardware debuggers can do, and a look at Periscope, Atron, and Trapper.

Object Oriented C Tools, Computer Language, August '89. It examines Complete C, C_talk, and C+O and discusses their uses and drawbacks. It has been called "the last word on the subject."

Genesis graphics card review, Computer Language, September '89. It examines the power of graphics coprocessors in the PC world.