Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Technologie industrielle

Bosque : le nouveau langage sans boucles de Microsoft pour améliorer la qualité du code

La programmation structurée et les types de données abstraits sont devenus populaires dans les années 1970, et depuis, nous les utilisons dans presque tous les langages de programmation. Ces méthodologies ont permis aux programmeurs de se concentrer sur l'intention et le comportement principal de leur code sans se soucier de l'architecture matérielle. Cela a rapidement conduit à une ère dorée des compilateurs et des environnements de développement intégrés.

Pour améliorer davantage la productivité, la qualité logicielle et permettre plusieurs nouvelles expériences de compilateurs et d'outils de développement, des ingénieurs de Microsoft ont récemment créé un nouveau langage de programmation nommé Bosque.

Bosque est conçu pour écrire du code simple et facile à raisonner, tant pour les machines que pour les humains. Il offre plusieurs façons d'éviter la « complexité accidentelle » dans le processus de codage et de développement.

Programmation régularisée

Le contrôle de flux dans un modèle de programmation structurée est géré par des conditions, des sous-routines et des boucles. Le nouveau langage de programmation, en revanche, élimine les sources de complexité comme l'état mutable, l'égalité de référence et les boucles. C'est pourquoi les développeurs ont décrit ce paradigme comme de la « programmation régularisée ».

Bosque dérive d'une combinaison de syntaxe et de typage inspirés de TypeScript, plus ML, et de sémantique inspirée de JavaScript/Node. Il prend en charge un système de types non-opinionné qui permet aux programmeurs d'utiliser différents types nominaux, structurels et de combinaison pour encoder les caractéristiques pertinentes du domaine de problème de manière flexible.

Référence : Microsoft | Going Beyond Structured Programming

Le langage n'utilise pas les boucles « while », « do while » et « for » et a une approche complètement différente pour appliquer les conditions. Mark Marron, informaticien chez Microsoft, a introduit le concept de « Foncteurs » pour remplacer les boucles structurées tout en augmentant la qualité logicielle.

Foncteurs avec transformateurs symboliques

Bosque fournit des opérations de données algébriques en vrac spécialisées et une prise en charge intégrée pour none (ou données optionnelles). Il prend également en charge le pipeline pour le traitement des collections, et if et match en tant qu'expressions.

Il y a moins besoin d'un grand ensemble de combinateurs d'instructions grâce au riche ensemble de primitives d'expression dans Bosque. Le langage fournit un assert (activé uniquement pour les builds de débogage) et check (activé pour tous les builds) en tant que fonctionnalités de première classe, en plus des pré/post-conditions et invariants de classe. De plus, il n'y a aucune construction de boucle dans Bosque.

Bosque pourrait être extrêmement utile dans les projets de développement basés sur le cloud dont les architectures dépendent des microservices, des fonctions serverless et des API RESTful. Il pourrait permettre un chargement à coût zéro pour un démarrage rapide, un traçage à surcharge ultra-faible et un runtime avec une variabilité de performance minimale.

Quelle suite ?

Ce nouveau langage est encore en phase de développement, et si vous souhaitez le tester, le code est disponible sur GitHub.

Les expériences initiales indiquent qu'il peut permettre plusieurs expériences de nouvelle génération, telles que le marshaling automatique d'API, le fuzzing amélioré, les tests symboliques et la compilation en temps réel avec support GC stable.

À lire : Les 10 règles de codage de la NASA pour écrire des programmes critiques pour la sécurité

Bosque est sujet à révision, il y a plusieurs bugs et fonctionnalités manquantes, et les performances peuvent encore être grandement améliorées. Marron et son équipe se concentreront sur des expériences d'outils de développement plus avancées, telles que la définition automatique de bornes pour l'utilisation de la mémoire dans le temps et la vérification d'applications exemptes d'erreurs d'exécution sans effort supplémentaire.

Technologie industrielle

  1. Top 10 langages de programmation cloud que tout développeur devrait maîtriser
  2. Fondamentaux de la programmation microprocesseur
  3. Boucles à Verrouillage de Phase (PLL) : Fondamentaux, Applications et Bonnes Pratiques de Conception
  4. Maîtriser les opérateurs en programmation C : Guide complet
  5. Maîtriser la programmation C : Tutoriel PDF complet pour débutants
  6. Python print sans saut de ligne : maîtriser le paramètre end et autres techniques
  7. Microsoft dévoile une percée dans l'IA conversationnelle avec un réseau neuronal multi-tâche avancé
  8. GLTR : Outil statistique fiable pour identifier les textes générés par IA
  9. Découvrez les 9 langages de programmation à apprendre absolument en 2021