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

Η νέα γλώσσα JVM ξεχωρίζει από το Scala, το Clojure

Μια άλλη γλώσσα JVM, η διάλεκτος Haskell Eta, έφτασε στη σκηνή, επικεντρώνοντας και πάλι στον λειτουργικό προγραμματισμό.

Προορίζεται για την κατασκευή επεκτάσιμων συστημάτων, η Eta είναι μια έντονα δακτυλογραφημένη λειτουργική γλώσσα. Είναι παρόμοιο με το Scala, μια γλώσσα JVM που δίνει επίσης έμφαση στον λειτουργικό προγραμματισμό και την επεκτασιμότητα, και το Clojure, μια άλλη λειτουργική γλώσσα στο JVM.

Αλλά η Eta ξεχωρίζει από αυτούς τους ανταγωνιστές επειδή είναι αμετάβλητη από προεπιλογή, χρησιμοποιεί τεμπέλης αξιολόγηση και έχει ένα πολύ ισχυρό σύστημα τύπου, δήλωσε ο ιδρυτής της Eta Rahul Muttineni, CTO στο TypeLead, το οποίο επιβλέπει τη γλώσσα. Αυτός ο συνδυασμός επιτρέπει στατικές εγγυήσεις και συνοπτικά απλά δεν είναι δυνατή στο Scala ή στο Clojure.

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

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

Το Eta είναι "τεμπέλης από προεπιλογή", που σημαίνει ότι τα δεδομένα παραμένουν σε μια μη αξιολογημένη κατάσταση έως ότου μια συνάρτηση πρέπει να δει μέσα. Αυτό επιτρέπει στους προγραμματιστές να προγραμματίζουν χωρίς να χρειάζεται να ανησυχούν για το αν έχουν κάνει περισσότερους υπολογισμούς από ό, τι απαιτείται. Οι προγραμματιστές μπορούν επίσης να γράψουν αλγόριθμους πολλαπλών παλμών με ένα μόνο πάσο. "Η τεμπελιά σάς επιτρέπει να σταματήσετε να ανησυχείτε για τη σειρά με την οποία γράφετε τις δηλώσεις σας", δήλωσε ο Muttineni. "Απλώς καθορίστε τις εξαρτήσεις δεδομένων καθορίζοντας τις εκφράσεις και τις σχέσεις τους μεταξύ τους και ο μεταγλωττιστής θα τις εκτελέσει με τη σωστή σειρά και μόνο εάν χρειάζονται οι εκφράσεις."

Τα σχέδια απαιτούν προσαρμογή του Eta με ταυτόχρονο χρόνο εκτέλεσης, διαδραστικό REPL, μεταπρογραμματισμό, μαζικό παραλληλισμό και ταυτόχρονη συναλλαγή. Αναπτύσσεται επίσης υποστήριξη για τον διαχειριστή κατασκευής Maven και μια βασική βιβλιοθήκη, μαζί με τη δημιουργία boilerplate για εισαγωγές Java Foreign Function Interface.

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