22.09.2015 Views

of Microprocessors

Musical-Applications-of-Microprocessors-2ed-Chamberlin-H-1987

Musical-Applications-of-Microprocessors-2ed-Chamberlin-H-1987

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

644 MUSICAL ApPLICATIONS OF MICROPROCESSORS<br />

selection itself, language preference tends to be more a matter <strong>of</strong> personal<br />

experience (and taste) than scientific weighing <strong>of</strong> virtues and drawbacks. The<br />

following, therefore, amounts to nothing more than a summary <strong>of</strong> the author's<br />

biases, which, hopefully, are shared by a majority <strong>of</strong> readers.<br />

The primary virtue <strong>of</strong> BASIC, <strong>of</strong> course, is its nearly universal implementation<br />

on microcomputer systems. Drawbacks are many but most<br />

serious are the lack <strong>of</strong> a true subroutine capability and a restricted variablenaming<br />

convention. Its formal mechanism for linking to assembly language<br />

leaves much to be desired, although tricks for enhancing it abound. These<br />

shortcomings make writing and implementation <strong>of</strong> large programs in BASIC<br />

more difficult than necessary. Nevertheless, BASIC is excellent for getting<br />

started, and after all, has been used in programming examples so far.<br />

FORTRAN is the grandaddy <strong>of</strong> programming languages and is now<br />

available on some microcomputers. For musical purposes, it is very similar to<br />

BASIC but with subroutine and naming restrictions removed. It is, however,<br />

somewhat weaker in the handling <strong>of</strong> character string data than BASIC is.<br />

Since FORTRAN is compiled, it is faster than a BASIC program, which is<br />

usually interpreted. The best-known direct computer synthesis program,<br />

MUSIC V, is implemented in FORTRAN but is far too big and dependent<br />

on a big mainframe operating system to run on a microcomputer without<br />

extensive modification. FORTRAN would be a good choice for someone<br />

already familiar with it but should probably be bypassed by newcomers in<br />

favor <strong>of</strong> a more "modern" language.<br />

COBOL, the most widely used big-computer language, is unsuitable<br />

for a music s<strong>of</strong>tware system.<br />

APL may be available on some microcomputers. While it is an excellent<br />

problem-solving language for those adept in its use, it is an extremely<br />

self-contained, "isolationist" language. This means that communication<br />

with the operating system, assembly language programs, and data files is<br />

poor or nonexistent. While not suitable for a music performance system, it<br />

may be useful in exploring computer composition techniques,<br />

The remaining are called "block-structured" languages because <strong>of</strong> the<br />

way that statements are grouped together and the mechanism for variable<br />

storage allocation. These run the range in sophistication from integers-only<br />

subsets such as PLiM to overgrown monsters like ADA. Pascal, or its latest<br />

incarnation, Modula-2, is a fairly well-known language <strong>of</strong> this type that is<br />

extensively used in computer science education, largely due to the efforts <strong>of</strong><br />

the University <strong>of</strong> Southern California at San Diego (UCSD), who first<br />

implemented it on a microcomputer. Many students are introduced to Pascal<br />

as their first formal language (if they had not encountered BASIC on their<br />

own earlier). A few years ago, Pascal promised to become the dominant<br />

language for large microcomputer s<strong>of</strong>tware systems such as synthesis<br />

packages. This has not happened because <strong>of</strong> the lack <strong>of</strong> efficient optimizing<br />

compilers and largely unspecified methods <strong>of</strong> I/O and linkage with the

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!