Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Industriële technologie

Bosque: Microsofts nieuwe lus-vrije taal verbetert codekwaliteit

  • Bosque-taal richt zich op het verbeteren van softwarekwaliteit en het verhogen van programmeursproductiviteit.
  • Het elimineert bronnen van complexiteit zoals veranderlijke staat, referentiegelijkheid en lussen.
  • Het is geïnspireerd op TypeScript en JavaScript programmeertalen.

Gestructureerd programmeren en Abstracte Datatypes werden in de jaren '70 populair, en sindsdien gebruiken we ze in bijna alle programmeertalen. Deze methodologieën stelden programmeurs in staat om zich te richten op de intentie en kernfunctionaliteit van hun code zonder zich zorgen te maken over hardware-architectuur. Spoedig leidde dit tot een gouden eeuw van compilers en Integrated Development Environments.

Om de productiviteit verder te verbeteren, de softwarekwaliteit te verbeteren en diverse nieuwe compilers en developer-tooling-ervaringen mogelijk te maken, hebben ingenieurs bij Microsoft onlangs een nieuwe programmeertaal genaamd Bosque bedacht.

Bosque is ontworpen om eenvoudige en gemakkelijk te redeneren code te schrijven voor zowel machines als mensen. Het biedt diverse manieren om 'accidentele complexiteit' in het coderings- en ontwikkelproces te vermijden.

Geregulariseerd Programmeren

De stroomcontrole in een gestructureerd programmeermodel wordt beheerd door voorwaarden, subroutines en lussen. De nieuwe programmeertaal aan de andere kant, elimineert bronnen van complexiteit zoals veranderlijke staat, referentiegelijkheid en lussen. Daarom hebben ontwikkelaars deze paradigma omschreven als 'geregulariseerd programmeren'.

Bosque is afgeleid van een combinatie van TypeScript-geïnspireerde syntaxis en types plus ML, en JavaScript/Node-geïnspireerde semantiek. Het ondersteunt een non-opinionated typesysteem dat programmeurs in staat stelt om verschillende nominale, structurele en combinatietypes te gebruiken om de relevante kenmerken van het probleemdomein flexibel te coderen.

Referentie: Microsoft | Moving Beyond Structured Programming

De taal gebruikt geen 'while', 'do while' en 'for' lussen en heeft een volledig andere benadering wanneer het aankomt op het toepassen van voorwaarden. Mark Marron, een computerwetenschapper bij Microsoft, introduceerde het concept van 'Functors' om gestructureerde lussen te vervangen tegelijkertijd de softwarekwaliteit te verhogen.

Functors met Symbolische Transformers

Bosque biedt gespecialiseerde bulk algebraïsche data-operaties en geïntegreerde ondersteuning voor none (of optionele data) verwerking. Het ondersteunt ook de pipeline voor collectieverwerking, en if en match als expressies.

Er is minder behoefte aan een grote set statement-combinatoren door de rijke set expressie-primitieven in Bosque. De taal biedt een assert (alleen ingeschakeld voor debug-builds) en check (ingeschakeld voor alle builds) als first-class features, naast pre-/post-condities en klasse-invarianten. Ook is er geen lusconstruct in Bosque.

Bosque kan extreem nuttig zijn in cloud-gebaseerde ontwikkelprojecten wiens architecturen afhankelijk zijn van microservices, serverless functies en RESTful API's. Het kan zero-cost laden voor snelle opstart, ultralage overhead tracing, en runtime met minimale prestatievariabiliteit mogelijk maken.

Wat Komt Er?

Deze nieuwe taal is nog in de ontwikkelfase, en als je het wilt testen, is de code beschikbaar op GitHub.

Initiële experimenten wijzen erop dat het diverse next-generation ervaringen kan mogelijk maken, zoals API auto-marshalling, verbeterde fuzzing, symbolische testing, en realtime compilatie met stabiele GC-ondersteuning.

Lees: NASA's 10 Codeerregels voor het Schrijven van Veiligheidscritische Programma's

Bosque is onderhevig aan revisie, er zijn nog diverse bugs en ontbrekende functionaliteit, en de prestaties kunnen nog veel verbeterd worden. Marron en zijn team zullen zich richten op meer geavanceerde developer-tooling-ervaringen, zoals automatisch grenzen instellen voor geheugengebruik over tijd en het verifiëren van apps vrij van runtime-fouten zonder extra inspanning.


Industriële technologie

  1. Microprocessor programmeringsfundamenten
  2. Phase‑Locked Loops (PLL's): Fundamenten, Toepassingen en Ontwerp Best Practices
  3. Microsoft onthult doorbraak in conversationele AI met geavanceerd multi-task neuraal netwerk
  4. GLTR: Betrouwbaar statistisch hulpmiddel voor het identificeren van AI-gegenereerde tekst
  5. De 9 programmeertalen die je in 2021 moet leren ontdekken
  6. Top 10 Cloudprogrammeertalen Die Elke Ontwikkelaar Moet Beheersen
  7. C Programmeeroperatoren Beheersen: Een Uitgebreide Gids
  8. C Programmeren leren: Uitgebreide PDF-tutorial voor beginners
  9. C-programmeren leren: Uitgebreide tutorial voor beginners
  10. De C-programmeertaal: Een uitgebreid overzicht
  11. Python print zonder newline: de end-parameter & andere technieken beheersen