Muistumia Vanajanlinnan APL-tehokäyttöseminaarista

Suomen APL-yhdistys, FinnAPL, järjesti tänäkin vuonna runsaasti osallistujia keränneen perinteeksi muodostuneen "metsäseminaarinsa" Hämeenlinnan lähellä sijaitsevassa Vanajanlinnassa, joka myös aiemmin tunnettiin Sirola-opiston nimellä. Tilaisuuden päävieraaksi oli yhdistys kutsunut mr. John Scholesin Britanniasta – John toimii, kuten tiedämme, keskeisissä tulkinkehitystehtävissä Dyadic-yhtiössä Basingstoken kaupungissa. Lennonjohtajien lakko aiheutti pientä epävarmuutta mutta John pääsi kuitenkin ajoissa perille. Itse sain kyydin tilastokeskuksen Jaakko Rannalta, josta kiitokset hänelle. Matka Vanajalinnaan sujui mukavissa merkeissä jutustellen vanhojen tuttavien kanssa. Itse paikka sijaitsee Katumajärven rannalla n. 10 km Hämeenlinnan keskustasta ja on alunperin rakennettu paikallisen teollisuuspatruunan metsästysmajaksi. Komea punatiilinen kartano – vai pitäisikö käyttää sanaa linna? – se olikin.

Pakollisten ilmoittautumiskuvioiden jälkeen päästiinkin itse asiaan ja John Scholes piti esityksen aiheesta "Functional programming and dynamic functions" käyttäen valaisevana esimerkkinä min-työtilaa, jossa on luoto kokonainen matemaattisten perusoperaatioiden joukko lähtemällä liikkeelle funktiosta, jossa kokonaisluvun arvoa kasvatetaan yhdellä (!). Työtila sisältyy Dyalog –version 8.2 jakeluromppuun. Samoin luotiin katsaus dynaamisten funktioiden kiehtovaan maailmaan, joka valitettavan usein jää APL-ohjelmoijalle pintapuoliseksi tuttavuudeksi. Dynaamisilla funktioilla voidaan nopeuttaa merkittävästi aikaintensiivisiä tehtäviä ja ne muistuttavat rakenteellisesti ehkä hiukan LISP-kielen määrittelyitä, mm. Ainoa keino aikaansaada toistoluuppi on käyttää häntärekursiota.

Hyvän lounaan jälkeen Richard Eller ja Wang Xiao Bei esittelivät APL+Winin mahdollisuuksia client-server arkkitehtuurin toteuttamisessa. Suurin vaikeus jaettuja sovelluksia suunniteltaessa näyttäisi olevan siinä, miten sovelluksen toiminnallisuus jaetaan palvelimen ja asiakkaan välille, jotta TCP-IP –pohjainen liikenne saataisiin mahdollisimman tehokkaksi. Tämän jälkeen Antero Ranne esitteli APL+winillä toteutettua vakuutusyhtiö ilmarisen sijoitusmallia – huomasin jälleen että matemaattisten peruskäsitteiden kertailu olisi kohdallani paikallaan. Päivän parhaasta demosta vastasi TomasGustafsson pyörittämällä grafiikkakiihdytinkortilla varustetulla PC:llaan Helsingin eteläsatamaa esittävää virtuaalimaailmaa. Demon aikana upotettiin mm. 1 ranskalainen virtuaalifregatti ja laitettiin roro-alus pyörimään vinhasti katajanokan kärkeen, unohtamatta pakollista vierailua presidentinlinnan pihalla (sinne tosin pääsi lentämällä, laivaa ei tarvittu).

Ilta päättyi Kimmo Kekäläisen alustamaan aiheeseen "APL-väittämiä eilisen ja tämän päivän valossa", joka jatkui keskusteluna ohjelmointitekniikan vaikutus APL:n suoritustehoon eri tulkkien näkökulmasta. Tein parhaani tulkatakseni simultaanisesti tämän osuuden mr. Scholesille, jotta hän voisi myöhemmin perustella kiinnostuneille eräitä Dyalog –tulkin suunnitteluun liittyviä näkökohtia. Illanviettoa jatkettiin saunan, avantouinnin ja illallisen merkeissä. Anssi Seppälä viihdytti läsnäolijoita pienonsoitollaan. Joillakin riitti pohdittavaa pikkutunneille saakka.

