Microsoft’ un Yeni Programlama Dili – Bosque – Tasarım Kodlama
Genel

Microsoft’ un Yeni Programlama Dili – Bosque

Microsoft Bosque’u piyasaya sürdü – döngüsüz yeni bir programlama dili, TypeScript’ten ilham aldı.
İşte istediğiniz düzenli programlama. Bish, bash, er, Bosque.

Interview Microsoft Research , cebirsel işlemleri ve karmaşıklık yaratan zorlayıcı teknikleri kullanarak basit ve anlaşılması kolay olan Bosque adında yeni bir açık kaynaklı programlama dili tanıttı.Bosque, TypeScript’in sözdizimi ve türleri ile ML ve Node / JavaScript’in anlamlarından ilham almıştır. 1970’lerde popüler olan yapılandırılmış programlama modelinin ötesine geçme çabası olarak dili tanımlayan Microsoft bilgisayar bilimcisi Mark Marron’un beyni.

Akış kontrolünün döngüler, şartlamalar ve alt yordamlarla yönetildiği yapısal programlama paradigması, bilgisayar bilimci Edsger Dijkstra tarafından “Zarar Gören Zarar Gören İfadeye Git” başlıklı 1968 tarihli bir makalenin ardından popüler hale geldi.

Marron, döngüler, değişken durum ve referans eşitliği gibi karmaşıklık kaynaklarından kurtularak daha iyisini yapabileceğimize inanıyor. Sonuç, Marron’un yazdığı bir makalede “düzenli programlama” olarak adlandırdığı bir programlama paradigmasını temsil eden Bosque.Marron, “Bu model, mevcut programlama modellerini, büyük hata kaynaklarını ortadan kaldıran, kod anlayışını ve modifikasyonunu basitleştiren ve kod üzerinde birçok otomatik muhakeme görevini önemsiz önerilere dönüştüren basitleştirilmiş bir şekilde yapılandırılmış programlama ve soyut veri türlerinin başarısını temel alıyor.” Teknik makalesinde açıklar.

Bosque neye benziyor?

İşte JavaScript’te bir döngü için bir zorunluluğa eşdeğer bir örnek, burada // tek bir satır yorumunu gösterir.

Dil için GitHub repo çok daha fazla örnek içeriyor.

The Register ile yapılan bir e-posta röportajında, Marron referans eşitliğinin – iki değişken bellekteki aynı nesneyi gösterdiğinde – sorunlara neden olabilecek karmaşıklık türünü temsil ettiğini söyledi.

“Çok basit görünüyor, ancak semantikte [referans eşitliği] olduğunda, tanıttığı işaretçi takma ilişkisiyle birlikte sürekli düşünmelisiniz” dedi. “Takma adlandırma konusundaki favori makalelerimden biri,“ İşaretçi Analizi: Bu Sorunu Henüz Çözmedik mi? ”Başlıklı 2001’den beri. ve işte biz 2019’da işaretçi takma sorununu çözmedik.

Örnek olarak, Marron, daha önce her zaman yeni bir nesne döndüren, en iyi duruma getirmek istediğiniz, tek bir desen veya önbellekten yeni bir nesne döndürecek bir yöntemi açıklar.

“Nesnelerin kimliğe sahip olduğu bir dilde, bu programın davranışını değiştirebilir” dedi. “Ancak, nesne kimliğine izin vermeyen Bosque’ta, bu tür bir değişiklik her zaman güvenlidir.”

Başka bir örnek, çeşitli belirsiz davranış biçimleri olacağını söylüyor. “JavaScript’te, sıralama işlevinin kararlı olması gerekmez, bu nedenle V8 kararsız bir sıralama kullandı” dedi.

“Teorik olarak bu önemsiz bir şey gibi görünüyor, ancak pratikte bir geliştirici bir liste sıraladığında, kararsız olduğunu hatırlamak zorunda kaldılar ve aynı sıralama değerine sahip değerlerin olası sıralamasını dikkate almaları gerekti. 2008 yılında bir sıralama istikrar problemi ile açıldı ve geçen yıl çok fazla beğeniye kapatılmadan önce bu hatanın 1700’den fazla yorumu vardı. ”

Marron’un teknik makalesi, Bosque’un uğraşmaya çalıştığı programlama dili karmaşıklığının potansiyel kaynaklarını araştırıyor. Ancak değişken durumun ortadan kaldırılması, döngüler ve referans eşitliği büyük üçünü temsil ediyor.

“Akademik literatürde güçlü güncellemeler, döngü değişmezleri ve takma ad analizlerinin ilişkili sorunları 30’dan fazla yıldır yoğun bir şekilde üzerinde çalışılıyor ve hala büyük açık sorunlar olmaya devam ediyor” dedi. “Bu özellikleri ortadan kaldırarak ve ilgili sorunları çözme ihtiyacını kullanarak, sembolik yürütme gibi birçok şey kavramsal olarak basit görevlere indirgeniyor (ilk olarak Floyd, Hoare ve Dijkstra tarafından tanımlandığı gibi).”

Marron, Bosque’un ilk hedefinin AVX veya SSE gibi SIMD donanımını kullanmak için otomatik sıfır çabalı kod doğrulama, otomatik SemVer kontrolü ve derleme oluşturmak olduğunu söylüyor. “Biz bu noktada bunu sadece küçük örneklerle elle yaptık ama temelde pratik uygulamaların aşılmaz bir engelleri yok gibi görünüyor” dedi.

Şu anda, Marron Bosque’yi dil tasarım seçimlerini keşfetmenin ve akademik ve çevrimiçi geliştirici topluluklarıyla işbirliği yaparak doğrulayıcılar ve derleyiciler gibi otomatik geliştirici araçları oluşturmaya yardımcı olarak görüyor.

“Umut Bosque’u bu alanda çeşitli fikirler için kavramın bir kanıtı olarak kullanmaktır” dedi. “Gelecekte bu fikirleri bir şekilde üretime taşımak için çalışabiliriz.”

Halen, Bosque, bir referans uygulaması olarak Node.js üzerinde çalışan TypeScript’te yazılmış bir tercümana güvenmektedir. İleriye baktığımızda, Marron, WASM ve yerel kod için önceden derleme derlemesini uygulamaya niyetli. Önümüzdeki aylarda, çeşitli TODO maddelerini doldurmaya, hata düzeltmelerine ve dilde daha büyük programlar yazmayı destekleyecek özellikler geliştirmeye odaklanacağını söyledi.

Bu yıl, New Mexico Üniversitesi ve Colorado Boulder Üniversitesi’nden iki stajyer olduğunu, daha ileri geliştirici takım deneyimlerine odaklanacağını söyledi. zaman içinde hafıza kullanımı.

Bosque, geliştirme ekosisteminde akademik deney dışında bir yer bulursa, Marron, Bosque kodu küçük bir ayak izi halinde derlenebildiğinden, hızlı bir şekilde başlayabildiğinden ve sembolik analiz yoluyla doğrulanabildiğinden emin olabileceğinden, bunun bulut veya IoT alanında olabileceğine inanır.

Yorum bırak