Η Java είναι μία αντικειμενοστραφής γλώσσα προγραμματισμού υψηλού επιπέδου.
Τα βασικά εργαλεία που χρειαζόμαστε για να εργαστούμε με την Java σε μια διανομή Linux είναι τα παρακάτω:
-
Επεξεργαστής κειμένου (editor)
-
Compiler για την μετάφραση του κώδικα σε κώδικα byte (bytecode)
-
Java Virtual Machine (Εικονική Μηχανή) για την εκτέλεση των προγραμμάτων που δημιουργούμε
Ως επεξεργαστή κειμένου μπορούμε να χρησιμοποιήσουμε οποιονδήποτε προτιμάμε, πχ vim, nano, gedit, κλπ. Για κονσόλα επίσης κάνει οποιαδήποτε, πχ gnome-terminal, kterm, xterm, κλπ.
Για να τρέξουμε προγράμματα γραμμένα σε Java χρειαζόμαστε το Java Runtime Enviroment (JRE).
Για να μεταγλωττίσουμε προγράμματα γραμμένα σε Java χρειαζόμαστε το Java Development Kit (JDK).
Και για τα 2 παραπάνω μπορούμε να χρησιμοποιήσουμε το OpenJDK που διατίθεται υπό GPLv2 with Classpath Exception.
public class Hello {
public static void main(String[] args) {
System.out.println("Hello, world!");
}
}
Μπορούμε να γράψουμε προγράμματα σε Java εύκολα με τον αγαπημένο μας editor όπως π.χ. το gedit ή geany ή vim.
Αφού γράψουμε το κώδικα Java τα εργαλεία του OpenJDK μας επιτρέπουν να μεταγλωττίσουμε και να τρέξουμε τα προγράμματα μας. Τα βήματα είναι τα εξής:
$ javac Hello.java # Μεταγλώττιση του κώδικα Hello.java σε bytecode
# και παραγωγή αρχείου Hello.class
$ java Hello # Εκτέλεση του κώδικα byte Hello.class
> Hello, world!
Για αυτούς που θέλουν να χρησιμοποιήσουν κάποιο IDE υπάρχουν αρκετά αξιόλογα για τη Java. Τα δύο πιο ευρέως γνωστά είναι το NetBeans και το Eclipse. Μια επίσης ενδιαφέρουσα επιλογή είναι το BlueJ.
Το NetBeans περιέχει πάρα πολλά εργαλεία ενσωματωμένα που στοχεύουν να διευκολύνουν το προγραμματιστή και να αυξήσουν την αποδοτικότητά του.
Μερικά από τα χαρακτηριστικά του NetBeans είναι αυτόματη συμπλήρωση κώδικα, άμεση διόρθωση και επισήμανση συντακτικών λαθών, refactoring κ.α.
Το NetBeans διατίθεται υπό CDDL και GPLv2 with Classpath Exception.
Μία εναλλακτική επιλογή είναι το Eclipse. Το Eclipse μοιάζει πολύ στο NetBeans
από πλευράς χαρακτηριστικών. Η μεγαλύτερη διαφορά έγκειται στην αρχιτεκτονική
ανάπτυξης των δύο αυτών project. Το Eclipse έχει δομηθεί έτσι ώστε να προσφέρει
ένα πολύ επεκτάσιμο σύστημα προσθέτων (plugins). Έχει ένα σταθερό πυρήνα, και
προσφέρει όλες τις υπηρεσίες του μέσω προσθέτων. Κατά αυτό το τρόπο, το Eclipse
δε περιορίζεται στην ανάπτυξη προγραμμάτων μόνο σε Java, αλλά μπορεί να χρησιμοποιηθεί
και για την ανάπτυξη προγραμμάτων σε άλλες γλώσσες προγραμματισμού όπως C, C++
, Ada, Perl,
PHP, Python, Ruby, κ.α.
Το Eclipse διατίθεται υπό την Eclipse Public License.
Το περιβάλλον εργασίας BlueJ έχει αναπτυχθεί για διδακτικούς σκοπούς, με στόχο να στηρίξει και να διδάξει αντικειμενοστραφείς μεθόδους ανάπτυξης λογισμικού.
Το BlueJ προσφέρει γραφικές απεικονίσεις της δομής των προγραμμάτων υπο-κατασκευή, διαδραστικές διεπαφές πάνω στα διαγράμματα για τη παραγωγή αντικειμένων, τάξεων, μεθόδων και κώδικα.
Το BlueJ διατίθεται υπό την άδεια χρήσης GPLv2.