Viikon VALO #198

Free Pascal

Free Pascal on avoimeen lähdekoodiin perustuva Pascal-ohjelmointikielen käännin. Free Pascal toimii useissa eri käyttöjärjestelmissä ja eri suorittimilla.

 Free Pascal kääntää Object Pascalia ja muutamia Pascalin murteita, muun muassa Turbo Pascalia, Delphiä ja Mac Pascalia.

Pascal oli alun perin proseduraalinen ohjelmointikieli. Niklaus Wirth kehitti sen 1960- ja 1970-lukujen vaihteessa Algol-kielen pohjalta erityisesti opetuskäyttöä ajatellen. Ohjelmointikieli on nimetty matemaatikko Blaise Pascalin mukaan. Pascalia hyvin lähellä ovat Wirthin myöhemmin kehittämät ohjelmointikielet Modula-2 ja Oberon, joita voidaan pitää Pascalin "jälkeläisinä". Pascal oli suosittu kieli opetuskäytössä 1970-luvulta 1990-luvun alkupuolelle asti kunnes C-kieli syrjäytti sen.

Pakollinen esimerkki, eli Hello World Pascalilla. Tässä tosin sanotaan "Goodbye, World!", mutta tämä koodi löytyi Rosetta Codesta enkä halunnut muokata.

program byeworld;
begin
  writeln('Goodbye, World!');
end.

Blaise Pascalin kehittämä ensimmäinen
mekaaninen laskin

Jos kokeilet tuota ohjelma graafisessa työpöytäympäristössä saattaa ohjelman ikkuna sulkeutua välittömästi ohjelman suorituksen päätyttyä, jolloin ei ehdi näkemään mitä ohjelma tulosti ruudulle. Tähän auttaa ennen end. -riviä lisätty readln; -komento. Tällöin ohjelma jää odottamaan Enter-näppäimen painallusta, ja loppuu vasta sitten.

Ammattikäyttöön Pascal-kieli tuli Borlandin Turbo Pascal -kielen ansiosta 1980-luvulla. Silloiset Turbo Pascalin ylivoimaiset ominaisuudet aiheuttivat sen, että muut ohjelmointikieliä tekevät ohjelmistotalot luopuivat vähitellen omista Pascal-kääntäjistään.

Pascal-kielen pohjalta on kehitetty Object Pascal lisäämällä Pascaliin olio-ohjelmointiin liittyviä ominaisuuksia. Lisäksi siihen kuuluvat poikkeukset ja niiden hallinta. Ohjelman voi jakaa käännösyksiköihin helpottamaan isojen ohjelmistoprojektien koostamista. Alkuperäinen Pascal oli tarkoitettu ohjelmoinnin opetukseen, eikä siinä ollut mukana ammattiohjelmoijien tarvitsemia ominaisuuksia. Free Pascalissa ei tätä puutetta ole, sillä voi koodata pelejäkin, esimerkiksi Slot Cars: The Video Game, josta on [http://www.youtube.com/watch?v=-m8v2txY2Ck video traileri].

Kuten Turbo Pascal on Free Pascalkin hyvin nopea käännin. Kuvakaappauksissa oleva pidempi testiohjelma kääntyi viidessä sadasosasekunnissa. Laajemmat ohjelmat vievät enemmän aikaa, mutta ne taas voi jakaa pienempiin käännösyksiköihin ja useimmiten muutetaan vain yhtä käännösyksikköä käännöskertojen välillä, jolloin vain se yksi käännösyksikkö on käännettävä uudestaan ja linkattava suorituskelpoinen ohjelma siitä ja muista jo valmiiksi käännetyistä osista.

Mukana tulee ohjelmankehitysympäristö eli IDE, joka käynnistyy komennolla fp. IDE on melko samanlainen kuin Turbo Pascalin vastaava oli aikoinaan. Semmoinen parannus on, että hiiri toimii, eli ei tarvita niin paljoa pikanäppäinten käyttöä.

Free Pascalille pitää kertoa mitä murretta käännettävän ohjelman on tarkoitus olla. Tämä tehdään komentorivillä tarkentimella -M tai IDE:ssä valikossa Options | Compiler | Compiler Mode.

Free Pascal osasi kääntää vuonna 1995 Turbo Pascal 7:lla tekemäni ohjelman. Silloin oli käytössä DOS, nyt ohjelmaa sai ajettua Linuxissa. Aika ei ole syönyt koodiani piloille. Sen verran piti säätää, että disketiltä Linuxiin lukemieni tiedostojen nimet oli kaikki isoilla kirjaimilla. Ohjelmakoodissa taas käännösyksiköt oli pienellä paitsi iso alkukirjain. Koska Linuxissa tiedostojen nimissä isoilla kirjaimilla on väliä, piti tiedostojen nimet korjata.

Free Pascalia hyödyntävä ja Free Pascalilla toteutettu graafinen kehitysympäristö on Lazarus.

Kotisivu
http://freepascal.org
Lisenssi
GNU GPL
Toimii seuraavilla alustoilla
DOS, FreeBSD, Haiku, Linux, Mac OS X/iOS/Darwin, MorphOS, Nintendo GBA, Nintendo DS, Nintendo Wii, OS/2, WinCE, Win32, Win64.
Asennus
Linux-jakeluissa tulee jakelun omista pakettivarastoista. Muille käyttöjärjestelmille löytyy asennustiedosto Free Pascalin webbisivuilta.
Käyttöohjeet
Webbisivuilla on paljon ohjeita: http://www.freepascal.org/docs.var.
Free Pascalin wikissä on suomenkielisiäkin sivuja: http://wiki.freepascal.org/Main_Page/fi
Tietoa Pascal-kielestä suomeksi Webissä: http://www.cs.tut.fi/~jkorpela/Pascal.html
Ohjelmointiputkan Pascal-ohjelmointi: http://www.ohjelmointiputka.net/oppaat/opas.php?tunnus=pascal01
SchoolFreewaren opetusmateriaalia ja videoita: http://www.schoolfreeware.com/Free_Pascal_Tutorials.html
Youtubesta löytyy opetusvideoita.

Lisätietoja

Teksti: Taleman
Kuvakaappaukset: Taleman
Kuvituskuva: David Monniaux
(CC-BY-SA, https://commons.wikimedia.org/wiki/File:Arts_et_Metiers_Pascaline_dsc03869.jpg)