The Northern Spy
November 2017
Modula and Modular
by
Rick Sutcliffe
|
|
The soft sound
of a pair of occupied boots landing on the table behind me as I toiled over this column alerted me to my visitor. Good thing she doesn't wear spurs when she comes here," I thought.
"Nice of you to drop by, Nellie. What's up?"
"You mean besides the rookie goof-up you just made in your code?"
"Eh? Shame on you Nellie Hacker for looking over my shoulder. I tested it. Works."
count := 10;
WHILE count >=0 DO
str [count] := str [count + 2];
count := count - 1;
END;
"Not all the time it won't."
"Ah yes I see. But you know I never make mistreaks, just typographical errors."
"Piffle. That's a logical error not a typo."
"Actually it was intended as a reader test."
"Some yarn."
Readers: What is the error in the above? Answer to this test is at the end of the column.
"Truly. But I did copy it from some work in progress that I had to debug."
"Your new Modula-2 dialect's I/O library."
"Quite. Almost done, too. Just combing out a few small bugs and making the code look pretty."
"At least you are publicly contrite. But I have to confess I was wrong and you were right about Apple's new phones."
My doubts over whether anyone would buy the iPhone 8?"
"Data says almost no one."
"While the iPhone X sold out right off the bat. What do your sources say about parts supply?"
"Thin to poor. Yields on the new camera and possibly other components are none too robust. Supply won't catch up with demand for many months."
"Ah well, what's a few billion less or less to Apple?"
Nellie Hacker contemplated the infinite loop for a few nanoseconds before changing the subject.
"Install High Sierra yet?."
"Nope. Had too many problems with Sierra. I've learned to be cautious again."
"This from the guy who makes ten backups of all his files and stores them in distributed locations. Installed Sierra even?"
"Had it on this laptop for a while now. Just put it on the old 2010 Mac Pro a couple of days ago."
"Last we talked you were having trouble with that machine."
"Previous three OS installs wouldn't play nice with backplane cards. Some glitch with sleep-wake and periodically dumping power on the bus."
"Why was that a problem?"
"I set up the OWC Accelsior card as the boot volume."
"I see. No power no system. That would get interesting when the loaded OS wanted to run a job whose code was still on the SSD.. And now?"
"The sleep-wake glitch, though still betrayed by a monitor drop out for a second or so, was no longer affecting the USB card, so I reinstalled the Accelsior and upgraded its volume to Sierra with the combo updater."
"And?"
"Problem is gone."
"Another Apple sleeper bug that they ignore through two or three OS upgrades, then fix without telling anyone. Same thing seems to happen with hardware betimes."
"You have a coy look. Know anything about the new Mac Pro?"
"I have my sources."
"And they tell you..."
"Not much that I'll tell you. After all you're typing this conversation as we have it."
"Careful Nellie. You're just a character in my philosophy text and novels. I could write you out of the script."
"You can't. You sent Paladin to your publisher already, and I'm in it right to the last chapter.."
"Until it's in print, who knows? Maybe I'll arrange for you to get a sword through the heart in the Second Battle of Glenmorgan after all. Back to the Mac Pro."
"I think you'll be happy."
"Modular as I predicted?"
"They as much as said so, but word is work continues apace."
"Some think Apple will yet abandon it, and just flog the iMac Pro instead."
"Don't think so."
"Why not?"
"Wouldn't be cool. Whatever else, Apple wants to be cool with its traditional base. Cool matters, and this baby would be cool."
"Knowledge or speculation?"
"You tell me. After all, you realize my virtuality in your novels and these columns."
"You do share many characteristics with real people."
"Thanks."
"Do your sources tell you about an intro?"
"I refuse to answer that on the grounds that my answer might lead to my devirtualization."
"No, when it comes to my characters I'm an antidevirtualizationist."
"All right. With that assurance, I'll say just this: "Enter the ticket lottery for WWDC 2018. It might be worthwhile."
The answer
to the programming quiz is:
that as written the array index will decrease to negative one--possibly legal and acceptable in some languages, but not in those with strict typing and when using a positive index type (not all even allow negative indices). In other words, it might not cause a run time overflow fault, but it is bad code. Write it this way:
count := 11;
WHILE count > 0 DO
count := count - 1;
str [count] := str [count + 2];
END;
--The Northern Spy
Opinions expressed here are entirely the author's own, and no endorsement is implied by any community or organization to which he may be attached. Rick Sutcliffe, (a. k. a. The Northern Spy) is professor of Computing Science and Mathematics at Canada's Trinity Western University. He has been involved as a member of or consultant with the boards of several organizations, and participated in developing industry standards at the national and international level. He is a co-author of the Modula-2 programming language R10 dialect. He is a long time technology author and has written two textbooks and ten alternate history SF novels, one named best ePublished SF novel for 2003. His columns have appeared in numerous magazines and newspapers (paper and online), and he's a regular speaker at churches, schools, academic meetings, and conferences. He and his wife Joyce have lived in the Aldergrove/Bradner area of B.C. since 1972.
Want to discuss this and other Northern Spy columns or Rick's SF? Check out the Arjay blog at http://www.arjay.bc.ca/blog/
URLs for Rick Sutcliffe's Arjay Enterprises:
The Northern Spy Home Page: http: //www. TheNorthernSpy. com
opundo : http: //opundo. com
Sheaves Christian Resources : http: //sheaves. org
WebNameHost : http: //www. WebNameHost. net
WebNameSource : http: //www. WebNameSource. net
nameman : http: //nameman. net
General URLs for Rick Sutcliffe's Books:
Author Site: http: //www. arjay. ca
Publisher's Site: http: //www. writers-exchange. com/Richard-Sutcliffe. html
The Fourth Civilization--Ethics, Society, and Technology (4th 2003 ed. ): http: //www. arjay. bc. ca/EthTech/Text/index. html
URLs for resources mentioned in this column
OWC Accelsior for MacPro Tower https://eshop.macsales.com/shop/SSD/PCIe/OWC/Mercury_Accelsior/RAID
|