Programmering

Microsoft sikter mot enkelhet med Bosque programmeringsspråk

Microsoft har lansert et nytt open source-prosjekt for å utvikle Bosque programmeringsspråk. Formålet med Bosque-språkprosjektet er å bygge et funksjonelt programmeringsspråk som unngår ”utilsiktet kompleksitet” i utviklingsprosessen.

Designmål for Bosque-språket inkluderer forbedret utviklerproduktivitet, bedre programvarekvalitet og aktivering av en rekke nye kompilatorer og verktøyopplevelser. Det nye språket er posisjonert som et eksperiment i normalisert design for en maskinassistert, rask og pålitelig livssyklus for programvareutvikling.

Et sentralt mål er eliminering av utilsiktet kompleksitet. Bosque-kode skal være enkel og lett å forstå for både maskiner og mennesker. Men Bosque er fortsatt veldig i utvikling på dette tidspunktet; talsmenn anbefaler ikke å bruke Bosque til noe produksjonsarbeid. Utviklere oppfordres til å eksperimentere med det.

Noen funksjoner og designvalg for Bosque inkluderer følgende:

  • Alle verdier er uforanderlige, med Bosque som vedtar en funksjonell modell med uforanderlige data. Å forstå effekten av en uttalelse om kodeblokk er forenklet når den er fri for bivirkninger, sier Bosque-dokumentasjonen. Funksjonelle språk har hatt fordeler av forenklinger til programutvikling, sofistikerte verktøy og kompilatoroptimaliseringer som er aktivert av denne modellen.
  • Funksjonell programmering er smeltet sammen med blokkomfang og {…} bukseseler ved å tillate flere oppgaver til oppdaterbare variabler var!.
  • Funksjoner er førsteklasses verdier og typer.
  • Lambda-konstruktører kombinerer kodedefinisjon for lambda-kroppen med en variabel kopisemantikk for lukkede fangede variabler på lambda-opprettelse.
  • Et enkelt, ikke-meningsfylt typesystem tillater bruk av en rekke strukturelle, kombinasjons- og nominelle typer for å formidle hensikter og kode relevante funksjoner i problemdomenet.
  • Typede strenger gir en mekanisme for å løfte kjent struktur om innholdet i en streng inn i typen på en måte som er meningsfull for mennesker og brukes av typekontrollen.
  • Parametere kan tres gjennom ref argument passerer. Et alternativ til flerreturverdier, dette forenkler scenarier der en variabel sendes til en metode som kan bruke og oppdatere den. Hvis du tillater oppdateringen i parameteren, elimineres den ekstra returverdistyringen som kreves. Denne funksjonen er ikke implementert ennå.
  • Navngitte argumenter er gitt, som også hvile- og spredningsoperatører. Disse kan utføre datamanipulering som en del av påkallinger og konstruktøroperasjoner.
  • Førsteklasses støtte tilbys for å uttrykke en rekke invarianter, sunnhetskontroll og diagnostiske påstander.
  • Bulk algebraiske datoperasjoner i Bosque begynner med masselesing og oppdatering av dataverdier. Operatører produserte hjelp til å fokusere koden på den generelle hensikten og la utviklere utføre algebraisk resonnement på datastrukturoperasjoner. Algebraiske operasjoner er gitt for datatyper, tupler, poster og nominelle typer, samt for operasjoner inkludert projeksjon, multioppdatering og sammenslåing.
  • Med en iterativ prosesseringsevne, byttes strukturerte sløyfer for iterative prosesseringskonstruksjoner på høyt nivå. Hvis du fjerner kjeleplaten for å skrive de samme sløyfene, elimineres feilklasser inkludert bundne beregninger; hensikt blir gjort klar med hensikt.

Bosque blir det siste språkprosjektet hos Microsoft, som har produsert språk, inkludert C #, et objektorientert språk; F #, et funksjonelt språk; og TypeScript, et skrevet supersett av JavaScript. Programvaregiganten har hatt god suksess med å utvikle språk som blir populære. C #, for eksempel, rangert som femte og TypeScript 12. på den siste RedMonk-språkrangeringen, som er basert på diskusjoner i Stack Overflow og kodebruk i GitHub.

Du finner Bosque-dokumentasjon, eksempler og en referanseimplementering på GitHub. Opplæringsprogrammer er i ferd.