TweetFollow Us on Twitter

Computing Caverns
Volume Number:1
Issue Number:6
Column Tag:Modula-2 and the Macintosh, PART II

The Caverns of Computing

By John R. Bogan, Microcomputing Consultant

The Caverns of Computing

S: January 26, 1985
E: February 14, 1985

Often I think of computing as an extraordinary, Real-Life, Adventure game beckoning the computer warrior to descend into a yawning cavern riddled with many dark and intriguing passageways all begging to be explored. At the “end” of each corridor there lies a treasure, usually small and mostly ordinary but sometimes great and wonderous. These treasures are all jewels of knowledge and enlightenment about the marvels of logic.

I honestly believe that we (the computing community) have barely scratched the surface of our particular Adventure and some of the passageways that extend in front of us obviously go on for miles, twisting and turning with many small and alluring side alleys to explore or ignore as we choose.

It is up to each of us to decide which of these passageways we will pursue and to sift through the myriad of clues we discover along the way to decide which treasures to seek. Last year about this time several of my favorite and well trod corridors of computing converged and I found at their juncture a wealth of riches. These corridors which I have eagerly explored for more than half a decade are low-cost professional microsystems, the Motorola 68000 and Pascal. All the clues I had accumulated these past five years told me there would be something special waiting when these paths crossed. The glittering jewel of logic I found at their confluence now occupies the position of honor on my desk. It is the Apple Macintosh.

The reason the Mac is such a valuable jewel is that it sheds a piercing light on such gloomy corridors as “user friendly” and “software integration” and “computing for the masses”. And as any Adventure fan knows any bright light is a most valuable tool in the caverns of computing. As an early Macintosh enthusiast who has eagerly watched the hi-res graphics, mice, windows, icons, pulldown menus and cut and paste integration passageways blossom into well mapped, well trod aisles of acceptance and imitation over the past year I could argue the wisdom and majesty of the Apple strategy and direction long after I ran out of rational things to say. After all the Mac is clearly the product of wizards and elfin folk who possess great magic (One look at Burrell Smith proves that). But the purpose of this column is not to look back and congratulate Apple that it made it this far but to use our new bright light to illumunate some of the dark passages that lie ahead of us.

Deep Background

It is one of the best kept secrets in Computer Science and Software Engineering (CSSE) that the proper role of High Level Languages (HLLs) is to permit and encourage wide ranging experimentation and evaluation of new ideas in a cost efficient and timely fashion. Since the time I learned the difference between FORTRAN and COBOL I have followed and participated in the religious wars over which computer language is Best and I have concluded that most of the time the arguments are largely irrelevant since they concentrate on the question - What language should our software be written in when it is shipped to the consumer? As someone who is more interested in exceptional software requiring extensive R&D I have consigned that question to the trash can. The microscope people who can focus only on maximizing speed and space will insist on Assembler (ASM). The puzzle fanatics will choose Forth. The compromisers who can’t quite give up the chance to get their hands dirty with a little register optimization will probably choose “C”. But the thoughful scientists and engineers in the R&D labs who desire to conserve the scarce R&D dollar and even scarcer R&D minute will choose - Modula-2.

Here’s Why

HLLs are invaluable because they permit the Software Engineer to build complex and innovative programs, which break new ground, in the shortest possible time and for the fewest R&D dollars. This means that within a given budget and deadline more ideas can be explored and evaluated and thus more progress can be made toward achieving an ideal piece of software. This is not a theory, it is an observation of the history of microcomputing. Let’s look at some of the most important software breakthroughs in the past few years and examine the language influences on the R&D of these milestone products.

o CP/M. Designed in large part in PL/M, a structured HLL. Responsible for the early success of 8080 and Z-80 S-100 small business systems.

o Visicalc. Designed largely in BASIC. Responsible for the immense success of the Apple //.

o Lotus 1 2 3. Cloned from MBA Context which was written in UCSD Pascal. Responsible for the flood of integrated software and the dominance of the IBM PC.

o UCSD Pascal P-system. Contributed to pull down menus and menu driven Operating Environments.

o Xerox Altos testbed. This system never made it into the commercial world at all yet it has to be considered the Grandfather of the graphic, iconic, windowed personal workstation. This system was developed in the HLL Mesa - a Pascal derivative.

o Apple LISA. The first commercial microcomputer to make it to the marketplace bearing the fruit of the Xerox Alto. LISA was designed and written in Pascal.

o Apple Macintosh. Designed in Pascal and translated into hand optimized ASM. The third milestone microcomputer, the most successful introduction of any professional micro at any time.

