FAKTANTARKISTUS 1 Ei tullut tietoyhteiskuntaa. Tuli markkinointihöpöinen tietoistettu yhteiskunta.

Ohjelmointi ja matematiikka

Yleensä ohjelmonti ei vaadi kummoisiakaan matematiikan taitoja. Kyvyykkyys ohjelmoinnissa ja matematiikassa ovat lähellä toisiaan, mutta vain korrelaationa. 

Kausaliteettiharha: 

Edelleen venäläisiä ohjelmoijia pidetään maailman parhaina. Heillä on niin hyvät matemaattiset perustaidot, että se vapauttaa tilaa luovuudelle. Kun osaat perustaidot täydellisesti, voit tehdä asioita kuin selkärangasta. Se antaa tilaa keksiä uutta ja sitä kutsutaan innovatiivisuudeksi. Tämähän on Suomenkin päättäjien suuri tavoite. SUOMEN KUVALEHTI

Piditkö tästä kirjoituksesta? Näytä se!

1Suosittele

Yksi käyttäjä suosittelee tätä kirjoitusta. - Näytä suosittelija

NäytäPiilota kommentit (32 kommenttia)

Käyttäjän ToniRintala kuva
Toni Rintala

Aika vähän on näkynyt venäläisiä. Unkarista on kovimmat mun tuntemat koodarit tulleet.

Käyttäjän HarriRautiainen kuva
Harri Rautiainen

Mulla on kokemusta venäläisistä. Erinomaisia algoritmien kehittelyssä, esim. signaalinkäsittely. Kova koulutus taustalla.

Käyttäjän pekkaroponen1 kuva
Pekka Roponen

Venäläisissä kouluissa ei taideta leikkiä tableteilla tai älypuhelimilla.

Käyttäjän raimoylinen kuva
Raimo Ylinen

Tablettien ja älypuhelimien käyttäjät eivät juuri osaa ohjelmoida! Ohjelmointia tehdään aivan toisenlaisilla työkaluilla. Ohjelmoinnin ja matematiikan taitojen riippuvuus ei ole vain korrelaatiota vaan molemmat ovat lähtöisin loogisen ajattelun osaamisesta.

t. Nimimerkki: 55 vuotta ohjelmoinut

Käyttäjän grohn kuva
Lauri Gröhn

Hohhoijaa. Kun molemmat ovat lähtöisin ”loogisen ajattelun osaamisesta”, on kyse juuri KORRELAATIOSTA.

Käyttäjän raimoylinen kuva
Raimo Ylinen

Jos kahdella asialla on sama syy, niin kyse ei ole korrelaatiosta vaan kahdesta rinnakkaisesta syy-seuraus-suhteesta! Tähän on turha sotkea mitään tilastomatemaattisia käsitteitä.

Käyttäjän grohn kuva
Lauri Gröhn Vastaus kommenttiin #6

Tuotahan korrelaatio juuri on. Molempien syynä on usein jokin ”kolmas tekijä”, rsimerkkinä jäätelönsyönnin ja hukkumisten korrelaatio

Käyttäjän karkot kuva
Kari Kotiranta

On vielä yksi muuttuja, joka sekoittaa riippuvuuksia, nimittäin motivaatio - mitähän jää jäljelle, kun motivaation vaikutus poistetaan.

Käyttäjän grohn kuva
Lauri Gröhn

Kyllä ihmisillä on erilaisia ”lahjakkuuksia”.

Käyttäjän jormanordlin kuva
Jorma Nordlin

Noin 95% markkinoilla käytettävien ohjelmien kehitystyöstä ei tarvitse kovin korkeaa matemaattista osaamista. Suurin osa ohjelmistotyöstä on käyttöliittymän toteuttamista ja tiedon hakemista, tai tallentamista tietovarastoon, tai sen muokkaamista tietovarastoon.

Suurin osa logiikasta on lähinnä sen tutkimista onko tieto kelvollisessa muodossa, jotta se kelpaa tallennettavaksi tietovarastoon. Matemaattinen osaaminen rajoittuu yleensä lähinnä erilaisiin esimerkiksi rahamäärien laskemiseen ym.

