ZX Computing


First Steps In Basic

Author: Patrick Cain
Publisher: Windward
Machine: Spectrum 48K

 
Published in ZX Computing #13

First Steps In Basic

The credits of husband and wife team, Susan Curran and Roy Curnow, read like the glittering prizes of the commercial and personal computing world. The computer titles they have jointly and individually been responsible for total far too many to incude here. Susan is a specialist in User Applications of Micro Computers as well as a director of a consultancy company. Roy squeezes being a Professor at City University, London in alongside with being an advisor to several multinationals, an IT Consultant, an author and an a company director! He was also the man the BBC made responsible for structuring and developing the 'Computer Programme' television series. Their pedigree alone make their current book, First Steps In Basic, a Windward publication, well worthy of some attention.

As any new programmer will agonisingly testify, some computer manuals are precise to the point of being sinful; others are simply muddled or remiss. I well remember my own frustrated attempts at mastering this "genius level" code and recognising the need for a more patient set of instructions. It is, after all, the manual's job to detail the features of the language as applied to the machine and not to teach programming. Of course, many more resourceful people than I have recognised this need, resulting in a crock of books of varying standard, aimed at the novice computer programmer. As one might expect, this one stands out from the crowd.

It is fair criticism, I think, to say that it might have been better if the authors had chosen to devote the book to one type of computer entirely. Instead, a non-specific text using "Microsoft BASIC" as an example caters for most computer types. An appendix details how the dialect used varies from that run on other machines, including the Spectrum. But far outweighing any criticism must be the credit due to a well planned and thoughtful book that is aware of those 'early days pitfalls.

The reader is not expected to have any previous knowledge of computing and no more is required of him than that he has connected the various wires and switched on. In fact, allowances have been made for readers who may as yet not be in possession of a computer, although why anyone should want to learn to program without one is beyond me. It is my opinion that a lot of heads are banged against walls as novice programmers toil with a confusing world, unable to identify and recognise the many constituent parts. An introductory chapter that outlines the computer, its requirements and functions, the basic language - the reason for it and its applications and more key elements of computing should help prevent future damage to both heads and walls.

Chapter One, 'Writing on the Screen' deals with the PRINT statement in its various forms, writing messages on the screen, positioning screen output and simple arithmetic; introducing and explaining on the way string expressions, arguments and variables. Each topic is discussed in straightforward text, highlighting each point or instruction with an example and supporting screen illustration. Not, of course, a new approach to this subject but one that works well because the authors have identified likely areas of difficulty and developed the text accordingly. (NB: page 17: don't get too worried if your computer gives a different answer to the cosine of 43, unless the laws of mathematics have changed this is a printer's error: at least that's my angle).

Subsequent chapters build on the knowledge and expertise that has been built up in the first few pages. By chapter 2 this expertise is put to good use in writing short programs, reinforcing the theory learned so far while introducing new elements of the computer's ability, e.g. 'loading' and 'saving'. As throughout, the text is straightforward and unassuming, expanding and elaborating ideas to give a fuller awarenes of the topic. Supporting examples are fun and interesting enough to try, while again clear illustrations complement and highlight the text.

Further chapters take task in 'loops and branches', 'editing and debugging' and 'handling data' until a comprehensive knowledge of BASIC statements and familiarity with their applications is gained. Chapter 7, 'Writing Longer Programs', brings these statements together and sets guidelines for planning and writing more involved programs. On conclusion the reader should be familiar with BASIC statements and aware of good program structure. At this point it is necessary to develop the skills learned, a job that is beyond the scope of this book, and readers are directed to further reading material. New programmers will find that in investigation of subsequent texts they have a firm foundation as a starting point for developing their programming skills.

Patrick Cain