o Kildal’s GEM and Tramiel’s “Jackintosh”. Cloned from the Mac.

These are not idle opinions, this is not some wierd hallucination that can be dismissed with a snort and a wave of the hand, these are verifiable historical facts - which can not be ignored. They clearly illustrate the major role of HLLs and in particular - the structured language Pascal - in the software R&D labs throughout the micro world. The reason for this success is obvious and worth restating. With a structured HLL it is easy to break new ground and if this new ground is genuinely helpful and makes small computers more productive and easier to master then the consumer will eat them up.

Why are structured languages going to be the bright light of choice in the R&D labs of the micro world for the indefinite future? The answer lies in history and economics and logic.

Programming as Engineering

Back in the mid 1960’s computer specialists noticed a troubling trend. While hardware was getting exponentially cheaper, the cost of producing software was taking off as programs got more complex to take advantage of the improved hardware. The following graphic illustrates this point.

Following the realization that software costs were getting out of hand the computer industry gradually started to divert resources from the hardware side of the industry to the software side. Along with this attention came some discipline ... the discipline of engineering. A rough definition of engineering is that it is the art of measuring and optimizing resources.

Thus the productivity boys came in to the Data Processing departments with their legal pads and stopwatches. The metric (unit of measure) they decided on was the number of lines of code per day per programmer and to their horror here is what they found.

o The average programmer could crank out only ten lines of debugged code a day!

o It didn’t matter what language the programmers were coding in, if they were programming in Assembly the daily output was ten ASM statements, if the language was COBOL or FORTRAN - ten statements!

The first, and obvious, conclusion that was drawn was that the COBOL and FORTRAN programmers were ten to one hundred times more productive than the ASM programmers since each line of FORTRAN could generate ten lines of ASM and some lines of COBOL could generate 100 ASM statements. I believe that these widely reported results are in no small measure responsible for the fact that most large DP departments are now and forever locked into COBOL as their language of choice. So much for the benefits of Software Engineering!

But before we dismiss Software Engineering as merely the tool of the devil let’s look at what else was learned in their productivity studies.

When you ask a talented hacker how long he took writing a 1,000 line program don’t be surprised if he scratches his beard and replies, “Oh, I did that one night a couple of months ago.” This would seem to contradict the ten statement/day finding ... by orders of magnitude. But then ask your hacker how long he spent making his program bug-free. He might just reply, “Well, I expect to get the last bug out of it anytime now.” One night writing the code and two months debugging it, this is more common than you might think. Anyways this was the second major conclusion of the Software Engineers. The piechart below illustrates the traditional division of labor and hence cost in creating significant programs.

Careful study of the above graphic reveals just how obscene it is. In traditional programming two thirds of the effort, and money, goes into the toilet known as maintenance.

MODULE HanoiPuzzle;

(* Declare I/O from Modula-2 Standard Library *)
FROM Terminal IMPORT ClearScreen;
FROM InOut IMPORT WriteLn, WriteString, WriteCard, ReadCard,
                  Write;
  
CONST Start = “a”;
      Int = “b”;
      Finish = “c”;
      
VAR DiskCount: CARDINAL; Done: BOOLEAN;

(* Get number of disks or set terminate flag *)
PROCEDURE GetInput (VAR NumberOfDisks: CARDINAL;
                    VAR Quit: BOOLEAN);
BEGIN
   ClearScreen;
   WriteString(“Enter number of disks (between 3 and 9)”);
   WriteLn;
   WriteString(“To quit - enter number out of range”);
   WriteLn;
   ReadCard(NumberOfDisks);
   IF (NumberOfDisks < 3) OR (NumberOfDisks > 9)
      THEN Quit := TRUE
      ELSE Quit := FALSE
   END; (*IF*)
   ClearScreen;
END GetInput;

(* The recursive guts of the programs ... calculate moves. *)
PROCEDURE Hanoi(n: CARDINAL; StartNeedle, IntNeedle,
                 FinishNeedle: CHAR);
BEGIN
   IF n#0
      THEN
  Hanoi(n-1, StartNeedle, FinishNeedle, IntNeedle);
  WriteLn;
  WriteString(“Move disk -”);
  WriteCard(n,2);
  WriteString(“ from “);
  Write(StartNeedle);
  WriteString(“ to “);
  Write(FinishNeedle);
  Hanoi(n-1, IntNeedle, StartNeedle, FinishNeedle);
   END; (*IF*)
END Hanoi;

