THE BEST FIRST LANGUAGE by Sol Katz A question that always comes up when talking with new computer owners is "What language should I learn?" The answer must be COMAL. COMAL (COMmon Algorithmic Language) is the most user friendly language written to date. The most user friendly feature of COMAL is its syntax checker. After you enter a newly typed line, it checks it for mistakes. It will point to where it thinks you made the mistake and tells you why it isn't happy. Messages like "Expect a colon here" or "Unbalanced parenthesis" help you fix your mistake at the time you type it. As soon as you correct the mistake COMAL lets you continue. In other words, COMAL will not accept a line with a syntax error. The next really user friendly feature of COMAL is automatic formatting. COMAL wants you to be able to read your programs, so it takes out extra spaces in each line and automatically indents whenever you use structured programming. COMAL is a structured programming language, just as Pascal, C, FORTRAN 77, and COBOL are. Once you learn COMAL, it is only a small step to picking up other structured languages. BASIC (and older versions of FORTRAN) depend on GOTO statements for branching, while structured languages only use GOTO for very advanced level programming, and rarely at that. The structures of COMAL include: IF...THEN...ELIF...ELSE...ENDIF CASE..OF...WHEN...OTHERWISE...ENDCASE WHILE...DO...ENDWHILE REPEAT...UNTIL FOR...STEP...ENDFOR COMAL is also user friendly when entering or editing a program. The AUTO command automatically supplies line numbers. [Editor Note: COMAL uses line numbers only for editing purposes. They are not used as addresses as is the case in BASIC]. The syntax of the AUTO command tells COMAL what line number to start with and what number to increment the line number with. So, if you like your programs to start with 2468 and to go up with 3's, you can do it. If you want to delete a range of lines you do it with: DEL linenumber-linenumber. You can also list a range of lines the same way, and to be user friendly, COMAL also lets you stop and start the listing. COMAL also provides a full screen editor. For advanced users, COMAL has user defined functions allowing for multiple statements and multiple returns, depending on the calculated values. Compare that with BASIC which allows only one statement. COMAL procedures allow local and global variables, and also allow passing of arrays as parameters. If you don't know what this means, that's OK since BASIC doesn't allow it anyway, but FORTRAN, C, and Pascal use procedures extensively. COMAL allows you to create new commands using procedures. COMAL allows machine language packages to be linked to your programs. Many COMAL systems use this for Logo-like Turtle Graphics. If you've read about Logo and want to try it (or want your kids to try it) you can have it without getting still another language disk. Now we come to user support. COMAL has a national users group, and small special interest groups attached to most Commodore clubs. The COMAL Users Group, USA publishes a magazine that deals only with COMAL. They also distribute public domain COMAL programs on disk. To the best of my knowledge, there are no national support groups for C64 Pascal, C, FORTRAN, COBOL, or Simon's BASIC. COMAL USA also maintains electronic bulletin boards (BBS) on several of the commercial telecommunications systems. If you're wondering why the USA (in COMAL USA) it is because COMAL is the official educational programming language for 5 European countries. Since COMAL is a "standardized" language, programs written on any computer will work on any other computer that supports COMAL, including CP/M, the Commodore 64/128, and the IBM PC. It is currently being developed for the Apple IIe/IIc. It can be purchased from the COMAL Users Group, USA, 6041 Monona Drive, Madison, WI 53716. So, to answer the original question, COMAL is the best first computer language, but it may be the only computer language that you'll ever need to learn.