Programiranje

Microsoft si prizadeva za preprostost s programskim jezikom Bosque

Microsoft je začel nov odprtokodni projekt za razvoj programskega jezika Bosque. Namen projekta Bosque Language je zgraditi funkcijski programski jezik, ki se izogne ​​"nenamerni zapletenosti" v razvojnem procesu.

Cilji oblikovanja jezika Bosque vključujejo večjo produktivnost razvijalcev, boljšo kakovost programske opreme in omogočanje vrste novih prevajalnikov in izkušenj z orodji. Novi jezik je postavljen kot eksperiment v reguliranem oblikovanju za strojno podprt, hiter in zanesljiv življenjski cikel razvoja programske opreme.

Ključni cilj je odpraviti naključno zapletenost. Bosquejeva koda naj bi bila preprosta in razumljiva tako za stroje kot za ljudi. Toda Bosque je na tej točki še zelo v razvoju; zagovorniki ne priporočajo uporabe Bosqueja za kakršno koli proizvodno delo. Razvijalce spodbujamo, da z njim eksperimentirajo.

Nekatere funkcije in oblikovalske odločitve za Bosque vključujejo naslednje:

  • Vse vrednosti so nespremenljive, Bosque je sprejel funkcionalni model z nespremenljivimi podatki. Razumevanje učinka izjave blokovne kode je poenostavljeno, če nima stranskih učinkov, navaja Bosqueova dokumentacija. Funkcionalni jeziki so imeli koristi od poenostavitev razvoja programov, dovršenih orodij in optimizacij prevajalnikov, ki jih omogoča ta model.
  • Funkcionalno programiranje je združeno z obsegom blokov in {…} oklepaje, tako da dovoli več dodelitev spremenljivkam, ki jih je mogoče nadgraditi var!.
  • Funkcije so prvovrstne vrednosti in vrste.
  • Lambda konstruktorji združujejo definicijo kode za lambda telo s spremenljivo semantiko kopiranja za zapiranje zajetih spremenljivk pri ustvarjanju lambde.
  • Preprost sistem nedoumljivega tipa omogoča uporabo vrste strukturnih, kombinacijskih in imenskih tipov za posredovanje namere in kodiranje ustreznih značilnosti problemske domene.
  • Vtipkani nizi zagotavljajo mehanizem za dvigovanje znane strukture o vsebini niza v tip na način, ki je pomemben za ljudi in ga uporablja preverjevalnik tipov.
  • Parametre je mogoče navojiti ref prenašanje argumentov. Namesto vrednosti z več vrnitvami to poenostavlja scenarije, ko se spremenljivka posreduje metodi, ki jo lahko uporabi in posodobi. Dovoljenje posodobitve parametra odpravi dodatno upravljanje z vračano vrednostjo, ki bi bilo potrebno. Ta funkcija še ni izvedena.
  • Navedeni so poimenovani argumenti, kot tudi operaterji počitka in širjenja. Ti lahko izvajajo manipulacijo s podatki kot del klicev in operacij konstruktorja.
  • Na voljo je prvovrstna podpora za izražanje vrste invariant, preverjanje zdravega zdravja in diagnostične trditve.
  • Operacije množičnih algebrskih podatkov v Bosqueju se začnejo z množičnim branjem in posodobitvami podatkovnih vrednosti. Operaterji so pripravili pomoč pri osredotočanju kode na splošni namen in razvijalcem omogočili, da izvajajo algebraična sklepanja o operacijah strukture podatkov. Na voljo so algebraične operacije za podatkovne tipe, korice, zapise in nominalne tipe, pa tudi za operacije, vključno s projekcijo, večkratnim posodabljanjem in spajanjem.
  • Z možnostjo iterativne obdelave se strukturirane zanke trgujejo za iterativne konstrukcije obdelave na visoki ravni. Odstranjevanje vzorca pisanja istih zank odpravlja razrede napak, vključno z vezanimi izračuni; namera je jasna.

Bosque postane najnovejši jezikovni projekt pri Microsoftu, ki je ustvaril jezike, vključno s C #, objektno usmerjenim jezikom; F #, funkcionalen jezik; in TypeScript, tipkani nabor JavaScript. Programski gigant je bil precej uspešen pri razvijanju jezikov, ki so postali priljubljeni. C # je na primer na najnovejših jezikovnih lestvicah RedMonk, ki temeljijo na razpravah v Stack Overflow in uporabi kode v GitHubu, zasedel peto mesto in TypeScript 12. mesto.

Dokumentacijo Bosque, primere in referenčno izvedbo najdete na GitHub. Vadnice so v pripravi.

$config[zx-auto] not found$config[zx-overlay] not found