The Company
Manx Software Systems was founded on August 15th, 1983 by Harry Suckow, Thomas Fenwick, and James Goodnow II. All three were working at a different company when they founded Manx. The name Manx was picked at random from a list of cat names.
They decided to create a C compiler for professionals. Fenwick and Goodnow acted as the main developers. “Harry took care of the business side, Fenwick specialized in front-end compiler development, and Goodnow specialized in back-end compiler development. Another developer, Chris Macey, worked with them for awhile on 80XX development and in other areas.”
They had success in the beginning because their compiler included floating point support. In the late 1980s, Manx focused on staying close to the ANSI standard and was even part of the committee for a short time.
In the 1990s, Fenwick left for Microsoft and others started to pursue other interests. Manx continued to lose market share for the rest of the decade. They tried to save the company by moving into “embedded systems development, but it was too late”. The company finally closed in the late 1990s. Suckow still owns the rights to Aztec C.
Reviews
One of the earliest reviews of Aztec C that I found was published in the October 15, 1984 issue of Semaphore Signal. This newsletter was aimed at Lisa and Macintosh users and developers. David Dunham from Goleta, California wrote in about his experiences with Aztec C:
“I just received my Aztec C compiler (professional version) from Manx Software Systems, and I thought I'd give you my impressions.
First, why did I choose this compiler? It was the only one I could find on the market that was a true compiler, that offered access to the Toolbox, and that didn't require an assembler. I'm pretty happy with it. The first thing I did was write a standard C program, then modify it to:
/* HELLO - print "Hello world!" in the New York font */
#include <quickdraw.h> /* Define function calls */
#include <font.h> /* Define constants */
main () (TextFont(newYork); /* Let Quickdraw set font */
printf("Hello world!\n");} /* Print text & newline */
This works! Aztec C provides a restricted Unix-like environment in which you can write programs that act like they would on any computer: they display text on a scrolling screen, and accept keyboard input. Mac capabilities like the mouse pointer aren't supported. The above program can only be run from this limited environment (it can't be started from the Finder).
The nice part is that Aztec C also allows you to write programs which use Macintosh features like the mouse and menu bar and that can be started from the Finder. The catch is, these programs are a lot harder to write, because they're event-driven. You can't just read keyboard input, you also have to worry about mouse clicks, making a menu selection, and even disk insertions. I did write a program which opens a window and grays the Edit menu. When a desk accessory is selected, it un-grays the menu choices. Unfortunately, it doesn't do anything meaningful, but it took a couple days of learning just to get it that far.
The system comes with a program editor based on the Unix editor named vi. It's OK, but it isn't a true screen editor. Manx has promised a mouse-based editor.
So Aztec C is a real Mac development language. What's wrong with it? First off, the documentation isn't too hot. An index would be a real blessing, but even a table of contents would be nice. The $500 price is a bit steep. The system takes up most of a disk, which means single-drive development is really hampered. And using more than a couple of Toolbox managers (e.g. window, event, Quickdraw) in one module is pretty difficult, since on a 128K machine you don't have enough memory to compile. Luckily, there's a linker which allows routines to be compiled separately. It's copy protected, but not too obnoxiously: you need to insert the original disk when you start running the C environment.
The biggest problem isn't really Manx's, it's Apple's. If you don't have a Lisa, you have a real hard time working with resource files.
You can't get the Finder to display different icons for files because there's no resource editor or compiler.”
In February of 1985, Steve Leibson, Fred Pfahler, Jim Reed, and Jim Kyle published an in-depth look at 21 C compilers in Computer Language magazine. Here is what they had to say about Aztec C:
“Let's start off with a fine example of a compiler that has many strengths— one from Manx Software Systems with the unlikely name of Aztec C.
…
Two floating point libraries arc supplied. One library does not use the 8087 and the other does. Aztec C supports only the small memory model, but it also supports overlays, so programs can become quite large.
…
No batch files were supplied on the distribution disks and we found no recommended files in the manual, but the syntax for the compile and link commands is fairly simple.
…
The Sieve and Fib programs compiled, linked, and ran for both versions of Aztec C, but we had problems with Dercf and Matrix. Deref had to be reduced to 12 levels of indirection before Aztec C could compile it. At that level, the program compiled and linked in 60 sec, ran in 6 sec, and took 4,352 bytes.
Our problem with Matrix turned out to be library related. A second math library, called m.lib, must also be linked with Matrix. After that, we had no further trouble.
Manx offers Aztec in several different flavors, so you can port your programs across a lot of hardware if you need to. One interesting aspect of the Aztec C compiler is the PRO extension. This includes an editor (called z), a symbolic debugger, and source files for several of the library functions. The PRO version of the compiler can generate ROMable code. These extensions seem to be quite valuable for serious development work. The Aztec C86 compiler for MS-DOS or CP/M 86 is $249.00, and the compiler with the PRO options is $499.00.”
In December of the same year, Byte compared C compilers from Manx, Hippopotamus Software, Consulair, Megamax, and Softworks Limited. Tim Field was the brain behind the article. He had a lot to say about all of the compilers. If you want to read all the gory details, you can find the complete article at the link above. Here is his conclusion on Aztec C:
“Aztec C is the most comprehensive and professional package of the five compilers in our test group. It either dominated, tied, or came close to first in virtually every test and comparison. Furthermore, Aztec C offers numerous features and advantages that the others cannot begin to touch.”
Here are some more reviews:
More Information
If you’d like to try Aztec C on an older system, check out The Official Aztec C Online Museum. The site was created by a former user who received permission from Harry Suckow (who still owns the copyright) “to redistribute Manx Software Systems discontinued Aztec C compilers for now-obsolete platforms for educational purposes by researchers and enthusiasts”. The site has compilers, shells, documentation, code samples, and more.
I also found an article from Kevin Boone, who tried out Aztec C on a C/PM machine. He compares how Aztec works to modern C compilers.
Did you ever use Manx’s Aztec C? Do you know anything about its history? Tell us about it in the comments below.
What computer ads would you like to see in the future? Please comment below. If you enjoyed it, please share it with your friends and relatives. Thank you.
"The system comes with a program editor based on the Unix editor named vi. It's OK, but it isn't a true screen editor. Manx has promised a mouse-based editor."
Ha, we got a bonus review of vi in this article. The more things change, the more they stay the same 😅