Erlang

Erlang
Γενικά
Ημερ. Δημιουργίας1986
Είδοςσυναρτησιακή γλώσσα προγραμματισμού, γλώσσα προγραμματισμού, λογισμικό ανοικτού κώδικα, ελεύθερο λογισμικό, δεξιότητα
Διανομή
Έκδοση27.1.2 (17 Οκτώβριος 2024)[1]
ΛειτουργικάΑνεξάρτητο πλατφόρμας
Ανάπτυξη
Υπευθ. ανάπτυξηςEricsson
Γραμμένο σεErlang
Άδεια χρήσηςΆδεια Apache, Έκδοση 2.0
Σύνδεσμοι
Επίσημος ιστότοπος
https://www.erlang.org/
Αποθετήριο κώδικα
https://github.com/erlang/otp

Η Erlang είναι γλώσσα προγραμματισμού γενικών καθηκόντων με χαρακτηριστικά ταυτοχρονισμού (concurrency) και συλλογής απορριμμάτων. Το ίδιο όνομα αναφέρεται και στο σύστημα χρόνου εκτέλεσής της (runtime system). Το υποσύνολο της Erlang που μπορεί να εκτελείται ακολουθιακά είναι μια γλώσσα συναρτησιακού προγραμματισμού, με αυστηρή αποτίμηση (strict evaluation), μοναδική ανάθεση (single assignment) και δυναμικό σύστημα τύπων (dynamic typing). Όσον αφορά τον ταυτοχρονισμό, ακολουθεί το μοντέλο Actor. Αναπτύχθηκε στην Ericsson για την υποστήριξη κατανεμημένων, ανθεκτικών σε σφάλματα εφαρμογών που να εκτελούνται σε πραγματικό χρόνο (soft-real-time) και χωρίς διακοπή. Υποστηρίζει άμεση ενημέρωση του κώδικα κατά την εκτέλεση (hot swapping), χωρίς να χρειάζεται να σταματήσει το σύστημα.[2]

Αν και στις περισσότερες γλώσσες προγραμματισμού η χρήση νημάτων (threads) θεωρείται δύσκολη και επιρρεπής σε λάθη, η Erlang παρέχει χαρακτηριστικά στο επίπεδο της ίδιας της γλώσσας για τη δημιουργία και το χειρισμό διεργασιών (processes), ώστε να διευκολύνεται η ανάπτυξη ταυτόχρονου κώδικα. Αν και όλος ο ταυτοχρονισμός είναι ρητός στην Erlang, οι διεργασίες επικοινωνούν μεταξύ τους περνώντας μηνύματα αντί μέσω κοινών μεταβλητών, χωρίς να χρειάζονται κλειδώματα (locks).

Η πρώτη έκδοση αναπτύχθηκε από το Τζο Άρμστρονγκ το 1986.[3] Η γλώσσα αρχικά ήταν ιδιόκτητο λογισμικό της Ericsson, αλλά διανεμήθηκε σαν λογισμικό ανοιχτού κώδικα το 1998.

  1. «Release 27.1.2». 17 Οκτώβριος 2024. Ανακτήθηκε στις 18 Οκτώβριος 2024. 
  2. Joe Armstrong· Bjarne Däcker· Thomas Lindgren· Håkan Millroth. «Open-source Erlang - White Paper». Αρχειοθετήθηκε από το πρωτότυπο στις 13 Ιουνίου 2006. Ανακτήθηκε στις 23 Ιανουαρίου 2008. 
  3. Joe Armstrong, "History of Erlang", in HOPL III: Proceedings of the third ACM SIGPLAN conference on History of programming languages, 2007, ISBN 978-1-59593-766-7

Developed by StudentB