Newyorkilaisessa Cornellin yliopistossa on kehitetty työkalu, joka mahdollistaa piirikaavioiden ja luonnostelmien piirtämisen ohjelmakoodin sekaan. Työkalu sitten kääntää piirrokset koodiin sopiviksi merkinnöiksi.
Työkalu on nimeltään Notate. Sen ensimmäinen toteutus on laajennus Jupyter-muistikirjaan. Työkalu kuvattiin julkaisussa "Notational Programming for Notebook Environments: Case Study with Quantum Circuits", joka esiteltiin ACM Symposiumissa loka-marraskuun vaihteessa.
Kehitetyn käyttöliittymän avulla koodaaja voi kirjoittaa käsin ja luonnostella tietokonekoodin sisällä. Tämä on ollut haaste perinteiselle koodaukselle, joka perustuu tyypillisesti merkkipohjaiseen kirjoittamiseen.
Syväoppimismallilla toimiva käyttöliittymä yhdistää käsin kirjoitetun ja tekstillisen ohjelmointikontekstin. Käsin kirjoitetun kaavion merkinnät voivat viitata tekstikoodiin ja päinvastoin. Esimerkiksi Notate tunnistaa käsin kirjoitetut ohjelmointisymbolit, kuten "n", ja yhdistää ne sitten koneella kirjoitettuihin vastaaviin. Eräässä tapaustutkimuksessa käyttäjät piirsivät kvanttipiirikaavioita Jupyterin muistikirjan koodisolujen sisään.
ACM Symposiumissa esitellyn paperin pääkirjoittaja on informaatiotieteen alan tohtoriopiskelija Ian Arawjo. Hänen mukaansa tällainen järjestelmä olisi loistava datatieteissä. Sen avulla voisi luonnostella kaavioita, jotka toimivat yhdessä tekstikoodin kanssa.
- Työmme osoittaa, että ohjelmoinnin nykyinen infrastruktuuri todella hidastaa meitä. Ihmiset ovat valmiita tämän tyyppisiin ominaisuuksiin, mutta koodin kirjoittamiseen tarkoitettujen käyttöliittymien kehittäjien on otettava tämä huomioon ja tuettava koodin sisällä olevia kuvia ja graafisia käyttöliittymiä, Arawjo sanoo.
Hän uskoo, että koodaaminen voisi kehittyä Notaten kuvaamaan suuntaan, kun koodarit ottavat käyttöön tekoälyyn perustuvia kynäpohjaisia menetelmiä. Notaten kaltaiset työkalut avaavat meille uusia tapoja ajatella, mitä ohjelmointi on.