18 |
9 4
2. Θεωρητικό υπόβαθρο
2.1
Η γλώσσα προγραμματισμού
Java
Η Java είναι μια γλώσσα προγραμματισμού γενικού σκοπού που βασίζεται σε
κλάσεις, αντικειμενοστρέφια και έχει σχεδιαστεί για να έχει όσο το δυνατόν λιγότερες
εξαρτήσεις. Σκοπός είναι να επιτρέπεται στους προγραμματιστές εφαρμογών να γράφουν μία
φορά κώδικα και να εκτελείται οπουδήποτε (Langley, 2002) που σημαίνει ότι ο
μεταγλωττισμένος κώδικας Java μπορεί να εκτελεστεί σε όλες τις πλατφόρμες που
υποστηρίζουν Java χωρίς την ανάγκη επαναμεταγλώττισης (Sakaiya, 1999). Οι εφαρμογές
Java μεταγλωττίζονται σε γλώσσα μηχανής και μπορούν να εκτελεστούν σε οποιαδήποτε
εικονική μηχανή Java (JVM) ανεξάρτητα από την αρχιτεκτονική του υπολογιστή. Η σύνταξη
της Java είναι παρόμοια με C και C ++, αλλά έχει λιγότερες λειτουργίες χαμηλού επιπέδου
από αυτές. Από το 2019, η Java ήταν μία από τις πιο δημοφιλείς γλώσσες προγραμματισμού
που χρησιμοποιούνται σύμφωνα με το GitHub ειδικά για εφαρμογές ιστού-διακομιστή-
πελάτη, με 9 εκατομμύρια εφαρμογές (Chan, 2019).
Η Java αναπτύχθηκε αρχικά από τον James Gosling στην Sun Microsystems (η οποία
έκτοτε εξαγοράστηκε από την Oracle) και κυκλοφόρησε το 1995 ως βασικό συστατικό της
πλατφόρμας Java της Sun Microsystems (Oracle, 2013). Οι αρχικοί μεταγλωττιστές Java και
οι εφαρμογές αναφοράς, οι εικονικές μηχανές και οι βιβλιοθήκες κλάσεων κυκλοφόρησαν
αρχικά από την Sun με ιδιόκτητες άδειες . Από τον Μάιο του 2007, σύμφωνα με τις
προδιαγραφές της Java Community Process, η Sun είχε παραιτηθεί από τις περισσότερες από
τις τεχνολογίες της Java βάσει της άδειας GNU General Public License. Εν τω μεταξύ, άλλοι
έχουν αναπτύξει εναλλακτικές εφαρμογές αυτών των τεχνολογιών της Sun, όπως το GNU
Compiler για Java (bytecode compiler), GNU Classpath (τυπικές βιβλιοθήκες) και το
IcedTea-Web (πρόγραμμα περιήγησης για μικροεφαρμογές) (Sakaiya, 1999).
Οι πιο πρόσφατες εκδόσεις είναι η Java 14, κυκλοφόρησε τον Μάρτιο του 2020 και η
Java 11, μια τρέχουσα υποστηριζόμενη μακροπρόθεσμη υποστήριξη (LTS), η οποία
κυκλοφόρησε στις 25 Σεπτεμβρίου 2018. Η Oracle κυκλοφόρησε για το παλαιό Java 8 LTS
την τελευταία δωρεάν δημόσια ενημέρωση τον Ιανουάριο του 2019 για εμπορική χρήση, ενώ
διαφορετικά θα υποστηρίζει το Java 8 με δημόσιες ενημερώσεις για προσωπική χρήση έως
τουλάχιστον τον Δεκέμβριο του 2020 (McMillan, 2013).