Προγραμματισμός

Η Microsoft στοχεύει στην απλότητα με τη γλώσσα προγραμματισμού Bosque

Η Microsoft ξεκίνησε ένα νέο έργο ανοιχτού κώδικα για την ανάπτυξη της γλώσσας προγραμματισμού Bosque. Ο σκοπός του γλωσσικού έργου Bosque είναι να δημιουργήσει μια λειτουργική γλώσσα προγραμματισμού που αποφεύγει την «τυχαία πολυπλοκότητα» στη διαδικασία ανάπτυξης.

Οι σχεδιαστικοί στόχοι για τη γλώσσα Bosque περιλαμβάνουν βελτιωμένη παραγωγικότητα προγραμματιστή, καλύτερη ποιότητα λογισμικού και ενεργοποίηση μιας σειράς νέων μεταγλωττιστών και εμπειριών εργαλείων. Η νέα γλώσσα τοποθετείται ως πείραμα στην τακτοποιημένη σχεδίαση για έναν κύκλο ζωής ανάπτυξης λογισμικού με υποβοήθηση, γρήγορη και αξιόπιστη.

Ένας βασικός στόχος είναι η εξάλειψη της τυχαίας πολυπλοκότητας. Ο κωδικός Bosque υποτίθεται ότι είναι απλός και κατανοητός τόσο για τις μηχανές όσο και για τους ανθρώπους. Αλλά ο Bosque παραμένει σε μεγάλο βαθμό σε εξέλιξη σε αυτό το σημείο. οι υποστηρικτές δεν συνιστούν τη χρήση Bosque για οποιαδήποτε εργασία παραγωγής. Οι προγραμματιστές ενθαρρύνονται να πειραματιστούν με αυτό.

Ορισμένες δυνατότητες και επιλογές σχεδίασης που γίνονται για τη Bosque περιλαμβάνουν τα εξής:

  • Όλες οι τιμές είναι αμετάβλητες, με την Bosque να υιοθετεί ένα λειτουργικό μοντέλο με αμετάβλητα δεδομένα. Η κατανόηση του αποτελέσματος μιας δήλωσης μπλοκ κώδικα απλοποιείται όταν δεν έχει παρενέργειες, αναφέρει η τεκμηρίωση της Bosque. Οι λειτουργικές γλώσσες έχουν επωφεληθεί από απλοποιήσεις στην ανάπτυξη προγραμμάτων, εξελιγμένα εργαλεία και βελτιστοποιήσεις μεταγλωττιστών που ενεργοποιούνται από αυτό το μοντέλο.
  • Ο λειτουργικός προγραμματισμός συγχωνεύεται με πεδία μπλοκ και {…} υποστηρίζει επιτρέποντας πολλές αναθέσεις σε ανανεώσιμες μεταβλητές var!.
  • Οι συναρτήσεις είναι τιμές και τύποι πρώτης κατηγορίας.
  • Οι κατασκευαστές λάμδα συνδυάζουν τον ορισμό κώδικα για το σώμα του λάμδα με μια σημασιολογία μεταβλητού αντιγράφου για το κλείσιμο μεταβλητών στη δημιουργία λάμδα.
  • Ένα απλό σύστημα τύπου, χωρίς γνώμη, επιτρέπει τη χρήση μιας σειράς δομικών, συνδυασμών και ονομαστικών τύπων για τη μεταφορά πρόθεσης και κωδικοποίησης σχετικών χαρακτηριστικών του προβληματικού τομέα.
  • Οι δακτυλογραφημένες συμβολοσειρές παρέχουν έναν μηχανισμό για την ανύψωση της γνωστής δομής σχετικά με τα περιεχόμενα μιας συμβολοσειράς στον τύπο με τρόπο που είναι σημαντικός για τους ανθρώπους και χρησιμοποιείται από τον ελεγκτή τύπου.
  • Οι παράμετροι μπορούν να περάσουν από το νήμα αναφ το επιχείρημα περνά. Μια εναλλακτική λύση στις τιμές πολλαπλών επιστροφών, αυτό απλοποιεί τα σενάρια όπου μια μεταβλητή μεταβιβάζεται σε μια μέθοδο που μπορεί να τη χρησιμοποιήσει και να την ενημερώσει. Επιτρέποντας την ενημέρωση στην παράμετρο εξαλείφεται η επιπλέον διαχείριση αξίας επιστροφής που θα απαιτηθεί. Αυτή η δυνατότητα δεν έχει ακόμη εφαρμοστεί.
  • Παρέχονται ονομαστικά ορίσματα, όπως και οι υπόλοιποι και οι τελεστές. Αυτά μπορούν να εκτελέσουν χειρισμό δεδομένων ως μέρος επίκλησης και λειτουργιών κατασκευαστή.
  • Παρέχεται υποστήριξη πρώτης κατηγορίας για την έκφραση μιας σειράς αναλλοίωτων, ελέγχων υγιεινής και διαγνωστικών ισχυρισμών.
  • Οι λειτουργίες μαζικών αλγεβρικών δεδομένων στο Bosque ξεκινούν με μαζικές αναγνώσεις και ενημερώσεις σε τιμές δεδομένων. Οι χειριστές παρήγαγαν κώδικα εστίασης βοήθειας στη συνολική πρόθεση και επιτρέπουν στους προγραμματιστές να εκτελούν αλγεβρική συλλογιστική σε λειτουργίες δομής δεδομένων. Οι αλγεβρικές λειτουργίες παρέχονται για τύπους δεδομένων, πλειάδες, εγγραφές και ονομαστικούς τύπους, καθώς και για λειτουργίες όπως προβολή, πολλαπλή ενημέρωση και συγχώνευση.
  • Με δυνατότητα επαναληπτικής επεξεργασίας, οι δομημένοι βρόχοι ανταλλάσσονται για υψηλού επιπέδου επαναλαμβανόμενες κατασκευές επεξεργασίας. Η αφαίρεση του boilerplate για την εγγραφή των ίδιων βρόχων εξαλείφει κατηγορίες σφαλμάτων συμπεριλαμβανομένων των δεσμευμένων υπολογισμών. η πρόθεση καθίσταται σαφής η πρόθεση.

Η Bosque γίνεται το πιο πρόσφατο γλωσσικό έργο στη Microsoft, το οποίο έχει δημιουργήσει γλώσσες, συμπεριλαμβανομένης της C #, μιας αντικειμενοστραφής γλώσσας. F #, μια λειτουργική γλώσσα. και TypeScript, ένα τυπικό υπερσύνολο JavaScript. Ο γίγαντας του λογισμικού είχε έναν καλό βαθμό επιτυχίας στην ανάπτυξη γλωσσών που κερδίζουν δημοτικότητα. Το C #, για παράδειγμα, κατατάσσεται πέμπτο και TypeScript 12ο στην πιο πρόσφατη κατάταξη γλώσσας RedMonk, τα οποία βασίζονται σε συζητήσεις στο Stack Overflow και στη χρήση κώδικα στο GitHub.

Μπορείτε να βρείτε την τεκμηρίωση Bosque, παραδείγματα και μια εφαρμογή αναφοράς στο GitHub. Τα μαθήματα βρίσκονται σε εξέλιξη.

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