Bahasa P sumber terbuka Microsoft untuk IoT

Bahasa P Microsoft, untuk pemrograman berbasis peristiwa asinkron dan IoT (internet of things), telah bersumber terbuka.

Ditujukan untuk sistem tertanam, driver perangkat, dan layanan terdistribusi, P adalah bahasa khusus domain yang dikompilasi dan dioperasikan dengan C, yang biasanya dimanfaatkan dalam sistem tertanam dan IoT. "Tujuan P adalah menyediakan bahasa primitif untuk secara ringkas dan tepat menangkap protokol yang melekat pada komunikasi antar komponen," kata Ethan Jackson dan Shaz Qadeer dari Microsoft, dalam sebuah tutorial tentang bahasa.

Dengan P, pemodelan dan pemrograman digabungkan menjadi satu aktivitas. "Program P tidak hanya dapat dikompilasi menjadi kode yang dapat dieksekusi, tetapi juga dapat divalidasi menggunakan pengujian sistematis," menurut dokumentasi bahasa di GitHub. "P telah digunakan untuk mengimplementasikan dan memvalidasi tumpukan driver perangkat USB yang disertakan dengan Microsoft Windows 8 dan Windows Phone."

Microsoft telah menggambarkan P sebagai menawarkan pemrograman berbasis peristiwa yang "aman". Dalam tutorial mereka, Jackson dan Qadeer mengatakan program P memiliki model komputasi yang menampilkan mesin negara yang berkomunikasi melalui pesan, pendekatan yang biasa digunakan dalam sistem tertanam, jaringan, dan terdistribusi.

Setiap mesin status memiliki antrian input, status, transisi, penanganan peristiwa, dan penyimpanan lokal mesin untuk koleksi variabel. Mesin negara berjalan secara bersamaan, dengan masing-masing menjalankan loop peristiwa yang menghapus antrian pesan dari antrian input. Mesin negara juga memeriksa penyimpanan lokal, mengirim pesan antar mesin, dan dapat membuat mesin baru. "Dalam P, operasi pengiriman tidak memblokir; pesan hanya dieksekusi ke dalam antrian input mesin target." Sebuah program menampilkan kumpulan peristiwa dan deklarasi mesin.

Microsoft juga menawarkan P #, sebuah ekstensi ke C # yang menargetkan pemrograman asinkron, sebagai open source. Dan pada bulan Juni, Microsoft open-source Checked C, versi C yang dimodifikasi yang menambahkan sintaks baru dan pengetikan ke bahasa C, dengan tujuan meningkatkan keamanan di C.