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

Beyond Java: Γλώσσες προγραμματισμού στο JVM

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

Επιπλέον, ο χρόνος εκτέλεσης Java, ή η Java Virtual Machine (JVM), έχει γίνει ένα δικό του οικοσύστημα λογισμικού. Εκτός από την Java, πολλές άλλες γλώσσες έχουν αξιοποιήσει την Java Virtual Machine για να γίνουν ισχυρά και πολύτιμα εργαλεία ανάπτυξης λογισμικού από μόνα τους.

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

Παρακάτω περιγράφουμε μερικές από τις πιο σημαντικές γλώσσες προγραμματισμού που δημιουργήθηκαν για το JVM. Από το Kotlin και το Scala έως το Jython και το JRuby, αυτές οι γλώσσες προσφέρουν απλούστερους και ευέλικτους τρόπους για τη συμπλήρωση της Java ή ισχυρές εναλλακτικές λύσεις που έχουν σχεδιαστεί για να την αντικαταστήσουν.

Κότλιν

Δημιουργήθηκε από το JetBrains το 2010 και άνοιξε το 2012, το Kotlin είναι τόσο πιο περιεκτικό και ασφαλέστερο από το Java. Μπορείτε να σκεφτείτε τον Kotlin ως «Java, αλλά απλούστερο». Η σύνταξή του είναι λιγότερο λεκτική από την Java και συχνά μεταγλωττίζεται γρηγορότερα από τον κώδικα Java. Το Kotlin επιτρέπει επίσης λειτουργικά στυλ προγραμματισμού που δεν είναι προς το παρόν διαθέσιμα στην Java και διαθέτει ασφαλέστερους και πιο κομψούς τρόπους για τη διαχείριση μηδενικών τιμών. Οι προγραμματιστές Android επιλέγουν όλο και περισσότερο το Kotlin έναντι της Java για ανάπτυξη εφαρμογών σε αυτήν την πλατφόρμα.

Τα μελλοντικά σχέδια για το Kotlin υπερβαίνουν το JVM. Ένα έργο περιλαμβάνει τη σύνταξη του Kotlin σε μητρική μηχανή κώδικα μέσω του πλαισίου LLVM.

Για περισσότερα σχετικά με το Kotlin, δείτε την επισκόπηση του Martin Heller για τη γλώσσα.

Σκάλα

Όπως και το Kotlin, το Scala δημιουργήθηκε για να κάνει τους προγραμματιστές Java πιο παραγωγικοί. Το Scala συνδυάζει λειτουργικό και αντικειμενοστρεφή προγραμματισμό στην ίδια γλώσσα, καθιστώντας το λειτουργικό πρότυπο προσβάσιμο και χρήσιμο στους χρήστες του οικοσυστήματος Java. Επιπλέον, η σύνταξη Scala πλησιάζει πιο κοντά στην Java από το λειτουργικό εναλλακτικό Clojure, του οποίου η σύνταξη τύπου Lisp μπορεί να αποπροσανατολίζει τους άγνωστους. Ο συνδυασμός λειτουργικών και αντικειμενοστρεφών παραδειγμάτων αποτελεί μεγάλο μέρος της ελκυστικότητας της Scala.

Αυτήν τη στιγμή στο έργο είναι το Scala Native, μια παραλλαγή του Scala που τρέχει έξω από το JVM σε γυμνό μέταλλο, μέσω του LLVM. Είναι ακόμη πολύ νωρίς για να χρησιμοποιηθεί για παραγωγή.

Clojure

Ο προγραμματιστής Rich Hickey ήθελε να δημιουργήσει μια λειτουργική γλώσσα στην οικογένεια Lisp για το JVM, και δημιούργησε τον Clojure για να ξεφλουδίσει. Το Clojure έχει σκοπό να διευκολύνει την εγγραφή ταυτόχρονων εφαρμογών υψηλής απόδοσης, χρήσιμων οπουδήποτε εκτελείται η Java, αλλά επιτρέπει ένα διαφορετικό σύνολο στυλ προγραμματισμού από ό, τι υποστηρίζει παραδοσιακά η Java. Μία ιστορία επιτυχίας της σημείωσης είναι ο Puppet Server, ο οποίος μετεγκαταστάθηκε από τον Ruby στο Clojure.

