Yksi ohjelmoinnin pisimpään jatkuneista jakolinjoista on staattisen ja dynaamisen tyypin välinen ero. Olen kuullut miljoona väittelyä molemmilta puolilta koko urani aikana, mutta olen nähnyt hyvin harvojen niistä koskaan vakuuttavan ketään mistään. Kuten järjeksi naamioituvat rationalisaatiot harvoin tekevät uskon asioissa. Ratsastaja oikeuttaa aina norsun tien. Se ei tarkoita, etteikö olisi ihmisiä, jotka ovat vaihtaneet leiriä. Itse asiassa tällaiset henkilöt huutavat yleensä kovimmat perustelut. Usein viehätyksellä, kuten elävä kaikkiruokainen, joka yhtäkkiä muuttuu vegaaniksi tai perinteinen pankkiiri, joka sai onnekkaan kyydin kryptolla. Mitä lyhyempi usko, sitä kirkkaampi liekki. Henkilökohtaisesti olen häpeilemättä dynaaminen kirjoittaja. Siksi rakastan Rubyä niin paljon. Se hyödyntää dynaamista kirjoittamista täysimääräisesti mahdollistaakseen runollisen syntaksin, joka tuottaa näin kaunista koodia. Minulle Ruby, jossa on eksplisiittinen, staattinen kirjoittaminen, olisi kuin salaatti jäätelölusihalla. Ne eivät vain sovi yhteen. Myönnän myös, että olen aiemmin omaksunut evankelisen näkemyksen dynaamiseen tyypitykseen. Siihen pisteeseen, että kärsin Yhden Totuuden Proposition vaivasta. He näkevät innostuksen puutteen dynaamista tyypitystä heijastavana puutteellista koulutusta, kokemusta tai ehkä jopa pätevyyttä. Oi, mikä hulluus. Kuten yrittää vakuuttaa introvertti, että hän todella pitäisi juhlista, jos vain rentoutuisi vähän. Että oikeasti on todella hauskaa olla tungoksessa huoneissa tuntikausia, huutamassa kommunikoidakseen, koska mitäs se TUNNELMA! Nykyään olen oppinut arvostamaan moninaisuuden loistoa. Ohjelmointi olisi kauhea urakka, jos kaikki olisivat sidottu samaan paradigmaan. Ihmisen luonto on liian monimuotoinen hyväksyäkseen tällaisen rajoituksen luovuudelleen. Voisitko kuvitella, jos kaikki visuaalinen taide pitäisi esittää kubismin tyyliin? Tai realismia? Vai kaikki romaanit, jotka on kirjoitettu Hemmingwayn lyhyessä, suorassa sävyssä? Mikä tylsä kaikki olisi nopeasti! Se pilaisi ohjelmoinnin taian. Tämä ainutlaatuinen taiteen ja insinööritaidon yhdistelmä. Mutta kesti hetken ennen kuin pääsin näihin johtopäätöksiin. Olen toipuva ratkaisujen kannattaja. Joten kun näen ihmisten ristittyvän epäuskoisina siitä, että kukaan, missä tahansa, voisi pitää JavaScriptistä TypeScriptin sijaan, hymyilen ja muistan ne päivät, jolloin tunnistin heidän innostuksensa peilistä. Tämä ei tarkoita, että kaikki ohjelmointilähestymistavat tiivistyisivät yhtä suuriin mutta erilaisiin ajattelutapoihin. Tällä relativismilla on rajansa. Mutta dynaaminen vs. staattinen kirjoittaminen on varmaa sen rajoissa. Samoin toimii funktionaalinen vs. olio-ohjelmointi. Näiden kahden akselien tolpat ovat vuosikymmenten aikana osoittautuneet erinomaisiksi ohjelmistoiksi (ja kamaliksi!). Nyt ihmisillä on kyky ilmaista itseään yhtä hyvin molemmista puolista. Tällainen molempikätinen luonne vaikuttaa kuitenkin harvinaiselta, kuten osoittaa kummankin osapuolen niin usein ilmaistu täydellinen epäusko, että toinen saattaisi pitää kohtuullisen kannan. En ole molempikätinen. En pidä staattisesta kirjoittamisesta, ja esineet elävöittävät mieleni silmää. Mutta olen oppinut arvostamaan sitä, että muut valaisevat luovuuttaan yhtä intensiivisesti kuin minä omani, käyttäen toiminnallisia ohjelmointirajoitteita ja selkeästi määriteltyjä tyyppejä. Niin kauan kuin minun ei koskaan tarvitse sotkea Rubyäni tyyppivihjeillä tai kirjoittaa kaikkea käyttöliittymäkoodia TypeScriptillä, voin niin iloisesti elää rinnakkain niiden kanssa, jotka rakastavat Go:ta tai eivät kestä JavaScriptiä. Vive la différence!