Programavimas

„Microsoft“ siekia paprastumo su „Bosque“ programavimo kalba

„Microsoft“ pradėjo naują atvirojo kodo projektą, skirtą „Bosque“ programavimo kalbai plėtoti. Bosque kalbos projekto tikslas yra sukurti funkcinę programavimo kalbą, kuri išvengtų „atsitiktinio sudėtingumo“ kūrimo procese.

Dizaino tikslai, skirti „Bosque“ kalbai, yra didesnis kūrėjų produktyvumas, geresnė programinės įrangos kokybė ir naujų kompiliatorių bei įrankių patirties sudarymas. Naujoji kalba laikoma reguliaraus projektavimo eksperimentu mašininio, greito ir patikimo programinės įrangos kūrimo gyvavimo ciklo metu.

Pagrindinis tikslas yra atsitiktinio sudėtingumo pašalinimas. Manoma, kad Bosque kodas yra paprastas ir lengvai suprantamas tiek mašinoms, tiek žmonėms. Tačiau šiuo metu Bosque tebėra tobulinamas; šalininkai nerekomenduoja naudoti „Bosque“ jokiems gamybos darbams. Kūrėjai raginami eksperimentuoti.

Kai kurios „Bosque“ funkcijos ir dizaino pasirinkimas yra šie:

  • Visos vertės yra nekintamos, Bosque'ui pritaikius funkcinį modelį su nekintamais duomenimis. Suprasti kodo bloko teiginio poveikį yra paprasčiau, kai jis neturi šalutinio poveikio, teigiama „Bosque“ dokumentuose. Funkcinėms kalboms buvo naudingi supaprastinti programos kūrimai, sudėtingi įrankiai ir kompiliatorių optimizavimas, kurį įgalino šis modelis.
  • Funkcinis programavimas yra sujungtas su blokų taikymo sritimis ir {…} petnešos, leidžiančios kelis priskyrimus atnaujinamiems kintamiesiems var!.
  • Funkcijos yra pirmos klasės vertės ir tipai.
  • „Lambda“ konstruktoriai sujungia „lambda“ korpuso kodo apibrėžimą su kintamosios kopijos semantika, kad uždarytų užfiksuotus kintamuosius kuriant lambda.
  • Paprasta, neapgalvota tipo sistema leidžia naudoti įvairius struktūrinius, kombinuotus ir vardinius tipus, norint perteikti tikslą ir užkoduoti aktualias probleminės srities ypatybes.
  • Įvestos eilutės suteikia mechanizmą, leidžiantį žinomą struktūrą apie eilutės turinį pakelti į tipą žmonėms reikšmingu būdu, kurį naudoja tipo tikrintojas.
  • Parametrai gali būti sriegiuojami nuoroda argumentų perdavimas. Alternatyva daugkartinėms vertėms tai supaprastina scenarijus, kai kintamasis perduodamas metodui, kuris gali jį naudoti ir atnaujinti. Leidžiant atnaujinti parametrą, nereikalingas papildomas grąžos vertės valdymas. Ši funkcija dar neįdiegta.
  • Pateikti įvardyti argumentai, kaip ir poilsio bei sklaidos operatoriai. Jie gali atlikti duomenų manipuliavimą kaip iškvietimo ir konstruktoriaus operacijų dalį.
  • Siūloma pirmos klasės pagalba išreikšti įvairius invariantus, sveiko proto patikrinimus ir diagnostinius tvirtinimus.
  • Masinės algebrinės duomenų operacijos Boske prasideda masiniais duomenų reikšmių skaitymais ir atnaujinimais. Operatoriai sukūrė pagalbą sutelkdami kodą į bendrą tikslą ir leido kūrėjams atlikti algebrinius argumentus dėl duomenų struktūros operacijų. Teikiamos algebrinės operacijos duomenų tipams, rinkiniams, įrašams ir vardiniams tipams, taip pat operacijoms, įskaitant projekciją, daugkartinį atnaujinimą ir sujungimą.
  • Turint iteracinio apdorojimo galimybes, struktūrinės kilpos yra parduodamos aukšto lygio iteracinio apdorojimo konstrukcijoms. Pašalinus tų pačių kilpų rašymo katilą, pašalinamos klaidų klasės, įskaitant susietus skaičiavimus; tyčia aiškiai nurodoma.

„Bosque“ tampa naujausiu „Microsoft“ kalbos projektu, kuris parengė kalbas, įskaitant C #, į objektą orientuotą kalbą; F #, funkcinė kalba; ir „TypeScript“, tipinis „JavaScript“ rinkinys. Programinės įrangos milžinė sėkmingai sekėsi kurti populiarėjančias kalbas. Pavyzdžiui, C # paskutiniame „RedMonk“ kalbų reitinge užėmė penktąją, o „TypeScript“ - 12 vietą, kuri paremta „Stack Overflow“ diskusijomis ir „GitHub“ kodo naudojimu.

„GosHub“ galite rasti „Bosque“ dokumentaciją, pavyzdžius ir nuorodų įgyvendinimą. Pamokos yra darbe.

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