Peliohjelmointikaan ei tarvitse kovin ihmeellistä matemaattista osaamista. Pelimoottoreissa on jo toteutettu valmiiksi toiminnallisuuksia. Jonkin verran vektorimatematiikan perusasioita siinä tarvitaan. Olen opiskellut pelin tekemistä Unity pelimoottorilla. On käynyt päin vastoin, on mennyt hankalammaksi tekeminen, kun olen yrittänyt ohjelmoida liikaa. Kantapään kautta on joutunut opettelemaan, ettei niin kannata tehdä. Koska syntyy yllättäviä hankalia ilmiöitä, kun enemmän itsetoteutettua yhdistelee jo valmiisiin ratkaisuihin.

Kovinkaan mutkikkaalta ei näytä myöskään neuroverkkojen pyörittely ohjelmoimalla.

Keras: The Python Deep Learning library
https://keras.io/

Lukiotason perusmatematiikalla pärjää jo aika pitkälle ohjelmointialalla.

Tärkein vaatimus ohjelmistoalalla on teknologiaosaaminen. Sillä taas ei ole mitään tekemistä matematiikan kanssa.

Oikeastaan ohjelmointiin tarvittavan matemaattisen osaamisen voi pelkistää tähän: https://scratch.mit.edu/

Käyttäjän erkkilaitila1 kuva
Erkki Laitila

Olen harjoittanut logiikkaohjelmointia kymmenet vuodet. Perustin firman siihen yli 30 vuotta sitten. Varmuudella osaisin määritellä mitä on ohjelmoinnin ja logiikan samankaltaisuus ja eroavuus, mutta en tämmoisillä sivustoilla viitsi käyttää aikaa.

Täällä kuitenkin esimerkkinä väitöksessäni syntynyt hybridiolion periaate, AHO. Siinä on oliomainen rajapinta, mutta sisältö logiikkaa, päättelykone.
https://symbolicanalysis.wordpress.com/2009/09/08/...

Suomesta en ole löytänyt ketään, joka ymmärtäisi tuon, mutta ulkomailla olen siitä esitelmöinyt.

Käyttäjän MattiKarnaattu kuva
Matti Karnaattu

Noh, kun Prologilla voi temppuja AST:n pohjalta niin ensimmäinen ajatus on että luetaan legacy oliosotku ohjelman rakennetta.

Käyttäjän jormanordlin kuva
Jorma Nordlin

Jos katsoo osaamisen kysyntää työmarkkinoilla, niin on aika pieni kysyntä sellaisella ohjelmointiosaamisella, jossa tarvittaisiin vahvempaa matemaattista osaamista. Logiikkaohjelmoijia ei kovin paljon työmarkkinoilla tarvita.

Ohjelmointi ei kovin merkittävää matemaattista osaamista vaadi.

Käyttäjän MattiKarnaattu kuva
Matti Karnaattu

Minulle on vähän epäselvää missä menee vahvemman matemaattisen osaamisen raja.

Mielestäni ehdoton minimi on se että ymmärtää aikavaatimukset ja tietää mikä koodi on O(1) O(log n) O(n!) ja jne.

Yksinkertaisissakin asioissa voi ampua itseään jalkaan jos tätä ei ymmärrä.

Käyttäjän MattiKarnaattu kuva
Matti Karnaattu

Aika yksinkertaiselta tuo minusta näyttää.

Käyttäjän erkkilaitila1 kuva
Erkki Laitila

Onko Jorma Nordlinilla paljon kokemusta? Jos katsot rekryilmoituksia, et opi muuta kuin niitä termejä, joita pidetään muodissa.
Tarpeet ovat jossakin syvemmällä.
Prologilla on ohjelmoitu yli 10 % maailman lennonvaraussovelluksista pelkästään yhden firman tekemänä. Itse olen ohjelmoinut Prologilla Nokialle ja sen eurooppalaiseen konsortioon, silloiselle Fortumille (Ivo/Enermet), M-Realille, PKC:lle, Elektrobitille, Stalalle, sähkölaitoksille, oman yrityksen tuotteita ja työkaluja mm. TietoEnatorille, Abloylle jne jne.

Gröhnin mukaan käytin väärää työkalua, niinkö?
Oletko itse väitellyt IT-alasta kun siitä niin paljon väittelet?

