25.11.2013

Tylsyys

Tänään luonani kävi piipahtamassa toinen vanha tuttuni, tylsyys. Tikkuisesti käynnistyneen aamun ja normityöpäivän jälkeen asunnolle palattuani tylsyys iski aika lailla välittömästi. Pesin yhden koneellisen pyykkiä ja taittelin kuivamassa olleet takaisin kaappiin, jonka jälkeen söin lautasellisen hernekeittoa (oi sitä makujen sinfoniaa). Seuraavaksi selasin uutisotsikot läpi, jonka jälkeen pyörittelin vähän peukaloita miettiessä sopivaa tekemistä. Olisi ollut katsottavana joku elokuva tai yhtä TV-sarjaa. Kumpikaan ei oikein napannut, niin katselin hieman olisiko ohjelmointipuolella mitään innostavaa tekemistä. Yksi juttu oli mitä mietiskelin jo päivällä töissä mutta lopulta sekään ei oikein napannut.

Ohjelmoinnista puheenollen, viikonloppuna ohjelmoin ties monennenko kerran yhden hommelin uuteen ympäristöön. Minulla oli jo ihan osittain toimiva systeemi valmiina, joka toimi perusytimeltään halutusti. Sen sijaan jälleen kerran kompastuskivenä tuli vastaan käyttöliittymän tekeminen ja yhdistäminen tähän malliin. Melkein projektissa kuin projektissa kaikki kaatuu aina tuohon samaan vitutusta tuottavaan vaiheeseen. Ja yhteen toiseenkin eli tietojen säilyttämiseen/varastointiin. Kun amatööriohjelmoijana en osaa/tiedä riittävästi tekniikoista, niin kaikki pitäisi opetella kantapään kautta kokeilemalla ja netistä ohjeita/vinkkejä etsimällä. Lopulta hommat kaatuu siihen yleiseen vitutukseen ja lyön rukkaset naulaan.

Tuosta se oikeastaan sai taas alkunsa koko uudelleenohjelmointihomma. Kun olen puuhastellut jonkin verran Excelillä, niin aloin sitten tarkemmin miettiä, että löytyykö sieltä tarvittavat palikat tuon ketutusta aiheuttaneen ohjelman toteuttamiseen. Ja kyllähän ne lopulta kaikki siellä olivat, vähän sivujen latausta netistä, tietojen parsimista niiltä sivuilta ja lopulta tietojen kirjoitus taulukkoon. Koodasin hommaa työpäivän verran ja sitten minulla olikin käytössä juuri sitä mitä olinkin halunnut. Eniten tuosta hommasta jäi kaivelemaan vain se, että miksen minä idiootti tajunnut tehdä sitä Excelillä jo aikaisemmin. Nyt ei tarvinnut uhrata pätkääkään aikaa turhaan koodaamiseen mm. tietojen säilyttäminen ja tulosten esittäminen (nyt tiedot pysyvät nätisti taulukoissa) sekä käyttöliittymän tekeminen ja sen asetuksien tallentaminen (nyt vain yksi nappi taulukossa). Lisäboonuksena entiseen verrattuna sain vielä yhden oivalluksen, jonka ansiosta sain vähennettyä turhia vaiheita tietojen käsittelykoodissa. Ja mikä parasta, koodi pysyy samassa matkassa tietoja sisältävän taulukon kanssa ja sitä voi tarvittaessa korjailla helposti ilman, että ohjelmasta tarvitsisi nussia uusiksi minkään valtakunnan asennuspakettia.

Näköjään taas vanha konsti oli parempi kuin pussillinen uusia. Täytyykin tulevaisuudessa aina ensin miettiä tarkasti, että voiko homman tehdä taulukkolaskentaohjelmalla ja jos voi, niin heittää "oikeat" ohjelmointikielet hevonvittuun ja tekee asiat helposti ja yksinkertaisesti.

Noh, näköjään tuli taas kirjoitettua ihan jostain muusta kuin mitä alku antoi ymmärtää mutta olkoon. Tulipahan väistettyä hieman tylsyyttä tätä kirjoitellessa.

4 kommenttia:

Noomi kirjoitti...

