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:de nieuwe programmeertaal van Microsoft zonder lussen

  • Bosque-taal is bedoeld om de softwarekwaliteit te verbeteren en de productiviteit van programmeurs te vergroten.
  • Het verwijdert bronnen van complexiteit zoals veranderlijke toestand, referentie-gelijkheid en loops.
  • Het is geïnspireerd op de programmeertalen TypeScript en JavaScript.

Gestructureerd programmeren en abstracte gegevenstypen werden populair in de jaren 70 en sindsdien gebruiken we ze in bijna alle programmeertalen. Dankzij deze methodologieën konden programmeurs zich concentreren op de bedoeling en het kerngedrag van hun code zonder zich zorgen te maken over hardware-architectuur. Al snel leidde dit tot een gouden tijdperk van compilers en Integrated Development Environment.

Om de productiviteit verder te verhogen, de softwarekwaliteit te verbeteren en verschillende nieuwe compilers en ontwikkelaarstooling-ervaringen mogelijk te maken, hebben ingenieurs bij Microsoft onlangs een nieuwe programmeertaal bedacht met de naam Bosque.

Bosque is ontworpen om eenvoudige en begrijpelijke code te schrijven voor zowel machines als mensen. Het biedt een aantal manieren om 'toevallige complexiteit' in het coderings- en ontwikkelingsproces te voorkomen.

Gereguleerde programmering

De stroomregeling in een gestructureerd programmeermodel wordt beheerd door voorwaarden, subroutines en lussen. De nieuwe programmeertaal, aan de andere kant, ontdoet zich van bronnen van complexiteit zoals veranderlijke toestand, referentie-gelijkheid en lussen. Daarom hebben ontwikkelaars dit paradigma beschreven als 'geregulariseerd programmeren'.

Bosque is afgeleid van een combinatie van op TypeScript geïnspireerde syntaxis en type plus ML, en op JavaScript/Node geïnspireerde semantiek. Het ondersteunt een systeem van het type zonder eigen oordeel dat programmeurs in staat stelt verschillende nominale, structurele en combinatietypen te gebruiken om de relevante kenmerken van het probleemdomein flexibel te coderen.

Referentie:Microsoft | Verder gaan dan gestructureerd programmeren

De taal gebruikt geen ‘while’, ‘do while’ en ‘for’ loops en heeft een heel andere benadering als het gaat om het toepassen van voorwaarden. Mark Marron, een computerwetenschapper bij Microsoft, introduceerde het concept van 'Functors' om gestructureerde loops te vervangen en tegelijkertijd de softwarekwaliteit te verhogen.

Functoren met symbolische transformatoren

Bosque biedt gespecialiseerde bulk algebraïsche gegevensbewerkingen en geïntegreerde ondersteuning voor geen (of optionele gegevens) verwerking. Het ondersteunt ook de pijplijn voor het verwerken van collecties, en if en overeenkomen als uitdrukkingen.

Er is minder behoefte aan een grote set statement combinators vanwege de rijke set expressieprimitieven in Bosque. De taal biedt een bewering (alleen ingeschakeld voor debug-builds) en check (ingeschakeld voor alle builds) als eersteklas features, naast post/pre-condities en klasse-invarianten. Er is ook geen looping-constructie in Bosque.

Bosque kan uitermate nuttig zijn in cloudgebaseerde ontwikkelingsprojecten waarvan de architecturen afhankelijk zijn van microservices, serverloze functies en RESTful API's. Het kan laden zonder kosten mogelijk maken voor snel opstarten, ultralage overhead-tracering en runtime met minimale prestatievariabiliteit.

Wat nu?

Deze nieuwe taal bevindt zich nog in de ontwikkelingsfase en als je hem wilt testen, is de code beschikbaar op GitHub.

Uit de eerste experimenten blijkt dat het verschillende ervaringen van de volgende generatie mogelijk kan maken, zoals automatische API-marshaling, verbeterde fuzzing, symbolische tests en realtime compilatie met stabiele GC-ondersteuning.

Lees:NASA's 10 coderingsregels voor het schrijven van veiligheidskritieke programma's

Bosque is onderhevig aan revisie, er zijn verschillende bugs en ontbrekende functionaliteit, en de prestaties kunnen nog veel worden verbeterd. Marron en zijn team zullen zich richten op meer geavanceerde ervaringen met ontwikkelaarstools, zoals het automatisch instellen van grenzen voor geheugengebruik in de loop van de tijd en het verifiëren van apps zonder runtime-fouten zonder extra inspanningen.


Industriële technologie

  1. 10 coolste programmeertalen voor de cloud
  2. Microprocessor-programmering
  3. Phase-locked loops
  4. C Programmeren van operators
  5. C Programmeertaal PDF:Basishandleiding voor beginners
  6. Python New Line:afdrukken ZONDER nieuwe regel in Python
  7. Microsoft bereikt nieuwe doorbraak op het gebied van conversatie-AI
  8. GLTR:een nieuwe methode om computergegenereerde taal te detecteren
  9. 9 nieuwe programmeertalen om te leren in 2021
  10. C Zelfstudie
  11. C Taal - Overzicht