The ultimate language
In the Ian's Quest in the December ‘88 issue of ST-LOG, Ian stated that GFA BASIC was the best language available for the ST. I'm looking for a programming language more powerful than ST BASIC: one that I won't grow out of. In other words, I want a language with which I could eventually program a game equivalent to Dungeon Master or an emulator that rivals pc-ditto. Does GFA BASIC meet these standards? Or would I have to put in a bunch of machine language subroutines? If not GFA BASIC, what language would you suggest?
There is no doubt that GFA BASIC is currently the most popular BASIC language on the ST. However, when you state that you want a language that you won't grow out of, you're opening up a whole new set of questions. How fast you will grow out of a language depends to a great extent upon how far you plan to progress in your programming experiments. Since you mentioned both Dungeon Master and pc-ditto as examples of your goals, I would have to say that there is only one language that you are guaranteed not to grow out of: assembly langauge. GFA BASIC is capable of producing some very sophisticated programs. But GFA BASIC is, after all, a compiled language (in fact, GFA BASIC 3.0, the newest version of the language, is only, as of this writing, an interpreted language; the compiler hasn't been released yet), and that means that it will suffer, to at least some extent, in the speed and efficiency departments. When you're talking about writing something like an emulator, you really have no choice but to use assembly language. I can't say that it would be impossible to write a program like Dungeon Master in GFA BASIC, but it would be at least extremely difficult and would almost certainly necessitate some machine language subroutines.
When Ian said that GFA BASIC was the best language for the ST, I'm sure what he meant to say was that GFA BASIC was the best high-level language for the ST. The fact is that assembly language is the only language that will allow you to do anything that the hardware is capable of. Machine language (and by extension, assembly language) is the hardware's "native tongue."