Ευχάριστος

Αρχικά αναπτύχθηκε από την Pivotal, αλλά τώρα υπό την επιμέλεια του Apache Software Foundation, ο Groovy βασίζεται έντονα στην υπάρχουσα εμπειρία με την Java, προσφέροντας χαρακτηριστικά εμπνευσμένα από δυναμικές γλώσσες όπως η Python και η Ruby. Το Groovy είναι μία από τις γλώσσες που υποστηρίζονται άμεσα από τον δημοφιλή διακομιστή συνεχούς ενοποίησης της Jenkins και ένα βασικό διαδικτυακό πλαίσιο, το Grails, είναι ενσωματωμένο σε αυτόν.

Οι μελλοντικές εκδόσεις του Groovy θα περιλαμβάνουν χαρακτηριστικά σε νεότερες εκδόσεις Java και JVM, όπως η σύνταξη Java 8 lambda.

Jython και JRuby

Οι Jython και JRuby είναι υλοποιήσεις των Python και Ruby, αντίστοιχα, για το JVM. Το Jython είναι συμβατό με τον κλάδο 2.x της Python. Το JRuby είναι συμβατό με το σχετικά πρόσφατο Ruby 2.3. Και οι δύο δυναμικά μεταγλωττίζονται σε Java bytecode και μπορούν να συνεργαστούν ελεύθερα με άλλες γλώσσες JVM, ιδίως Java.

Άλλες γλώσσες JVM

  • Κεϋλάνη: Αναπτύχθηκε από την Red Hat, η Κεϋλάνη επινοήθηκε για να αντιμετωπίσει ορισμένα από τα ζητήματα της Java, όπως τη λεκτικότητα και τους δεσμούς της με μερικούς από τους υποκείμενους μηχανισμούς στο JVM. Η Κεϋλάνη μπορεί να μεταγλωττιστεί για να εκτελεστεί στο JVM, στο Dart VM ή στο Node.js.
  • Φρεζ: Μια έκδοση της λειτουργικής γλώσσας Haskell για το JVM. Ο κωδικός Frege μεταγλωττίζεται σε μια κλάση Java και λειτουργεί συνήθως με την Java, αλλά μπορεί να επωφεληθεί από την αμετάβλητη και λειτουργικά παραδείγματα σε στυλ Haskell.
  • ΕΤΑ: Μια άλλη παραλλαγή Haskell για το JVM. Το χαρακτηριστικό του πλεονέκτημα είναι ότι μπορεί να χρησιμοποιήσει πακέτα από το αποθετήριο πακέτων της Haskell, το Hackage, για μέγιστη συμβατότητα με το οικοσύστημα Haskell.
  • Χαξ: Η Haxe μεταγλωττίζεται στο JVM ως έναν από τους πολλούς πιθανούς στόχους, όπως ο ιστός, οι φορητές συσκευές και το γυμνό μέταλλο. Η σύνταξή του θυμίζει Java και μπορεί να λειτουργήσει με άλλες βιβλιοθήκες Java, εάν χρειαστεί, όταν μεταγλωττιστεί για το JVM.
  • Φαντάμ: Μια γλώσσα με εφαρμογές τόσο για το JVM όσο και για το .Net CLR, το Fantom παρέχει API που αφαιρούν τις διαφορές μεταξύ των δύο πλατφορμών. Το Fantom μπορεί επίσης να μεταγλωττιστεί σε JavaScript, και θεωρητικά μπορεί να αναπτυχθεί σε οποιονδήποτε αριθμό άλλων στόχων.
$config[zx-auto] not found$config[zx-overlay] not found