Skip to content

Latest commit

 

History

History
109 lines (87 loc) · 5.51 KB

waarom_modula2.md

File metadata and controls

109 lines (87 loc) · 5.51 KB
                    W A A R O M   M O D U L A - 2 ?


      Op  de vorige  Special had  ik aangekondigd een cursus Turbo
      Pascal  te  starten. Dat  deed ik  eigenlijk bij  gebrek aan
      beter, want  ik had liever een Modula-2 cursus aangekondigd.
      Ik  dacht toen dat er helaas geen Modula-2 compiler was voor
      MSX, zodat we het dan maar met Turbo Pascal moesten doen.

      Een paar  maanden later  zag ik opeens een Modula-2 compiler
      in  Mari's Games  BBS, die ik natuurlijk meteen heb gedownd.
      Dit bleek Turbo Modula-2 van Borland te zijn!


                                 F A N

      Ik ben  een echte Modula-2 fan! De voordelen van Modula-2 en
      Pascal  zijn dat  het eigenlijk  de enige bekende talen zijn
      die speciaal  bedoeld zijn voor gestructureerd programmeren.
      Natuurlijk  kun je  ook met  Modula-2 en Pascal nog knoeien,
      maar de  talen nodigen  in principe  uit tot netheid. Dit in
      tegenstelling  tot C,  waarin de  meeste programmeurs er een
      onleesbare puinhoop van maken.

      En  waarom kies  ik dan  voor Modula-2  en niet voor Pascal?
      Beide talen  zijn door Niklaus Wirth ontworpen en lijken dan
      ook  vrij veel  op elkaar. Wirth heeft Modula-2 echter later
      ontworpen dan  Pascal, waarbij  hij een  groot aantal minder
      sterke  punten in  het ontwerp  van Pascal  heeft verbeterd.
      Borland  heeft  een aantal  voordelen van  Turbo Pascal  ten
      opzichte  van   standaard  Pascal   overigens  van  Modula-2
      afgekeken!


                           V O O R D E L E N

      De  voordelen  van Modula-2  ten opzichte  van Turbo  Pascal
      zijn:

      - Modula-2 werkt  met modules,  waardoor op een zeer handige
        wijze  modulair  kan  worden  geprogrammeerd.  De  modules
        worden apart  gecompileerd, als  je iets  veranderd in een
        module hoeven de andere modules dus niet opnieuw te worden
        gecompileerd! (Bij  Turbo Pascal is dat wel zo.) Bovendien
        worden  alleen de procedures die je werkelijk gebruikt uit
        de module  ge�mporteerd, zodat  de executable niet onnodig
        groot wordt.
      - De  structuur  van  IF,  WHILE,  etc.  statements  is  bij
        Modula-2  veel  logischer  waardoor  je  veel  minder snel
        fouten maakt dan bij Turbo Pascal.
      - Het maakt  bij Modula-2  niet uit  in welke volgorde je de
        procedures  zet,  terwijl  Turbo  Pascal een  (onlogische)
        volgorde oplegt  (namelijk dat  procedures die  vanuit een
        andere procedure  worden aangeroepen erboven moeten staan,
        eronder is logischer omdat je topdown programmeert).
      - Modula-2 is  case-sensitive en  alle gereserveerde woorden
        moeten met  hoofdletters worden  geschreven. Voor sommigen
        lijkt dit  misschien een  nadeel, maar het is bijvoorbeeld
        erg  handig om  een variabele  Char van  het type  CHAR te
        hebben (dat  kan bij  Turbo Pascal niet omdat Turbo Pascal
        geen verschil  maakt tussen  hoofd- en  kleine letters) en
        het maakt  de programma's  beter leesbaar.  Ik schrijf  in
        Turbo   Pascal   ook   alle   gereserveerde   woorden   in
        hoofdletters,  maar  helaas  behoor  ik  daarmee  tot  een
        minderheid.
      - Genest  commentaar mag  in Modula-2 wel en in Turbo Pascal
        niet.  Dit is  erg vervelend bij Turbo Pascal, als je daar
        een flink stuk van je source tussen {} wilt zetten kan dat
        alleen als er geen commentaar in voorkomt.
      - Modula-2   heeft  'open  array'  parameters,  waardoor  je
        makkelijker universele procedures kunt maken voor arrays.
      - De  stapgrootte van  een FOR-loop is bij Modula-2 variabel
        (bij Turbo Pascal zijn alleen +1 en -1 mogelijk).

      Er zijn  nog wel  meer verschillen/voordelen  te noemen maar
      deze  lijst  lijkt  me wel  voldoende reden  om Modula-2  te
      prefereren boven Turbo Pascal.


                              N A D E E L

      Eigenlijk  het enige  nadeel van  Modula-2 ten  opzichte van
      Turbo Pascal  is dat  Turbo Pascal veel meer wordt gebruikt.
      Dit heeft als gevolg dat er meer aandacht voor is in de vorm
      van cursussen in tijdschriften, boeken en libraries.

      Maar  als dit  een reden  zou zijn  om toch  Turbo Pascal te
      gebruiken, dan  vraag ik  me af waarom er nog MSX gebruikers
      zijn. Er zijn immers veel meer PC-gebruikers...


                        A L L E E N   T E K S T

      Ik  hoor  vaak van  andere MSX'ers:  ik programmeer  niet in
      Turbo Pascal  omdat je  dan geen grafische instructies hebt.
      Je   kunt  alleen   maar  met   (trage)  READ/WRITE  op  een
      tekstscherm werken. Dit zelfde 'nadeel' geldt ook voor Turbo
      Modula-2.

      Maar  natuurlijk  kun  je  een library  maken met  grafische
      instructies, en  dat is  wat ik  binnenkort ga  doen. Dus op
      Sunrise  Special #7 kun je een flinke library verwachten met
      een grote hoeveelheid handige routines voor de VDP, zodat je
      Modula-2 dan ook voor grafische dingen kunt gebruiken.

      Kortom,  ik hoop  dat een  groot aantal  van jullie over zal
      stappen op Modula-2!

                                                      Stefan Boer