Tässä kirjoitussarjassa käsittelen C++:aan liittyvää tietoutta, joka mielestäni kuuluu ammattimaisen C++-ohjelmoijan yleissivistykseen. Näin pystyy hyödyntämään kielen ominaisuuksia ylläpidettävän, luettavan ja vähän virheitä sisältävän ohjelmiston tuottamiseen, sekä pystyy lukemaan ja ylläpitämään näihin ominaisuuksiin pyrkivää C++-koodia. Käsittelen kielen ominaisuuksia, standardikirjaston osia sekä idiomeja ja muita sääntöjä ja käsitteitä.

Osan tietoudesta luulen olevan laajastikin tunnettua C++-ohjelmoijien keskuudessa; osa voi olla vieraampaa, mutta kaikista näistä tekniikoista on niin paljon etua, että ne mielestäni kuuluvat C++-ohjelmoijan sivistykseen. Lue lisää

Jo esikoulussa lapsille opetetaan, kuinka yhteiselo muiden kanssa on välillä hankalaa – varsinkin, kun tapellaan samoista leluista. Samalla kantapään kautta opitaan, että kannattaa olla joko itsekäs tai, vastapuolen koosta riippuen, antaa suosiolla lelu sitä pyytävälle. Lopputuloksena on, että pienimmät ja heikoimmat sortuvat elon tiellä ja jäävät aina ilman leluja, ellei täti tai setä ole auttamassa. Fiksuimmat tosin huomasivat, että yhdessäkin on mahdollista leikkiä samalla lelulla. Lue lisää

Reaktiiviset laajennukset (Reactive Extensions, rx) ovat kirjastoperhe asynkroniseen ohjelmointiin. Siitä on kirjastototeutuksia käytännössä kaikille kielille ja alustoille, esimerkiksi JavaScript, Java, C#, C++ ja Swift. Rx:n voi toteuttaa mille tahansa kielelle, mutta sen helppo käyttö edellyttää kieleltä tukea lambdoille ja korkeamman kertaluvun funktioille. Tässä käsitellään ohjelmointikieliagnostisesti rx:n käsitteitä ja toimintaa.

Rx laajentaa tarkkailijasuunnittelumallin yksittäisistä toisistaan irrallisista tapahtumista tapahtumasekvenssiksi. Tämä sekvenssi voi olla loogisesti loputon, keskeytyä virheeseen tai päättyä. Lue lisää

Responsiivisuus on termi, joka on viime vuosien aikana noussut erilaisten web-sivustojen ja -sovellusten toteutuksen avainsanaksi. Erityisesti webin voimakkaasti lisääntynyt käyttö mobiililaitteilla on korostanut sitä aiempaa enemmän. Käyttöliittymäsuunnittelun kannalta yleisenä määritelmänä responsiivisuudelle voidaan pitää sivuston mukautumista käytetylle päätelaitteelle. Käytännössä responsiivisuuteen liittyy kuitenkin useita eri näkökulmia ja lähtökohtia, joista responsiivisuutta voidaan lähestyä.

Responsiivisuuden pohjana on sivun rakenne, jonka tulee mukautua eri kokoisten laitteiden näytöille. Lue lisää