 
                           Modula-2 Introduction
                          ~~~~~~~~~~~~~~~~~~~~~~~
         
         In our first 2 issues of MEGADISC we have brought programs using
    True Basic and AmigaBasic.  Our aim in these early releases of MEGADISC
    is to show readers some of the many different languages being used on 
    the Amiga.  As the Magazine develops we shall, if there is sufficient
    interest/demand, provide some form of tutorials on these programming
    languages.  At the very least, we intend to pass on tips that should 
    assist any of you that choose to do some programming.
         However, we require some feedback on the subject of programming
    languages.  If readers have any experiences they think others would 
    find helpful, they will be greatly appreciated.  Participation is one of
    the aims of MEGADISC.  We need to know what you would like to know!

         This time around we have some programs written in Modula-2, the 
    langauge designed by Niklaus Wirth as a successor to Pascal, which he
    also created.  In Modula-2, he has transformed Pascal into a language
    designed for systems programming as well as for general use.
         Professor Wirth first published details of Modula-2, a high-level
    language for programing a computer to perform concurrent real-time 
    tasks, in December 1978.  It was first implemented in 1979 on a Digital
    PDP-11 computer.  By 1981 his research group at the Swiss Federal
    Institute of Technology (ETH), in Zurich, had produced working models
    of the Lilith microcomputer, whose operating system and utilities were
    programmed entirely in Modula-2.  A British Standards Institute Working
    Party is now actively working on the development of a Standard for
    Modula-2.
         Recently Modula-2 has seen growing use in writing programs as
    components of embedded systems, ranging from word processors to space-
    craft control.  Versions now exist for the Macintosh, Atari ST, Apple II,
    IBM compatibles, many Z-80 based micros and, of course, the Amiga.  In
    fact, Modula-2 is fast replacing Pascal as the language of choice in
    teaching computer science.  This is because it incorporates the good 
    features of Pascal and more.  Its expressive power also makes it
    suitable for higher level courses in programming, data structures and 
    algorithms, which economize on learning effort for students.
 
         The popularity of a programming language depends largely on the 
    availability of good, well-priced compilers.  The TDI Modula-2/Amiga
    compiler retails for about half the price of comparable Aztec C 
    compilers, at approximately $600 for the Commercial version and $270 for
    the Regular one.  The most recent version is 3.00A, and fully supports
    the new 1.2 Enhanced Operating System.  Popularity also relies on the 
    need for more structured approaches to deal with the increasingly
    complex tasks confronting the microcomputer programmer.  
         Modula-2 includes constructs for programming with machine-level bits
    and addresses, and for creating processes and switching between them.
    Also, you can break programs into modules for separate compilation,
    testing and debugging, thus making it easier to manage large projects
    and dividing them amongst a team of programmers.  This increases the
    likelihood that any low-level, machine dependent components can be
    isolated, and easily changed, if portability is required.  These features
    are defined in Modula-2 itself, rather than in extensions, making program
    portability a realistic goal.

         We will be glad to help you out with more information on Modula-2,
    if there is sufficient interest.  In the meantime you might find the 
    following books of use, if you can find them:

         Modula-2: A Seafarer's Guide and Shipyard Manual, by Edward
         J. Joyce, Addison-Welsey Publishing - this is THE BEST book
         on the Modula-2 language in general; it covers everything in
         an easy to read format and is injected with lots of humor.
         This book doesn't cover the Amiga specifics; you'll need the
         Amiga Tech. Ref. manuals and the TDI Modula-2 ref. manual to
         do any real Amiga programming; this contains a good history
         chapter and a conversion reference/discussion for Pascal
         programmers.

         Modula-2: Discipline and Design, by Arthur Sale from the 
         University of Tasmania, Addison-Welsey Publishing - this book
         provides a first course in programming with Modula-2, and is
         suitable for self instruction.  There are many programming
         examples and projects, illustrations and exercises.  The
         appendixes and footnotes provide valuable reference material.
         It is also of interest to practising programmers wanting to
         learn about Modula-2 and how to exploit its features in large
         software engineering projects.  Highly recommended.

         Modula-2 Programming, by Ogilvie, McGraw-Hill Publishing -
         this is a very complete hardback book; it is a little
         disorganized and it doesn't seem to have the humor that
         Seafarer's does.

         Modula-2 for Pascal Programmers, by R. Gleaves, Springer-
         Verlag - this is a good reference work for those familiar
         with Pascal, who want to switch over to Pascal.

         Modula-2: An Introduction, by Thalmann, Springer-Verlag.

         Modula-2 Programming, by Knepley and Platt, Prentice-Hall.

         All the Modula programs in this drawer, except for Compare, can be 
    run from the icons.  Lines, RectAngles and Colours run for a certain
    time then end and return to the workbench environment.  Sparks and Trails
    can be controlled by menus or gadgets.  
         We have had several requests to provide source code for all the 
    utilities we use, but space make this prohibitive.  However, if you ever
    find anything on MEGADISC for which you would like the source code, just
    write to us and we'll supply it - provided the author has no objections 
    (for example, Greg Epley has provided me with the source code to all his
    programs, because I'm studying Modula-2, but he doesn't want it spread). 

         We are most fortunate to have a couple of very useful utilities ,ie.
    Era and Compare, provided by Greg Epley, who wrote the well written 
    "Sizzlers" graphic programs which you can find amongst the Fish Disks. 
    We were so impressed with the way he presented "Sizzlers" that we wrote 
    to him, and we've included an abridged copy of his reply below:- 

