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. Blaise Pascalin kehittämä ensimmäinen mekaaninenlaskin

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

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 Tiedosto:mono_key_enter.png 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 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.

  • galleryimage:Hello World käännetään jasuoritetaan
  • galleryimage:Käännettävä ohjelma,käännösaika 5sadasosasekuntia
  • galleryimage:Mukana on pääteikkunassa tai konsolilla toimivaIDE
  • galleryimage:Ohjelmakoodia vuodelta 1995, toimii FreePascalissa

Lisätietoja

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