IoT og live programming i Genova
Alt innenfor programmering, for både bransjefolk og akademikere. Les mer om Programming 2019!
1.–4. april ble konferansen <Programming 2019> holdt i Genova Italia. Konferansen ble først holdt i 2017 for å kunne diskutere alt innenfor programmering, både for akademikere og bransjefolk. Alt innen programmering som tema kan virke i overkant vidt, men det gir rom for utforsking av en rekke forskjellige tema. I år sto blant annet dette på menyen:
- Live programming
- Verifisering av programvare via formelle bevis eller testing
- Programmeringspråk
- Common Lisp og dets dialekter
- Kildekode visualisering
- Software Language Engineering
- Designmønster i kildekode
- «Internet of things»
Konferansen var delt i to: To dager med workshops og to dager for selve konferansen.
Først, litt om byen
Genova i Italia er en ganske typisk Italiensk by. Skulle man ha brødmat, boller eller kake var det like enkel tilgang som om man er på jakt etter en Starbucks i New York. Det var mange gode muligheter for shopping, Spesielt for dem som er interessert i mote. Det var mye vakker arkitektur og en hel del gærne bilister.
Workshop
PX/19
«Programming Experience Workshop» var en meget interessant workshop, ikke bare på grunn av innholdet, men også på grunn av formatet. Formatet på PX/19 var slik at alle som skulle på workshopen skulle lese alle innlegg i forkant. Workshopen ble delt i deler på ca. fem minutter:
- Forfatteren skulle kort oppsummere sitt paper
- Deltakerne skulle lage et sammendrag fra paperet/presentasjonen til forfatteren
- Deltakerne skulle kommentere paperet, både positivt og negativt
- Forfatteren skulle stille spørsmål til deltakerne
I del 2 og 3 skulle forfatteren være «fly on the wall», deltakerne skulle ikke snakke direkte til forfatteren, men til alle andre i rommet. I den fjerde delen kunne forfatteren oppklare aspekter som forvirret deltakerne, stille dem spørsmål og bruke tiden som han/hun ville. Det å aktivere deltakere generelt er ikke alltid like lett, men dette formatet gjorde det mulig.
Under workshopen ble følgende tema presentert:
- Automatisk generering av Javascript unit test via aksiomer
- Kode visualisering i VR
- Live Programming
Cocodo
Cocodo, eller Compiler Coding Dojo, var en workshop holdt av Raincode Labs, verdens største uavhengige kompilator-utvikler. Raincode er interessert i kompilator-teknologi, dermed var det hovedtema i workshopen.
Utvikling av programmeringspråk via meta-programmeringspråket Rascal var en av de mer interessante workshopene i Cocodo. Den var holdt av Tijs van der Storm, som er en av hovedutviklerne av Rascal.
Storm laget et språk som tilsvarer et skjema der brukerne kunne svare på diverse spørsmål. Under kompileringen genererte Rascal en HTML-fil med den nødvendige Javascript-koden for å vise en nettside med skjemaet.
Andre temaer inkluderte «parser generation» og «dependent typing with AGDA».
ProWeb
Denne workshopen hadde et litt mer tradisjonelt format, med presentasjoner og demoer. Emnene handlet for det meste om testing av moderne web-applikasjoner. Et av forslagene for unit testing var via AI-teknikker i store web-applikasjoner.
Forutsigelse av testbrudd ved hjelp av maskinlæring og neurale nettverk og forslag om UI-reparasjoner via Computer Vision var de viktigste implementasjonene som var presentert.
Konferansen
Under selve konferansen var det en rekke varierte tema som vi ble kjent med via workshopene. Formatet på selve konferansen var for det meste halvtimes presentasjoner, med unntak av keynotene, som varte i en time.
En av keynotene under Programming 2019 var Toit, et programmeringspråk utviklet for «Internet of Things» av Lars Bak. Toit er inspirert av Python, og i likhet med Python er Toit både dynamisk typet og utviklet for være lett å bruke. Videre kjører språket meget godt på mikroprosessorer og hardware som er relativt svakt. Toit er utviklet av store industri-folk og er definert et språk man burde holde et øye med.
En annen presentasjon var av et verktøy som "miner" etter mønstre i programmering. Navnet på presentasjonen er “A Language-Parametric Toolchain for Mining Idiomatic Code Patterns” holdt av Vadim Zaytsev og Johan Fabry.
Som navnet tilsier er det et verktøy som miner etter kode som er idiomatisk til språket. For eksempel er det veldig vanlig i objektorientert programmering å definere en klasse med noen instansvariabler- og metoder. Tanken bak verktøyet er å finne kodemønster i «legacy» kode for så å kunne hjelpe i moderniseringen.
Et annet interessant paper var Clafer, et lite modelleringsspråk som kombinerer ulike struktur- og atferdsmodelleringsaspekter.
Konklusjon
Programming 2019 var en spennende konferanse med mye interessant innenfor SLE, programmeringsspråk, live programmering og programverifisering. Vi så en rekke forslag for utvikling av IoT og en rekke forslag for hvordan live programming kan gjøres bedre.