MICROSOFT ada yang baru nih, BOSQUE !!!

Bosque bahasa pemrograman Microsoft

Microsoft kini mulai meluncurkan Bahasa pemograman open source terbarunya yang bernama BOSQUE. Bahasa  Bosque berasal dari kombinasi sintaksis tipeScript dan tipe plus semantik yang terinspirasi ML dan Node / JavaScript. Dokumen ini memberikan ikhtisar tentang sintaks, operasi, dan semantik dalam bahasa Bosque dengan penekanan pada fitur.

Bahasa pemrograman Bosque dirancang untuk menulis kode yang sederhana, jelas, dan mudah digunakan Antara manusia dan mesin. Fitur utama dari bahasa ini menyediakan cara untuk menghindari kompleksitas yang tidak disengaja dalam proses pengembangan dan pengkodean. Tujuannya untuk meningkatkan produktivitas pengembang, meningkatkan kualitas perangkat lunak, dan memungkinkan berbagai kompiler baru dan pengalaman pengembang perangkat.

Proyek ini Microsoft disiapkan di sekitar gudang github berlisensi open-source (MIT). Agar lebih mudah dalam berkolaborasi antar peneliti lain dan kounitas pengembang yang lebih luas. Proyek ini menyambut kontribusi masyarakat termasuk, masalah, komentar, permintaan tarik dan penelitian berdasarkan atau meningkatkan bahasa Bosque.

Logo Microsoft in Takenologi
Logo Microsoft

Tujuan dibuatnya Bosque sendiri, menurut Microsoft, adalah untuk meningkatkan produktifitas programmer dan  software, serta memberikan pengalaman baru bagi para programmer.

Pihak Microsoft menyarankan para pengembang agar tidak menggunakan Bosque yang akan diwujudkan menjadi sebuah produk. Karena, Bosque  sendiri masih berada dalam tahap pengembangan awal.

Saat ini, di dalam Bosque , masih ditemui beberapa “bug” karena beberapa tool fungsional masih belum stabil, seperti yang sudah dijelaskan dihalaman resmi bahasa pemrograman Bosque di Github

 “we do not recommend the use of the Bosque language for any production work and instead encourage experimentation only with small/experimental side projects at this point in time. ” Pernyataan resmi repository Bosque di Github

Berikut Syntax-Syntax dalam Bahasa Pemprograman Bosque

1. Nilai dalam bahasa Bosque tidak dapat diubah

Memahami efek dari blok kode yang disederhanakan ketika itu efek samping gratis. Bahasa fungsional telah lama diuntungkan dari penyederhanaan untuk pengembangan program, perkakas canggih, dan optimisasi kompiler agresif yang dimungkinkan oleh model ini. Dari perspektif ini, pilihan alami untuk bahasa Bosque adalah mengadopsi model fungsional murni dengan data yang tidak dapat diubah.

2. Block Scoping Dalam Bosque

Variabel lokal dengan kode blok terstruktur adalah model yang sangat menarik untuk menyusun kode. Bahasa Bosque memadukan pemrograman fungsional dengan cakupan blok dan {…} kurung dengan memungkinkan beberapa penugasan untuk variabel yang dapat diupdate var!

3. Referensi Parameter Threading  Dalam Bosque

Bahasa Bosque memungkinkan pengembang untuk mengulir parameter melalui lewat argumen ref. Alternatif nilai multi-pengembalian ini menyederhanakan skenario di mana variabel (seringkali semacam lingkungan) diteruskan ke metode yang dapat menggunakan dan memperbaruinya. Mengizinkan pembaruan dalam parameter menghilangkan manajemen nilai pengembalian ekstra.

4. Type String Dalam Pemrograman Bosque

String dalam pemrograman bosque menyediakan mekanisme baru untuk mengangkat struktur yang diketahui tentang isi string ke dalam tipe dengan cara yang berarti bagi manusia dan yang dapat digunakan oleh pemeriksa tipe ()

5.  Invokasi Fleksibel Bosque