Hmm. En tiedä ohjelmoinnista mitään. Excelistäkin taitoni ovat aika puutteelliset. Mutta olen kuullut samankaltaisen tarinan useammasta lähteestä Excelin suhteen. Eli siis sen, että se ohjelma taipuu yllättävän moneen tarpeeseen.

Urpo Turpo kirjoitti...

Hyvin moneen asiaan tuo ohjelma käy. Käytän sitä työssäni ja vapaa-ajallakin lähes kaikkeen tietojen käpistelyyn. Huvittavaa tuossa on se, että minun käytöstä vain hyvin hyvin pieni osa on sitä, mihin se ohjelma on alunperin suunniteltu eli lukujen laskentaan.

Vaeltaja kirjoitti...

Ammattilaisnäkökulmasta noi mainitsemasi vaiheet ovat useimmiten melkeinpä triviaaleimpia osuuksia jonkin ohjelman tekemisessä (ellei sitten käytä jotain vanhaa teknologiaa kuten plain old ANSI C), ja useimmiten haasteena on lähinnä noiden toteuttamisen rutiininomaisuudesta tuleva tylsyys. Tämä pätee erityisesti juuri joihinkin omiin harrasteprojekteihin, joissa tallennuksen tai GUI:n ei yleensä tarvitse kovin kaksinen olla, koska ohjelma tulee vain omaan käyttöön (toi sun ohjelman gui kuulosti todella simppeliltä).

Tallennukseenhan kelpaa yksinkertaisimmillaan joku csv-tiedosto (jonka muuten saa suoraan auki Excelissäkin) ja vähän isommalla vaivalla joku SqlLite-kanta. Kumpikin on hyvin yksinkertainen toteuttaa modernilla kielellä tyyliin kymmenellä rivillä koodia, jos on joku simppeli taulukkodata tms. talletettavana. Samaa koodinpätkää voi sitten käyttää jatkossa varsin suoraan muaallakin, koska tällainen tallennus on useimmiten aika samanlaista puuhaa pääasiassa datan erotessa aiemmasta.

GUI:n puolella voi toki olla paljonkin työtä, jos kyseessä olisi laajempi ammattimainen ohjelmisto, mutta kuten mainittua, tollaisen simppelin pistää jollain modernilla ikkunakirjastolla pystyyn melkeenpä tyyliin wizardilla ilman kummempia koodailuja. Noiden kanssa ei yleensä puolikasta iltapuhdetta kauempaa mene.

Toki Excel on myös juuri taulukoiden kanssa käpistelyihin oiva valinta, mutta kokemuksesta tiedän, että sitä käytetään monissa yrityksissä paljon väärin. Se, että Excelillä on usein mahdollista virityksin saada aikaan ratkaisu, ei ole mikään perustelu käyttää sitä kaikessa. Kaikenlaiset ylenpalttiset makrovirittelyt yms. tuovat itselle helposti kylmät väreet pintaan (keskimäärin kauheaa alkaa jonkun toisen makroja puukottamaan). Käytännössä usein ongelmana onkin juuri osaamisen puute sekä laiskuus käyttää ja opetella mitään muita työkaluja. Kuten sanonta menee, niin jos ainoa työkalu on vasara, ovat kaikki ongelmat nauloja. :)

Hieman kummastuttaa myös kuinka ensin valitat tylsyyttä ja sitten kuitenkin pyrit välttämään 'turhaa pähkäilyä' omissa harrasteprojekteissa, joissa usein tärkein päämäärä on juuri mielekäs tekeminen sekä uuden oppiminen ja toissijaisena tulee sitten se ohjelman hyödyllisyys. Toki itsekin olen koodaillut monia varsin hyödyllisiä apuohjelmia käyttööni, mutta kyllä se harrastelu ja oppiminen usein niissä parhaimmissakin on ollut se alkuun paneva voima.

Urpo Turpo kirjoitti...

Tylsää oli siis tuolloin maanantai-iltana, jolloin kirjoittelin tuon postauksen. Ohjelmoinnin kanssa puuhastelin tuota maanantaita edeltävänä viikonloppuna, jolloin siis ei tylsää ollut, kun oli tekemistä. Tuolloin maantaina luultavasti se tylsyys olisi poistunut, jos olisin jaksanut ryhtyä ohjelmoimaan mutta kuten sanottua, se ei sillä hetkellä napannut.