Microsoft jezik otvorenog koda P za IoT

Microsoftov jezik P, za asinkrono programiranje vođeno događajima i IoT (Internet of things), otvoren je.

Prilagođen ugrađenim sustavima, upravljačkim programima uređaja i distribuiranim uslugama, P je jezik specifičan za određenu domenu na koji se kompajlira i komunicira s C, koji je i sam često korišten u ugrađenim sustavima i IoT-u. "Cilj P-a je pružiti primitivima jezika sažeto i precizno hvatanje protokola koji su svojstveni komunikaciji među komponentama", rekli su Ethan Jackson i Shaz Qadeer iz Microsofta u vodiču o jeziku.

S modelom P modeliranje i programiranje spojeni su u jednu aktivnost. "Ne samo da se P program može kompajlirati u izvršni kôd, već se može i provjeriti sustavnim testiranjem," prema jezičnoj dokumentaciji na GitHubu. "P je korišten za implementaciju i provjeru snopa upravljačkih programa USB uređaja koji se isporučuje s Microsoft Windows 8 i Windows Phone."

Microsoft je P opisao kao da nudi "sigurno" programiranje vođeno događajima. U svom tutorialu Jackson i Qadeer kažu da P programi imaju računski model koji sadrži državne strojeve koji komuniciraju putem poruka, pristup koji se obično koristi u ugrađenim, umreženim i distribuiranim sustavima.

Svaki državni stroj ima ulazni red, stanja, prijelaze, obrađivače događaja i lokalno spremište za zbirku varijabli. Državni strojevi rade istodobno, sa svakim izvršavanjem petlje događaja koja iz reda reda redaje poruku iz ulaznog reda. Državni stroj također ispituje lokalnu trgovinu, šalje poruke između strojeva i može stvoriti nove strojeve. "U P, operacija slanja nije blokirajuća; poruka se jednostavno izvršava u ulazni red ciljnog stroja." Program sadrži zbirku deklaracija događaja i strojeva.

Microsoft također nudi P #, proširenje za C # koje cilja asinkrono programiranje, kao otvoreni izvor. U lipnju je Microsoft otvorio izvor Checked C, modificiranu verziju C koja dodaje novu sintaksu i tipkanje jeziku C, s namjerom da poboljša sigurnost u C.