Olen nyt tutkija ja systeemimetodiikan kehittäjä. Näillä töin kehitän Visual Prologilla meta-mallia koko yhteiskunnasta, pala palalta. Se on käsitteiden protoilua, kybernetiikan ominaisuuksien tutkimista, mutta ei päätyöni.

Käyttäjän grohn kuva
Lauri Gröhn

Tarkoitin noita linkissäsi mainitulla työkalulla tehtyjä juttuja.

Käyttäjän MattiKarnaattu kuva
Matti Karnaattu

Prolog on vain yksi työkalu monista.

Työkalu valitaan tilanteen mukaan. Yleisesti ottaen on hyvä idea vakioida softaprojektissa käytettäviä työkaluja, että on yhtenäisyyttä.

Nykypäivän ohjelmoijan tarvitsee silti ymmärtää ja kyetä tekemään asioita millä tahansa kielellä ja työkalulla. Pitää ymmärtää erilaisia paradigmoja.

Se sanonta kun oli semmoinen, että jos ainoa työkalu on vasara, kaikki ongelmat alkavat näyttää nauloilta.

Käyttäjän jormanordlin kuva
Jorma Nordlin

"Jos katsot rekryilmoituksia, et opi muuta kuin niitä termejä, joita pidetään muodissa."

Asiakas maksaa osaamisesta. Sitä kysytään. Muotitermit tarkoittavat käytännössä niitä tekonlogiaosaamisia, joista asiakas on valmis maksamaan.

Käyttäjän grohn kuva
Lauri Gröhn

Tuossa näkyy ikivanha sekaannus. Ohjelmistoja tehdään räätälöityihin sovelluksiin ja toisaalta sulautttuihin järjestelmiin.

Käyttäjän jormanordlin kuva
Jorma Nordlin

Mainitsemiisi jälkimmäisiin liittyvää osaamisen kysyntää on huomattavasti vähemmän työmarkkinoilla. Myös ensimmäisen osalta selvästi on käymässä osaamisen kysynnän suhteen niin, että enemmän tarvitaan valmisohjelmistoihin liittyvää räätälöintiosaamista, joka on "liukuhihnatyyppistä" rutiinityötä.

Räätälöityjen sovellusten tekeminen vähenee. Asiakkaat ovat siirtyneet ja siirtymässä karvaiden kokemusten saattelemana käyttämään mielummin valmisohjelmistoja, jos niitä suinkin on saatavilla. Ongelma ei ole teknologiassa, tai sen osaamisessa, vaan yhtenäisen näkemyksen löytyminen siitä mitä asiakas haluaa, se on vaikein asia koko jutussa. Sitä ongelmaa taklataan valmisohjelmistolla, jossa joudutaan tyytymään siihen mitä ohjelmisto tarjoaa ja merkityksetön säätäminen jää vähemmälle.

Oikeasti ammatteina ohjelmistokehitysalan ammateista on tullut tylsiä töitä. Siitä syystä en enää tee niitä töitä, harrastuksena ohjelmointi on mukavenpaa. Mitään mielenkiintoista haastetta eivät asiakastyöt tarjoa.

Käyttäjän grohn kuva
Lauri Gröhn Vastaus kommenttiin #18

Sulautettuja järjestelmiä on kertalukuja enemmän kuin perinteisiä, mutta

Ja keskustan nykyinen puheenjohtaja Sipiläkin sekoilee. Hän on ehdottanut, että Nokiasta irtisanotut pitäisi laittaa atk-systeemejä kehittämään.
Tyypillinen harha. Systeemien tekeminen vaatii täysin erilaista osaamista kun Nokia sulautetut järjestelmätuotteet. Ei Nokialaisista ole moiseen. Muistettakoon vielä Nokia surkeimmista surkein OVI!
Lauri Gröhn 22.8.2012
http://grohn.puheenvuoro.uusisuomi.fi/189940-julki...

Käyttäjän jormanordlin kuva
Jorma Nordlin Vastaus kommenttiin #19

Niitä onkin enemmän. Mutta kun katsoo työpaikkailmoituksia niistä kanavista joissa ohjelmustoalan tekijöitä haetaan, niin harvemmin on tarjolla sulautettujen järjestelmien kehitystyöhön liittyvää työtä.

