Introduction: Capabilities and Caveats

Blitz can do almost anything a language like C or Pascal can do. Although it can be used as a simple BASIC like language, there are many things it contains which are features of more advanced languages, which allow it to be this powerful. Knowledge of these advanced features is not required to be able to program in Blitz, but it allows programmers to do things which would not normally be possible in BASIC. The main features are:
  • memory access through pointers
  • use of newtypes allows you to create more complex variables out of simpler types (such as C structures and unions)
  • extendable command set through the use of addon libraries
  • macros and constants
  • use pre-compiled files to store commonly used newtypes, macros and constants
  • ability to use OS commands directly
  • inline 68k assembler
  • If you use the newly released AmiBlitz2, you can have optimised code, support for all 68k processors (including FPU) and also use PPC assembly language in your programs.
However, Blitz has some problems which you should be aware of if you are deciding on whether you would like to use it (and although this is a big list, you shouldn't be put off too much - chances are you won't ever encounter some of these problems. Best to acknowledge the problems now to keep the critics happy though :) ...
  • Each library is assigned a number and the source is saved with tokens (numerical values to represent library and command). Since there is only a small number of possibly library numbers, it's quite common to have libraries with clashing numbers, making it difficult to read source files.
  • While the commands provide a simple way to program things for games or the OS, unless you can resort to understanding and programming the OS directly, you will be stuck with the commands provided. There are enough commands and libraries to cover almost all normal requirements of programs though.
  • Linked to the above point, some 3rd party libraries can be poorly coded, causing crashes or bad memory accesses, giving your program bugs which might be difficult to solve.
  • Does not have any direct support for MMUs
  • Some would say that Blitz teaches you bad programming habits. I'd say if you take the care to learn correct programming standards (as you would if you were taught a language like C, either in a course or from a book) then you will not get into these habits.

Previous: What is Blitz? Introduction contents Next: No, really - what can it do?

News | Introduction | Search | List/Forum/IRC | Webring | Contact
Installation | Troubleshooting | Programming | Archives | Links
Return to home page
Page last modified: 12th November 2001