Memberikan argumen bernama bersama dengan operator lainnya dan spread. Ini dapat digunakan untuk melakukan manipulasi data yang sederhana dan kuat sebagai bagian dari doa dan operasi konstruktor ().

6. Operasi Data Aljabar Di Bosque

Operasi aljabar di Bosque dimulai dengan dukungan pembacaan massal dan pembaruan nilai data. Pertimbangkan kasus umum memiliki struct dengan 3 bidang di mana 2 di antaranya perlu diperbarui. Dalam kebanyakan bahasa ini perlu dilakukan berdasarkan lapangan-per-bidang. Namun dengan operasi data massal dimungkinkan untuk melakukan pembaruan sebagai operasi atom (tidak seperti gaya imperatif) dan tanpa secara manual mengekstraksi dan menyalin bidang (seperti dalam gaya fungsional).

7.  None Processing Di Bosque

Menangani nilai tidak ada adalah tugas yang relatif umum yang dapat mengaburkan maksud mendasar dari bagian kode dengan sarang kasus dan penanganan kondisional untuk kasus khusus. Untuk menyederhanakan jenis kode ini, Bosque menyertakan berbagai bentuk penggabungan atau operator hubungan singkat.

8. Pemrosesan Iteratif

Konsep dasar dalam bahasa pemrograman adalah konstruk iterasi dan pertanyaan kritis adalah apakah konstruk ini disediakan sebagai fungsi tingkat tinggi, seperti filter / peta / kurangi, atau apakah programmer mendapat manfaat dari fleksibilitas yang tersedia dengan iteratif, sementara atau untuk, konstruksi perulangan.

9. Rekursi

Kurangnya konstruksi perulangan eksplisit, dan adanya fungsi pemrosesan koleksi, tidak biasa dalam bahasa fungsional. Hasilnya seringkali berupa penggantian struktur loop kompleks dengan struktur rekursi kompleks. Aliran mentah yang kompleks mengaburkan maksud kode dan menghalangi analisis dan perkakas otomatis, terlepas dari apakah aliran itu loop atau rekursi.

10. Penentuan

Ketika perilaku blok kode kurang ditentukan, hasilnya adalah kode yang lebih sulit untuk dipikirkan dan lebih rentan terhadap kesalahan. Sebagai tujuan utama dari bahasa Bosque adalah untuk menghilangkan sumber kompleksitas yang tidak dibutuhkan yang mengarah pada kebingungan dan kesalahan.

11. Kesetaraan dan Representasi

Kesetaraan adalah konsep multifaset dalam pemrograman dan memastikan perilaku yang konsisten di banyak bidang yang dapat muncul dalam bahasa pemrograman modern seperti ==, .equals, Set.has, List.sort, adalah sumber bug halus. Kompleksitas ini lebih jauh memanifestasikan dirinya dalam kebutuhan untuk mempertimbangkan kemungkinan hubungan aliasing nilai, di samping data struktural mereka, untuk memahami perilaku suatu blok kode.

12 Kesalahan dan Pemeriksaan

Tujuan utama dari bahasa Bosque adalah menyederhanakan proses membangun perangkat lunak dengan keandalan tinggi. Dengan menyediakan dukungan kelas satu untuk mengekspresikan berbagai invarian, pemeriksaan kewarasan, dan pernyataan diagnostik.

13 Konstruktor dan Pabrik Atom

Untuk mengurangi jumlah kode boilerplate yang diperkenalkan oleh konstruktor, dan konstruktor yang memiliki daftar argumen panjang yang diteruskan ke super konstruktor, Bosque menggunakan konstruksi melalui inisialisasi bidang langsung untuk membangun nilai entitas (objek). Untuk banyak kegunaan, pendekatan penginisialisasi langsung sederhana ini sudah cukup dan tidak perlu untuk konstruktor kompleks yang menghitung nilai turunan sebagai bagian dari eksekusi konstruktor.

Leave a Reply

Your email address will not be published. Required fields are marked *