Suurin osa tarjolla olevista työpaikoista liittyvät sähköisten palvelujen kehittämiseen, tai ovat valmisohjelmistojen räätälöintiin liittyvää konsulttityötä.

Käyttäjän MattiKarnaattu kuva
Matti Karnaattu Vastaus kommenttiin #19

Asioita voi opiskella.

Mielestäni suomen opinto- ja tutkintosysteemi ja siihen liittyvä kulttuuri on mätä. Jengi on koulun penkillä välillä melkein kolmekymppiseksi ja jos on "tutkinto" niin sitten ei muka tarvitse enää opiskella. Ja sitten kun on päälle viiskymppinen niin potkitaan pois.

Mielestäni elämä on elinikäistä opiskelua tarpeiden ja kiinnostuksen mukaan ja siinä auttaa paljon jos on samanhenkisten ihmisten verkostossa.

Sipilä kaiketi ajatteli että siinä on iso määrä ihmisiä joilla on mielenkiintoa tekniikkaan ja verkostoa joten siitä voi omaksua uusia asioita.

Itselläni ei ainakaan ole ylitsepääsemätöntä estettä tehdä erilaisia asioita.

Käyttäjän grohn kuva
Lauri Gröhn Vastaus kommenttiin #26

Et tiedä mistä kirjoitat. Kun joku on 10 vuotta vääntänyt ja testannut laiteläheistä koodia Symbianille, ei siirtyminen asikaslähtöiseen toimialalakohtaisseen tietokanta/graafiseen/netti touhuun oikein toimi etenkin jos tausta elektroniikassa, kuten OVI/Ojanperä
https://www.theregister.co.uk/2011/08/31/farewell_...

Käyttäjän MattiKarnaattu kuva
Matti Karnaattu Vastaus kommenttiin #27

No jaa... oon itse vähän semmoinen fullstack, että alle kouluikäisenä rakennettiin legoilla paineilmasysteemejä, ala-asteella radioita, assembleria yläasteella ja siitä sitten mielenkiinnot POSIX, käyttöliittymää, eri ohjelmointiparadigmoja, työkaluja, algoritmeja, konesali ja serveriylläpitoa, erppiä ja jne. että en ei ole isoja esteitä joten katson tätä tästä vinkkelistä.

Ja Sipilä varmaan ajatteli myös että Nokialaisissa on tekniikasta kiinnostunutta väkeä jotka voi omaksua uusia asioita.

Toki onhan se mahdollista että on sitten sitä efektiä mitä kävi tälle porukalle joka kiipeili puhelintolppissa. Tiedät varmaan mitä heille kuuluu.

Mielestäni semmoiset riittävän hyvät pohjatiedot perusasioista, matematiikka, informaatiotiede, tietoliikennestandardit, ohjelmointiparadigmat, unix ja se että koko elämän ajan joka vuosi opettelee jotain uutta, on semmoinen avainjuttu tässä.

Aika paljon auttaa sekin jos ns. korkeamman lukutaidon omaavalle henkilölle (= osaa muotoilla oman ajatuksensa toimivaksi tietokoneohjelmaksi) kertoo missä järjestyksessä pitää opetella asiat.

Käyttäjän jormanordlin kuva
Jorma Nordlin Vastaus kommenttiin #27

#27
Joskus kauan sitten opiskellessani asioita koodasin konekiellä. Sitten joskus 90-luvulla tein mikroprosessorikortin. Katsoin sopivat piirivaihtoehdot ja tinasin räppilevyyn osoite- ja dataväylät ym.

Siitä sitten 486:lla harjoittelemaan C-kielellä ja assemblerilla grafiikkaohjelmointia kirjoittamalla suoraan näytönohjaimen muistiin.

Sen jälkeen tuli eteen LabView:llä harjoittelu ja erään valmiin mittaussovellutuksen viilailu.

Näillä taidoilla ei tee käytännössä mitään nykypäivänä IT-alalla.

Veikkaan, että seuraava kehitysaskel IT-alalla tulee olemaan web-teknologioiden osaamistarpeen hiipuminen.

Noin pari vuotta sitten 20-vuoden tauon jälkeen päätin palata hieman elektroniikan pariin. Tilasin 5€:n Arduino nano controllerikortin, joka on noin puolikkaan tulitikkuaskin kokoinen. Kytkin siihen halkaisijaltaan 3mm ja pituudeltaan 5mm askelmoottorin.

