dlm@ho3cad.UUCP (01/06/87)
Looking for a reasonable language for your 8 bit atari? Grossed out by BASIC? I have been using ACTION! from OSS for software development lately. It has been an outstanding language development environment. My previous ATARI language experience has been BASIC, ATARI assembler, ValFORTH, Deep Blue C, and now ACTION!. ACTION! is by far and away the best ATARI development environment. BASIC and assembler need no words. Avoid at all costs. ValFORTH was an interesting system. Although I would not use it for any real project, it was a fascinating journey into threaded interpretive languages and a good learning experience in the style of FORTH. Since the interpreter, compiler, and your program live in the same run time environment, you can modify the behavior of the compiler as your program is compiled into the pseudo-machine language. However, it suffered from: - It really wasn't as compact as is made out by FORTH enthusiasts. I was left with little space after loading alot of useful packages - FORTH is truly hard to read. Western Human math just doesn't word in reverse polish notation. - It is difficult to document. The commentary system takes up too much valuable area in each `screen' - It is totally incompatible with all other 8 bit software. It cannot generate programs that can be placed on any DOS file system. I acquired a DOS like package for FORTH, but it took up much more space then DOS 2.5 and DUP, leaving very little main memory - debugging facilities were terrible. Since the compiler and run time environment co-existed, almost any bug caused the system to hang. Too bad you forgot to save some `screens' to disk :-) Deep Blue C was an attempt to get a real compiler/linker. It's not bad as they go, but it turns out that the 6502 is just too primitive to compile C for. So this compiler actually turns out a sort of p-code anyway, hence once again, we do not have a language that can rival assembler code. Also, once again, debugging facilities are non-existent. Turn around on compiles are very slow. Until I got a 130XE with a ram disk to hold everything, this system was impossible to use. In addition, Deep Blue C did not do: structs functions returning anything but int strings cannot continue on the next line source lines must be less than 79 chars pointers to pointers After all of this, and refusing to use a macro assembler, I went for ACTION! ACTION! is easy to use since it is very C and PASCAL like. The manual is 208 pages long and is very complete. ACTION! has an editor, compiler, monitor, and run time library in an 8K cartridge form (not really 8K, since it bank switches but it does only use 8K from your RAM address space). Being in a cartridge, it is almost (but not totally) crash resistant. Reset almost always gets you back to the editor. The editor and compiler work together. The compiler stops on any error, but the editor/compiler loop is so fast that this is actually more effective than a fancy compiler that continued to give error messages. All the language constructs are there that I feel I really need. For example: structs arrays pointers (to pointers ...) address of (including address of functions) full complement of arithmetic, logical operations full complement of assignment, including C like =+ =- =*, etc defines 16 bit signed, unsigned, 8bit unsigned if/then/else/elseif do while until for and an exit (loop) construct functions and procs generates executables in DOS loadable format (takes a special package to allow an executable to exist without the cartridge, but it is possible) In fact, ACTION! exists TOTALLY within the standard ATARI operating environment. I have a program that is 5 pages long (~20 commentary) that compiles in seconds (from the editor buffer). Of course compile time from disk will be dominated by disk i/o speed. Compile from ram disk is almost indistinguishable from compile from editor buffer. Hope some of you find this collection of personal opinion useful. Daryl Monge AT&T Bell Labs UUCP: ...!ihnp4!iheds!dlm CIS: 72717,65 AT&T: 312-979-3606