Blogi

Kaikki artikkelit - Helmikuu 2009

Sisennys vs. sulkeet

18.2.2009, kirjoittanut Jussi Kasurinen

Selailin tuossa päivänä eräänä verkosta sivuja ja huomasin sellaisesta asiasta, josta olen joutunut monesti vääntämään kättä. Python-kielestä puhuttaessa ihmiset ovat kauhuissaan mm. siitä, että kielessä on sisennyksillä ohjautuva syntaksi, joka pakottaa tekemään asiat yhdellä tavalla tai potkii käyttäjää takapään puolelle. Tämä ei kuitenkaan pidä varsinaisesti paikkaansa, mikä allaolevassa artikkelissa on hyvin käsitelty

http://www.secnetix.de/~olli/Python/block_indentation.hawk

Itse en mielelläni ota sisennys vs. sulkeet -keskusteluun kantaa, mutta näin tehdessäni kommentoin useimmiten, että aloittaessa ohjelmoinnin opettelun sisennys tekee sulkeita paremmin ymmärrettävää koodia, ja tietyssä mielessä ”ohjaa” rakentamaan lähdekoodin järkevällä tavalla. Sulkeet olisi tietysti pidemmälle mennessä ihan kiva optio ainakin kun sisennystasot ja komentojen pituus kasvaa, mutta ainakin Python 2.x:ssä yritys ”from __future__ import braces” antaa hyvin selvän vastauksen.

Mutta joo, mitäs muuta. Python 3 sai ekan päivityksensä, 3.0.1 näyttäisi karsivan reiluhkon määrän löytyneitä bugeja mutta ei muuta. Itseasiassa toiminnot on nyt ”jäädytetty” toistaiseksi; kaikki toimii päivityksen jälkeen samalla tavalla, joten tulkki kannattaa ainakin tälläerää pitää ajantasalla ilman pelkoa että tehty koodi menee rikki. Joten ei kai tässä muuta kuin versiopäivitystä latailemaan.

Täältä tähän,

Jussi Kasurinen

Artikkeliin ei ole kommentteja »

Ohjelmointia, yksinkertaisesti

9.2.2009, kirjoittanut Jussi Kasurinen

Tällä kertaa ajattelin poiketa blogin tavallisesta Python3-linjasta ja mainita parilla sanalla eräästä toisesta ohjelmointikielestä, johon olen viimeaikoina upottanut aikaa.  Tämä kieli on siis Brainf*ck. Olisi sillä vähemmän sensuroitu nimikin mutta kaikenmaailman suodattimet välttääkseni olen ottanut vapauden korvata erään kirjaimen tähdellä. Nokkelimmat varmaan jo arvaavatkin ”oikean” nimen.

Tämä ohjelmointikielien ansiokkaasti nimetty kaunokainen on kielen syntaksin yksinkertaistamisessa eräänlainen sankari: siinä on ainoastaan kahdeksan komentoa, joista yksikään ei ota syötteinä minkäänlaisia argumentteja.  Vielä huvittavammaksi kielen tekee se, että komentoja edustaa merkit + – , . [ ] < ja >, kaikkien muiden ollessa automaattisesti kommentteja. Käytännössä tämä tarkoittaa sitä, että esimerkiksi ohjelma

++++++++[>++++++<-]>++++.>++++++++[>++++++<-]>++.

Tulostaa vastauksen 42. Mielenkiintoisinta Brainf*ckissa on se, että se on Turing-täydellinen kieli. Tämä tarkoittaa siis sitä, että kielen avulla on mahdollista toteuttaa mikä tahansa tietokoneen algoritmi, eli periaatteessa tehdä millainen ohjelma hyvänsä. Tehokkuudesta, tai sen puoleen debuggaajan mielenterveydestä, tässä tosin ei parane puhua. Siitä vaan tekemään käyttöjärjestelmää tai samantien pitämään ohjelmoinnin perusteita kielellä; eihän kahdeksan komennon opettelu voi NIIN vaikeaa olla. Ja kun kerran on lähtenyt sille tielle, niin perään luentokalvot klingoniksi, kohderyhmämarkkinointia ajatellen.

Lopuksi vielä aasinsilta, joka yhdistää tämän artikkelin tekstin näppärästi blogin yleiseen kategoriaan, eli ohjelma joka tulostaa PYTHON3:

++++++++++[>++++++++<-]>.>++++++++++[>+++++++++<-]>-.>++++++++++[>++++++++<-]>++++.>+++++++++[>++++++++<-]>.>++++++++++[>++++++++<-]>-.>++++++++++[>++++++++<-]>–.>++++++++[>++++++<-]>+++.

Täältä tähän,

++++++++++[>+++++++<-]>++++.>++++++++++[>++++++++<-]>+++++.>++++++++++[>++++++++<-]>+++.>++++++++++[>++++++++<-]>+++.>+++++++++[>++++++++-]>+. Kasurinen

Artikkeliin ei ole kommentteja »