Ο Simon Ritter, νέος CTO της Azul και για πολλά χρόνια Java Technology Evangelist στην Oracle, μιλάει στο netweek για τη δυναμική της Java, αλλά και για τη μεγάλη αξία που έχουν τα Voxxed Days για κάθε προγραμματιστή.

netweek: Η Java 9 βρίσκεται προ των πυλών. Τι πρέπει να περιμένουν οι developers από την επερχόμενη νέα έκδοση;

Simon Ritter: Ο βασικότερος νεωτερισμός της Java SE 9 είναι το project Jigsaw, με το οποίο η πλατφόρμα της Java, όπως και όλες οι εφαρμογές που τρέχουν πάνω σε αυτήν, αποκτούν το πολυαναμενόμενο modularity. Παρά το γεγονός ότι το JDK 9 δεν θα εισάγει δραματικές αλλαγές στη σύνταξη της γλώσσας ή νέες βιβλιοθήκες (όπως έκανε το JDK 8 με τα streams και τα Lamβda expressions), οι αλλαγές που γίνονται στον πυρήνα της πλατφόρμας πρέπει, σίγουρα, να γίνουν κατανοητές από τους προγραμματιστές, ώστε να τις έχουν κατά νου όταν θα σχεδιάσουν την αναβάθμιση των εφαρμογών τους.

Με κάποια private APIs να παραμένουν «κρυφά» και με κάποια άλλα να ενεργοποιούνται μόνο με τη χρήση παραμέτρων από την κονσόλα εντολών (command line) – όπως, για παράδειγμα, το «ξακουστό» sun.misc.Unsafe – οι προγραμματιστές χρειάζεται να ελέγξουν διεξοδικά τον κώδικά τους και τις βιβλιοθήκες τους, ώστε να είναι σίγουροι ότι οι εφαρμογές τους είναι συμβατές με το JDK 9. Μια πληθώρα νέων χαρακτηριστικών που αναμένονται με μεγάλο ενδιαφέρον, όπως το REPL για γρήγορο prototyping και μια συζήτηση για “type inference” σε τοπικές μεταβλητές, καθιστούν, σίγουρα, τη νέα έκδοση ελκυστική και «ζωντανή».

nw: Θα συνιστούσατε τη Java σε όποιους θέλουν να ξεκινήσουν να μαθαίνουν προγραμματισμό;

S. Ritter: Η απάντησή μου είναι βασικά “ναι”. Η Java χρησιμοποιείται από τα περισσότερα πανεπιστήμια ως η βασική γλώσσα εκπαίδευσης προγραμματισμού, επειδή αφενός ο κώδικάς της διαβάζεται (σχετικά) εύκολα και αφετέρου επειδή επιτρέπει στους φοιτητές να επικεντρωθούν σε βασικές αρχές αντικειμενοστραφούς και συναρτησιακού προγραμματισμού. Με προσπάθειες όπως το Devoxx4Kids ακόμα και μαθητές Λυκείου αποκτούν εμπειρία με τη Java, προγραμματίζοντας σε Raspberry Pi ή γράφοντας mods για Minecraft.

Παρόλα αυτά υπάρχουν πολλές γλώσσες προγραμματισμού που μπορούν να βοηθήσουν στο να μπει κάποιος στον κόσμο του προγραμματισμού πολύ γρήγορα. Για παράδειγμα, η “Scratch” είναι ιδανική για παιδιά και η BASIC είναι μια εξαιρετική γλώσσα για να κατανοήσει κανείς τις θεμελιώδεις αρχές του προγραμματισμού – όπως τις ροές και τις επαναλήψεις.

nw: Έχετε μιλήσει σε αρκετά Voxxed Days συνέδρια. Πώς θα τα περιγράφατε; Κουβαλάνε κάποια από τη δόξα των Devoxx;

S. Ritter: Ασφαλώς ναι! Ήμουν στο πρώτο συνέδριο Voxxed Days πέρσι τον Ιανουάριο στη Βιέννη και από την πρώτη στιγμή εντυπωσιάστηκα από την οργάνωση. Για μένα, το πιο σημαντικό είναι ότι τα συνέδρια Voxxed Days «κουβαλάνε» την πολυετή εμπειρία των διοργανωτών του Devoxx και είναι, πλέον, ξεκάθαρο ότι αυτοί οι τύποι ξέρουν πολύ καλά πώς να διοργανώνουν επιτυχημένα συνέδρια. Το να διοργανώνονται αυτά σε αίθουσες κινηματογράφου σημαίνει ότι υπάρχουν άνετες θέσεις και εξασφαλίζεται μια εξαιρετική οπτικο-ακουστική εμπειρία. Όλα τα Voxxed Days, συνέδρια στα οποία πήρα μέρος, ήταν φανταστικά ενώ θα ήθελα στο μέλλον να συμμετέχω και σε άλλα.

nw: Τι θα λέγατε στους Έλληνες προγραμματιστές που σκέφτονται να έρθουν στο συνέδριο;

S. Ritter: Ελάτε και απολαύστε εξαιρετικές συζητήσεις που θα σας βοηθήσουν να μάθετε καινούργια πράγματα. Εκμεταλλευτείτε τα διαλείμματα, ώστε να γνωρίσετε και να συζητήσετε με άλλους προγραμματιστές για το τι κάνουν και τι κάνετε εσείς. Απολαύστε το γεγονός ότι αποτελείτε «ζωντανό» κομμάτι ενός τέτοιου συνεδρίου.

* Ο Simon Ritter είναι κεντρικός ομιλητής στο συνέδριο Voxxed Days (https://voxxeddays.com/thessaloniki/) που θα λάβει χώρα στη Θεσσαλονίκη στις 21 Οκτωβρίου 2016. Ο Simon έχει μεγάλη εμπειρία στην ανάπτυξη εφαρμογών, ξεκινώντας στον τομέα ανάπτυξης λογισμικού σε UNIX για την AT&T UNIX System Labs και στη συνέχεια για τη Novell. Από το 1996 που πήγε στην Sun άρχισε να εργάζεται με τη Java και ως developer, αλλά και ως σύμβουλος εταιρειών ανάπτυξης λογισμικού. Μετά την εξαγορά της Sun από την Oracle επικεντρώθηκε στον πυρήνα της Java πλατφόρμας για client εφαρμογές. Εξακολουθεί, δε, να δημιουργεί εφαρμογές σε Java προς επίδειξη και να πειραματίζεται με τα όρια της πλατφόρμας.