[33m
    From:     Greg Epley, President/Certified Developer
    To:       Ian Vanderfield
    Subject:  MEGADISC response

         Surprised doesn't begin to express the receipt of  your  donation 
    and  the  bonus  issue  of MEGADISC.  I have had  NO  response from 
    anyone here in the U.S. regarding my "Sizzlers" program (version 1.0 on
    Fish Disk #50).  I am happy to help you out by sending software and other
    goodies from time to time.   I have discovered that the new "Sizzlers" 
    (Version 1.7 on Fish Disk #80) doesn't like V1.1 of the system software, 
    but everybody in the U.S. is using 1.2 now, and I have to remain 
    compatible.  I suggest that you try to get your hands on 1.2 before you
    run any of the enclosed software.  It is well worth the cost.  I still 
    find an occasional Guru that I have to re-boot on, but you can recover 
    from some of them without a re-boot now.  Memory is managed much better
    now too.

         As  far  as  copyrights go, the main reason I'm applying them to 
    everything is to legally prevent anyone from changing my software or any
    other part of the package (graphic designs, code fragments, 
    documentation,  etc.).  I do not plan to copy-protect any of our 
    software, even if it means losing some money.  In my opinion, 
    copy-protection is a waste of time, and in the long run, a waste of money
    having to invent new protection schemes which are broken shortly 
    thereafter.  All I ask is that you include the license.readme file, which
    pretty much covers everything, with anything you use.
         If  you  have  further questions, please feel free to contact me 
    about them.  If you feel the need to make a donation from time to time it
    will be much appreciated,  but the exposure received from your MEGADISC 
    will help a lot.  

         By the way, your MEGADISC looks EXCELLENT.  I haven't seen any of
    the disk magazines from the U.S., but I have seen several PD  disks, and
    most have half-completed or poorly written  software on them.  Your 
    donation and kind comments have spurred me on, so I'll continue to do my
    best.  Best of luck to you in your endeavors. 


-----------------------------------------------------------------

[3m    *      Insight Software Development is a trademark of Insight
           Software Development, Lexington, North Carolina.[0m

-----------------------------------------------------------------[0m

         So it only remains to say cheerio for this issue, and we hope you
    find the programs both entertaining and useful.  For our next issue we
    shall probably be bringing you C programs as several readers have 
    requested (see letters in the I&O drawer).   So if any of you have 
    something written in C that you would like published, now is the time to
    send it in (we can't have the yanks being the only contributors to this
    All-Australian magazine!).
  

    ===========================END of the INTRO=============================