(* Mainline ... control main loop ... get input & do it. *)
BEGIN
   GetInput(DiskCount, Done);    
   WHILE NOT Done DO
      Hanoi(DiskCount, Start, Int, Finish);
      GetInput(DiskCount, Done);
   END; (*WHILE*)
END HanoiPuzzle.

 
AAPL
$118.55
Apple Inc.
+0.95
MSFT
$47.84
Microsoft Corpora
+0.37
GOOG
$537.54
Google Inc.
-3.54

MacTech Search:
Community Search:

Software Updates via MacUpdate

RapidWeaver 6.0.3 - Create template-base...
RapidWeaver is a next-generation Web design application to help you easily create professional-looking Web sites in minutes. No knowledge of complex code is required, RapidWeaver will take care of... Read more
iPhoto Library Manager 4.1.10 - Manage m...
iPhoto Library Manager lets you organize your photos into multiple iPhoto libraries. Separate your high school and college photos from your latest summer vacation pictures. Or keep some photo... Read more
iExplorer 3.5.1.9 - View and transfer al...
iExplorer is an iPhone browser for Mac lets you view the files on your iOS device. By using a drag and drop interface, you can quickly copy files and folders between your Mac and your iPhone or... Read more
MacUpdate Desktop 6.0.3 - Discover and i...
MacUpdate Desktop 6 brings seamless 1-click installs and version updates to your Mac. With a free MacUpdate account and MacUpdate Desktop 6, Mac users can now install almost any Mac app on macupdate.... Read more
SteerMouse 4.2.2 - Powerful third-party...
SteerMouse is an advanced driver for USB and Bluetooth mice. It also supports Apple Mighty Mouse very well. SteerMouse can assign various functions to buttons that Apple's software does not allow,... Read more
iMazing 1.1 - Complete iOS device manage...
iMazing (was DiskAid) is the ultimate iOS device manager with capabilities far beyond what iTunes offers. With iMazing and your iOS device (iPhone, iPad, or iPod), you can: Copy music to and from... Read more
PopChar X 7.0 - Floating window shows av...
PopChar X helps you get the most out of your font collection. With its crystal-clear interface, PopChar X provides a frustration-free way to access any font's special characters. Expanded... Read more
Carbon Copy Cloner 4.0.3 - Easy-to-use b...
Carbon Copy Cloner backups are better than ordinary backups. Suppose the unthinkable happens while you're under deadline to finish a project: your Mac is unresponsive and all you hear is an ominous,... Read more
ForeverSave 2.1.3 - Universal auto-save...
ForeverSave auto-saves all documents you're working on while simultaneously doing backup versioning in the background. Lost data can be quickly restored at any time. Losing data, caused by... Read more
Voila 3.8.1 - Capture, annotate, organiz...
Voila is a screen-capture, recording, and annotation tool that is a full-featured replacement for Mac's screen-capture and screen-recording capabilities. It has a large and robust set of editing,... Read more

Latest Forum Discussions

See All

Make Way for Fat Chicken, from the Maker...
Make Way for Fat Chicken, from the Makers of Scrap Squad Posted by Jessica Fisher on November 26th, 2014 [ permalink ] Relevant Games has announced they will be releasing their reverse tower defense game, | Read more »
Tripnary Review
Tripnary Review By Jennifer Allen on November 26th, 2014 Our Rating: :: TRAVEL BUCKET LISTiPhone App - Designed for the iPhone, compatible with the iPad Want to create a travel bucket list? Tripnary is a fun way to do exactly that... | Read more »
Ossian Studios’ RPG, The Shadow Sun, is...
Ossian Studios’ RPG, The Shadow Sun, is Now Available for $4.99 Posted by Jessica Fisher on November 26th, 2014 [ permalink ] Universal App - Designed for iPhone and iPad | Read more »
Mmmm, Tasty – Having the Angry Birds for...
The very first Angry Birds debuted on iOS back in 2009. When you sit back and tally up the number of Angry Birds games out there and the impact they’ve had on pop culture as a whole, you just need to ask yourself: “How would the birds taste... | Read more »
Rescue Quest Review
Rescue Quest Review By Jennifer Allen on November 26th, 2014 Our Rating: :: PATH BASED MATCH-3Universal App - Designed for iPhone and iPad Guide a wizard to safety by matching gems. Rescue Quest might not be an entirely original... | Read more »
You Can Play the Final Chapter of Lone W...
You Can Play the Final Chapter of Lone Wolf: Dawn Over V’taag Right Now Posted by Jessica Fisher on November 26th, 2014 [ permalink ] Universal App - Designed for iPhone and iPad | Read more »
Swords of Anima (Games)
Swords of Anima 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: A new tactical turn-based RPG experience. Command the Savior Rex Squad in an epic journey of courage and deception. Can you... | Read more »
Audio Defence: Zombie Arena
Audio Defence: Zombie Arena By Lee Hamlet on November 26th, 2014 Our Rating: :: DRAGS ITS FEETUniversal App - Designed for iPhone and iPad From the makers of Papa Sangre comes a defense game that forces players to listen carefully... | Read more »
Tales from the Borderland​s Will be Comi...
Tales from the Borderland​s Will be Coming to iOS by the End of the Year Posted by Jessica Fisher on November 26th, 2014 [ permalink ] Telltale Games has announced | Read more »
Sunburn! Review
Sunburn! Review By Campbell Bird on November 26th, 2014 Our Rating: :: DON'T DIE ALONEUniversal App - Designed for iPhone and iPad Platform through the depths of space to make sure your entire crew dies together in this satisfying... | Read more »

