Ohjelmoinnista...
Frameworkit kaikkialla
Ohjelmointi on oikeastaan jo pitkään näyttänyt menevän enemmän ja enemmän sellaiseen suuntaan, että käytetään miljoonaa erilaista frameworkia ja kirjastoa. Ongelma näissä on se, etteivät ne koskaan ole hyviä siihen mitä ollaan tekemässä. Poikkeuksia saattaa muutama olla, jos ovat jotain todella pieniä ja oikeasti hyvin tehtyjä johonkin tarkkaan asiaan.
Ei ole oikein kivaa opetella jotain frameworkkia ja syntaksia viikkokausia, että saisi aikaan jotain yksinkertaista. Ihan hyvin voi tehdä omat systeemit. Turha sanoa, että skaalaus on se syy siihen. Parhaat järjestelmät ovat kaikki tyhjästä tehty ja tiettyä tarvetta varten. Sitten muut ovat alkaneet käyttää näitä järjestelmiä muihin tarkoituksiin ja homma alkaa olla yhtä järkevää kuin maitopurkin hakeminen kaupasta rekka-autolla.
Web-kehityksen sekamelska
Esimerkiksi nyt web-kehityksessä käytetään kaikenlaista kuten React, Next.js, Vue.js, Nuxt.js, Angular, Svelte, Lit, Alpine.js, Bootstrap, Materialize, Tailwind CSS ja kaikkea muuta. Lähinnä JavaScript- ja CSS-häkkyröitä, joiden kanssa lähtee äkkiä järki.
Varsinkin nyt kun tekoälyllä voi luoda nopeasti toimivia funktioita ja jopa tyylimäärittelyjä, ei ole kauheasti ideaa käyttää suuria valmiita palikoita kaikkeen mahdolliseen vain siksi, koska koulussa niin sanottiin tai se on firman käytäntö, kun ei paremmasta tiedetä.
Kaikki tämä paska loukkaa oikeita insinöörejä, jotka sen sijaan että ottaisivat mallia valmiista, keksivät ihan itse ratkaisun ja toteuttavat sen tehokkaasti. Lopputulos alistuessa tähän on se, että kaikki ohjelmistot ovat samaa surkeaa, rumaa ja hidasta skeidaa.
Abstraktiot ja ohjelmointikielet
Eivät pelkästään nämä frameworkit ole ongelma vaan myös ihan ohjelmointikielet ja niiden hienot nätit nykyaikaiset rakenteet. Kukaan ei enää tajua mitä prosessorissa tapahtuu ja miten päin for-loop on tehokkain.
Tärkeintä on, että kieli on mahdollisimman helppoa kirjoittaa ja saadaan hienoa abstraktia rakennetta, joka äkkiseltään voikin olla kaunista. Tehokasta se ei ole. Esimerkiksi olio-ohjelmointi pelkästään sen vuoksi, että "pitää olla olioita" on vammaista.
2006–2008 ajalta olevat tietokoneet pyörittivät sen ajan sovelluksia ja pelejä yhtä tehokkaasti kuin nykyään 2026 tehokkaimmat tietokoneet nykyajan softaa, koska koodi on 20–30 kertaa hitaampaa.
Joskus se kaunis ei ole parasta. Toki voi erikseen koodailla taiteellista koodia, mutta mihinkään tuotantoon ei pitäisi tietoisesti koodata paskaa ja hidasta.
Miksi kaikki on edelleen hidasta?
Ehkä ihmiset ovat jotenkin tottuneet pitkiin latausaikoihin tai siihen ettei kaikki toimi ihan heti.
Outoa miten esimerkiksi nettiyhteydet ovat 100–1000M nykyään ja silti pitää jotain kirjautumista odotella 10 sekuntia. Ei mahdu järkeen, että latenssin ollessa 10–30 ms, latausnopeuden kymmeniä megatavuja sekunnissa, prossujen kellotaajuuksien useita gigahertsejä ja muistin kymmeniä gigoja latausajat olisivat sekuntiakaan missään.
Peliohjelmoinnissa sen näkee vielä paremmin. Nykyaikaiset pelit imevät kaiken tehon ja silti pätkivät. Varmaan jokin juoni, että Nvidia saa myytyä lisää turhia näytönohjaimia ylihintaan. Eipä ihmispolot ymmärrä tekniikasta pahemmin. Mitään ei edes enää ilmeisesti yritetä optimoida vaan luotetaan tehojen riittävän.
Ihmiset eivät ymmärrä tietokoneita
Tuntuu siltä, että nämä gamerit ja muut olevinaan tietotekniikasta ymmärtävät ihmiset, jotka eivät tiedä mikä on Unix, terminal, SSH tai yhtään mikään, ajattelevat tätä kaikkea yksinkertaisesti numeroina.
Jee, 32 gigaa muistia Android-puhelimessa tai megahertsit prosessorissa tai isoja lukuja näytönohjaimen nimen perässä. Ne eivät suoraan tarkoita yhtään mitään.
Ei ymmärretä mitä tarkoittaa muistikaista tai -viive, IPC, välimuisti tai miten moniydinprosessori oikeasti toimii.
Tiedän valitettavan monta ihmistä, jotka esimerkiksi kuvittelevat tietokoneen olevan jotenkin nopeampi kun siinä on 40 gigaa muistia ja käytössä alle 10 gigaa. Ihan niin kuin 16 ei olisi silloin enemmän kuin tarpeeksi.
Internet ei ole pilvi
Täytyy vielä mainita vaikka ei aiheeseen liitykään se, että on uskomatonta miten ihmiset luulevat internetin olevan jokin ylimaailmallinen paikka, eikä ymmärretä että se oikeasti on fyysisesti olemassa.
Minusta oli parempi ennen vanhaan ottaa pari oikeaa valokuvaa oikeista asioista ja printata ne kuin tunkea 4K+ resoluutioisia kuvia ja videoita päivittäin internet täyteen.
En ole mikään erityinen viherpiiperö tai maailmanparantaja, mutta kyllä tässä sähkön hinta nousee jos kohta sähkö riittääkään.
Ohjelmoinnin opettamisesta
Ohjelmointi on hyvä harrastus mutta työksi siitä ei pian ole, jos ei halua polttaa itseään loppuun ja menettää järkeään.
Koulussa on jo pitkään opetettu mitä sattuu ja huonosti. Tehdään turhia tehtäviä ja projekteissa ei pyritä oikein saamaan mitään siistiä aikaan.
Pitäisi alkaa siitä lähtökohdasta, että nyt ratkaistaan jokin ongelma ja sitä ratkaisua oikeasti mietitään itse kunnolla.
Copypaste-koodarit eivät lopulta osaa mitään itse. Jos ei ole mistä kopioida niin tekeminen loppuu siihen.
Miten ohjelmointia oikeasti oppii?
Kaikista paras tapa oppia ohjelmoimaan on se, että koettaa tehdä kaikkea mahdollisimman outoa, hullua, tyhmää ja vaikeaa huvin vuoksi. Siten tulee vastaan outoja ongelmia ja ratkaisuja niihin.
On eri asia haluta tehdä nopeasti jotain joten kuten toimivaa tekoälyllä kuin olla aidosti kiinnostunut, ajatella itse, oppia omista virheistä ja kehittyä kun saa jotain toimimaan.
Olen sen verran vittuuntunut huonoihin sovelluksiin nykyään, että teen suuren osan kaikesta mitä tarvin ihan itse.
Tein itse ja säästin, mielenterveyttäni.
-j