Perjantain ohjelman aloitti John Scholes luennoimalla APL:n multithreading-ominnaisuuksista (unohtamatta pakollista ankkademoa), sovelluksen paketoimisesta ActiveX –kontrolliksi ja 8.2-version mukana tulevasta APL Web serveristä. Dyadic tarjoaa lisäksi nykyisin ohjelmoijien ActiveX –sovelluksille jakelukanavan omien web-sivujensa kautta, tämän symbioottisen suhteen arvellaan hyödyttävän molempia osapuolia. Dyadicin osuus syntyvästä bisneksestä koostuu dyalog.dll –tiedostojen myynnistä kontrollien ostajille.

Tauon jälkeen Ellerin Riku ja tiimin kiinalaisvahvistus Wang esittelivät APL:aa yhdistämässä ja muuntamassa eri järjestelmien transaktiopohjaisia tietoja, käyttäen case-tapauksena Suomen MSD oy –lääkefirmalle toimittamaansa järjestelmää, joka auttaa lääke-esittelijöiden toiminnan suunnittelussa ja lääkemarkkinoinnissa yleensä. Systeemissä näytti olevan ainakin kattavat tiedot maamme kaikista lääkäreistä ja terveydenhoitotahoista, tietovarastoina käytettiin APL-komponenttitiedostoja ja AS-400 –pohjaisia tietokantoja sekä ajanhallintaohjelmana EccoPro –tuotetta. Ymmärtääkseni APL:n roolina oli saada eri osaset pelaamaan synkronoidusti yhteen ja havaita virhetilanteet, päällekkäisbuukkaukset yms.

Lounaan jälkeen ohjelma jatkui Erkki Tenkulan esittyksellä Dyalog APL:n ja Mathematican yhteiskäytöstä Eläketurvakeskuksen kuolleisuuden ennustemalleissa. Mathematica ei nykyisellään tarjoa mitään OLE- tai DDE-liittymää, vaan tietojensiirto APL:n ja sen välillä voidaan hoitaa vain ascii-tiedostoja käyttämällä. Olin taaskin huomaavivani matemaattisessa yleissivistyksessäni tiettyjä puutteita. Erkin jälkeen puheenvuoro siirtyi Jouko kangasniemella, joka kertoi kattavasti Rain –grafiikan käytöstä suhdanneseurannan apuvälineenä Teollisuus & Työnantajat –ympäristössä. Jouko oli mielestäni varsin onnistuneesti onnistunut luomaan suhdannekuvien tuotantoketjun alusta loppuun tavalla, joka mahdollisti sekä vastaamisen yllättäviin kyselyihin että kuvamateriaalin tuotannon säännöllisesti päivittyviin medioihin ja julkaisuihin. Lisäksi TT:ssa käytetään Acrobat-formaattia yhtenä suhdannekuvien levitystapana, ja Acrobat-dokumenttien tuottamiseen on hankittu Acrobat distiller –ohjelma, jonka toimintaa saimme myös seurata.

Viimeisenä seminaarin esiintyjänä toimi Arto Juvonen, joka demonstroi kansallisten kieliversioiden hallintaa osana APL-sovellusten tuotteistamisena, mielenkiintoinen aihe varmasti monelle kansainvälisillä markkinoilla toimiville ohjelmoijille. Artolla näytti olevan joukko apufunktioita, jotka osasivat kerätä APL-koodin joukosta lokalisointia tarvitsevat merkkijonot ja korvata näiden esiintymät funktiokutsuilla vastaavia kielen X ilmaisuja tuottaviin funktioihin. Tärkeää on myös eriyttää varsinainen kielen käännöstyö muusta ohjelmointityöstä. John ei valitettavasti ehtinyt koneensa lähdön vuoksi seurata tätä osuutta loppuun saakka. Loppupuheenvuorojen ja kiitoksien jälkeen lähdimme kukin viikonlopun viettoon sakean lumipyryn saattelemina.

Jukka Vaijärvi