Price Scanner via MacPrices.net

Early Black Friday MacBook Air sale prices, $...
 MacMall has posted early Black Friday MacBook Air sale prices. Save $101 on all models for a limited time: - 11″ 1.4GHz/128GB MacBook Air: $798 - 11″ 1.4GHz/256GB MacBook Air: $998 - 13″ 1.4GHz/... Read more
Why iPhone 6 Tablet/Laptop Cannibalization Is...
247wallst.com blogger Douglas A. McIntyre noted last week that according to research posted on the Applovin blog site the iPhone 6 is outselling the iPhone 6 Plus by a wide margin . Hardly a surprise... Read more
Worldwide Tablet Growth Expected to Slow to 7...
The global tablet market is expected to record massive deceleration in 2014 with year-over-year growth slowing to 7.2%, down from 52.5% in 2013, according to a new forecast from International Data... Read more
Touchscreen Glove Company Announces New Produ...
Surrey, United Kingdom based TouchAbility specializes in design and manufacture of a wide variety of products compatible with touchscreen devices including smartphones, tablets and computers. Their... Read more
OtterBox Alpha Glass Screen Protectors for iP...
To complement the bigger, sharper displays on the latest Apple devices, OtterBox has introduced Alpha Glass screen protectors to the iPhone 6 and iPhone 6 Plus. The fortified glass screen protectors... Read more
Early Black Friday Mac Pro sale, 6-Core 3.5GH...
 B&H Photo has the 6-Core 3.5GHz Mac Pro on sale today for $3499 including free shipping plus NY sales tax. Their price is $500 off MSRP, and it’s the lowest price available for this model from... Read more
Early Black Friday sale price: 15-inch 2.2GHz...
 B&H Photo has the 2014 15″ 2.2GHz Retina MacBook Pro on sale today for $1699.99. Shipping is free, and B&H charges NY sales tax only. Their price is $300 off MSRP, equalling Best Buy’s price... Read more
13-inch 2.5GHz MacBook Pro (refurbished) avai...
The Apple Store has Apple Certified Refurbished 13″ 2.5GHz MacBook Pros available for $170 off the cost of new models. Apple’s one-year warranty is standard, and shipping is free: - 13″ 2.5GHz... Read more
Early Black Friday iPad mini 3 sale: $75 off...
 Best Buy has iPad mini 3s on sale for $75 off MSRP on their online store for a limited time. Choose free shipping or free local store pickup (if available). Sale prices available for online orders... Read more
Early Black Friday MacBook Pro sale: 15-inch...
 Best Buy has posted early Black Friday prices on 15″ Retina MacBook Pros, with models on sale for $300 off MSRP on their online store for a limited time. Choose free local store pickup (if available... Read more

Jobs Board

*Apple* Solutions Consultant (ASC) - Apple (...
**Job Summary** The ASC is an Apple employee who serves as an Apple brand ambassador and influencer in a Reseller's store. The ASC's role is to grow Apple Read more
Senior Event Manager, *Apple* Retail Market...
…This senior level position is responsible for leading and imagining the Apple Retail Team's global event strategy. Delivering an overarching brand story; in-store, Read more
*Apple* Retail - Multiple Positions (US) - A...
Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, you're also the Read more
*Apple* Solutions Consultant (ASC) - Apple (...
**Job Summary** The ASC is an Apple employee who serves as an Apple brand ambassador and influencer in a Reseller's store. The ASC's role is to grow Apple Read more
*Apple* Solutions Consultant (ASC) - Apple (...
**Job Summary** The ASC is an Apple employee who serves as an Apple brand ambassador and influencer in a Reseller's store. The ASC's role is to grow Apple Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.