Paljon on ala siinäkin kehittynyt. Ohjelmointi PC:llä oli hyvin helppoa. Koodia ei tarvinnut edes enää polttaa controllerikortin muistiin ja on monipuolinen valikoima I/O-pinnejä.
Tälläkään tekemisellä ei käytännössä ole mitään kaupallista merkitystä. Sitä osaamista ei tarvita.

Käyttäjän MattiKarnaattu kuva
Matti Karnaattu Vastaus kommenttiin #30

Kyllä C-kieli on edelleen pätevä. Ihan sen takia kun ~kaikki käyttöjärjestelmät on unixia.

Web teknologioiden osaamistarve ei ihan heti katoa se määrittää standardin millä sovellusten käyttöliittymät tehdään ja kuinka ne juttelevat sen palvelinosan kanssa.

Seuraava iso kehitysaskel on varmaankin se, että IP pino napataan kernelistä pois, että kerneli lähinnä käynnistää HTTP palvelimen ja sovellusten logiikka menee tilattomiksi funktioksi siellä backend puolella.

Toisin sanoen, dataa ja logiikkaa eriytetään merkittävästi rajummin. Sitähän se webteknologia käytännössä ollut, että käyttöliittymää ja dataa ollaan eriytetty.

Puhtaammat ohjelmat tulevat varmasti tuomaan ison mullistuksen siinä, miten paljon automatisoidaan ohjelmien tekemistä.

Huomaan päivittäin tekeväni asioita jotka kuuluisi robotille jota ei ole vielä tehty ja puhutaan asioista joiden tekijöistä on valtava työvoimapula.

Käyttäjän MattiKarnaattu kuva
Matti Karnaattu Vastaus kommenttiin #18

No, siihenkin on työkalua olemassa että saadaan tehtyä sitä mitä asiakas haluaa.

Asiakkaalta pitää saada piirrettyä vaikka kynällä ja paperilla miltä sen pitäisi näyttää, karkeasti vain eri käyttäjien näkymiä ja siinä näkyy niitä nappeja ja listoja mitä nyt tarvitaankaan.

Sitten se toinen vaihe olisi saada pureskeltua se mitä halutaan testattavina tarinoina.

asiakkaalla on ostoskorissa tuote
kun asiakas klikkaa siirry maksamaan
sitten asiakkaalle näytetän maksutavat

kaikki mitä halutaan pitää saada tuossa muodossa. Ehdottomasti ei saa olla semmoista että tarinat on muotoa "pitäisi voida tehdä, saisi olla semmoinen". Vaan nimenomaan testattavia tarinoita.

Koko softaprojekti voidaan aloittaa kirjoittamalla sanasto ja testit kaikista tarinoista. Asiakkaalta tulee kuitenkin lisää toiveita ja niistä vaan uusia tarinoita. Ohjelman voidaan katsoa olevan valmis sitten kun kaikki testit menee läpi, eli on sellainen mitä asiakas on itse kertonut haluavansa.

Toisin sanoen, asiakkaan pitää osata kertoa mitä haluaa eikä kirjoittaa "pitäisi voida maksaa postiennakkoa".

Käyttäjän grohn kuva
Lauri Gröhn Vastaus kommenttiin #22

Tuo kuvastaa VAIN räätälöityjen järjestelmien tekoa.
Kun taas on kyse potentiaalisista innovaatioista, ei potentiaalisilta asiakkailta voida kysyä asioista joita he eivät edes tiedä TARVITSEVANSA.

Käyttäjän MattiKarnaattu kuva
Matti Karnaattu Vastaus kommenttiin #24

Toki. Niinhän se oli autoilun alkuaikoina, että ei ihmiset mitään autoa halunneet vaan nopeamman hevosen.

Tuo prosessi kyllä pätee valmisjärjestelmienkin tekoon, että kyllähän se pitäisi enste muotoilla että mitä hittoa tässä nyt oikein halutaan ja kun on testipatteria niin siitä nähdään olennaisesti miten hyvin se projekti on edennyt.

Toimituksen poiminnat

Tämän blogin suosituimmat kirjoitukset