Java Day 2014 – Χλιαρή μεν, αλλά μια αρχή

15 Μάιος, 2014

i-see-java-everywhereΤην περασμένη Τετάρτη, 07/05/2014, έγινε στο Cotsen Hall το πρώτο, μετά κάμποσα χρόνια, Java Day (δε βάζω link γιατί δεν υπάρχει link να βάλω, υπάρχει μόνο το registration). Βρίσκω την προσπάθεια καίρια και προς τη σωστή κατεύθυνση. Η Java είναι από τις ευρύτερα χρησιμοποιούμενες γλώσσες προγραμματισμού στις μέρες μας. Πιστεύω ότι είναι και μια όμορφη γλώσσα, η χρυσή τομή ανάμεσά τους. Απλά μα τυποποιημένα πράγματα, όχι pointers, ναι types κλπ. Αλλά αυτό είναι μια άλλη συζήτηση. Άλλη λέμε, όχι τώρα! Μέσα στον κυκεώνα των καινοτομιών που μας βομβαρδίζουν ο κολοσσός Oracle, που διαχειρίζεται τη Java, όφειλε ένα Java Day στην Ελλάδα.

Να το ξεκαθαρίσω όμως από την αρχή γιατί με τρώει. Η Oracle είναι ένας τεχνολογικός γίγαντας, ένα φρικαλέα μεγάλο, αργοκίνητο θηρίο, που, ΟΚ, καλά κάνει και γουστάρει να θέλει να ελέγχει και τη Java και τη MySQL και το σύμπαν ολόκληρο – όχι ότι μου αρέσει κιόλας αυτό, βέβαια – αλλά έχει ένα βασικό πρόβλημα: δεν έχει καθόλου γούστο. Από την αρχή ως το τέλος το Java Day μύριζε κορπορατίλα. Ξεκίνησε με ένα φτηνό, πέτσινο newsletter, άσχημο σαν και το ερυθρόλευκο site της. Δεν πρόκοψε να φτιάξει ένα site της προκοπής για το Java Day ούτε καν το ανέφερε πουθενά – εμφανώς – στην ιστοσελίδα της. Το πρόγραμμα εμφανίστηκε ξαφνικά, χωρίς να ανακοινωθεί ποτέ, στη σελίδα εγγραφής του event, λίγο πριν το event. Και γενικά, δεν κόπιασε ιδιαίτερα για το Java Day. Εξηγούμαι παρακάτω.

Συνολικά, έγιναν 14 παρουσιάσεις στο Java Day. Οι 3 ήταν εισαγωγικές, χαιρετούρες κλπ. Από την πλευρά της μαμάς Oracle έγιναν 3. Η μία αναφερόταν στο πόοοσο πολύυυς κόοοσμος χρησιμοποιεί Java1 και σε πόσες συσκευές είναι εγκατεστημένη και τι γαμάτοι που είμαστε κλπ. Μόνο που όλοι εκεί μέσα ήμασταν ήδη λάτρεις της Java, δε χρειαζόμασταν ανιματέρ. Άλλη μία αναφερόταν σε Java για embedded συστήματα. ‘Νταξ’, στα κομμάτια. Και μία (!) μόνο μία – δεν υπάρχει άλλη καμία – αναφερόταν στην τελευταία και πρόσφατη μεγάλη έκδοση της Java, την 8. Φάουλ.

Μην ψάχνετε, δε θα βρείτε κάποια παρουσίαση από την Oracle Ελλάδος. Όχι κάποια τεχνολογική παρουσίαση δηλαδή. Γιατί και χαιρετούρες κάνανε και το Oracle Academy για καθηγητές παρουσιάσανε και… αυτά. Δεύτερο φάουλ. Εκεί τους έσωσε κάπως η κοινότητα. Και χαίρομαι, κυρίες και κύριοι, που μου δίνεται σε αυτό το σημείο η ευκαιρία να σημειώσω ότι η ελληνική κοινότητα της Java (JHUG)2 διέπρεψε βοηθώντας σημαντικά στην όλη διοργάνωση. Ευτυχώς που ήταν εκεί αυτοί και ο Heinz Kabutz (μεγάλος μάστορας) και η Trasys (με δύο παρουσιάσεις) και είχε έτσι η ημέρα και λίγο tech/geek ενδιαφέρον.

Ακόμη, δεν έγινε καμία αναφορά στα πρόσφατα προβλήματα ασφάλειας που πλήγωσαν την κοινότητα της Java παγκοσμίως ανεπανόρθωτα και οδήγησαν μέχρι και τους browser vendors να απενεργοποιήσουν το Java plugin από τους χρήστες τους. Βούιξε το σύμπαν και ούτε μία κουβέντα. Ούτε μία λέξη ότι κάτι έγινε λάθος και ότι κάπως θα πρέπει να διορθωθεί και ότι στο μέλλον κάτι θα προσέξουμε περισσότερο. Τίποτα. Τρίτο φάουλ.

Μηδέν αναφορές στο Android. ΟΚ, η Google είναι ανταγωνιστική εταιρεία (αλήθεια, είναι;) αλλά το Android είναι ένας από τους λόγους για τους οποίους η Java διατηρείται ζωντανή και ενεργή στο χώρο των νέων developers αλλά και μετρά εκατομμύρια επιπλέον εγκαταστάσεις σε έξυπνες κινητές συσκευές. Οι δύο εταιρείες έχουν τις διαφορές τους αλλά ακόμη κι αυτό είναι κάτι για να σχολιάσεις. Καμία αναφορά όμως. Τίποτα. Και μιλάμε για το Android, ρε παιδιά. Τέταρτο φάουλ.

Και ποια είναι η στρατηγική της Oracle για τη Java, πέρα από τα νούμερα και την – σε νούμερα – αξία/διείσδυση της Java; Ποια η πολιτική; Πού θέλει να πάει τη γλώσσα η Oracle; Μην ψάχνετε, τίποτα κι εδώ. Καμία αναφορά, λες και η ημέρα ήταν για παιδάκια που προγραμματίζουν για πρώτη φορά (whoooah, look dude, lambdas dude, Oracle is awsome, dude). Πέμπτο φάουλ και αποβολή. Το ίδιο θα ήθελα να ρωτήσω και για τη MySQL. Αλλά εδώ μετά βίας μιλήσαμε για Java, τώρα για MySQL θα μιλήσουμε.

Πολλά φάουλ γενικά.

Συμπερασματικά, ήταν ένα χλιαρό event, που καλό ήταν που έγινε κι ευτυχώς που ήταν και η κοινότητα εκεί για να το σώσει. Η Oracle πρέπει να αντιληφθεί ότι ο χώρος της τεχνολογίας και οι νέοι developers διψούν για… τεχνολογία, για αλληλεπίδραση, για κώδικα, για τεχνικές. Πρέπει να μπει στη φιλοσοφία τους. Εκτός κι αν αυτοί δεν την αφορούν. Εκτός κι αν την αφορούν μόνο οι εταιρείες. Κορπορατίλα και έτσι. Αλλά οι προγραμματιστές είναι που θα γράφουν τον κώδικα εν τέλει και μάλλον σε αυτούς απευθύνεται με αυτό.

1: Αλήθεια, στα νούμερα συμπεριλαμβάνονται και οι μυριάδες αρχαίες εγκαταστάσεις Java ME των παλαιολιθικών κινητών του 2000+; Οι εγκαταστάσεις Android συμπεριλαμβάνονται; Ώπα, αυτό είναι αλλουνού! Ή όχι;

2. @Papo έχω 2-3 χιλιάδες διαφωνίες με την παρουσίασή σου, αλλά τη βρήκα ενδιαφέρουσα γιατί έπαιρνες θέση – κι ας ήταν λάθος – και είχες άποψη. Θα σου απαντήσω σύντομα (λέεεμε τώρα) αναλυτικά.

* Α, και δεν υπήρχε Wifi! Ολοήμερο tech event χωρίς Wifi, ρε φίλε, αν έχεις το θεό σου. Μιλάμε για στερητικό σύνδρομο. Μιλάμε για βαρβαρότητα. Δεν ήταν σωστό αυτό.

εκτύπωση Κατηγορίες: Java, διαδίκτυο, τεχνολογία | rss 2.0 | trackback

5 Σχόλια στο “Java Day 2014 – Χλιαρή μεν, αλλά μια αρχή”

Ο/η "javapapo" είπε:

Χε χε κανένα πρόβλημα να υποθέσω θα αναφερθείς στα περί JavaScript. Μέρος της όλης παρουσίασης ήταν να ξυπνήσει και λίγο το κοινό.

Ωραίο review by the way, είναι πολυ σωστό να λες την άποψη σου, όπως την πιστεύεις και σου δίνω respect.

15 Μάιος, 2014 στις 7:54 μμ

Ο/η "Τάκης Μπουγιούρης" είπε:

Να ξυπνήσει το κοινό, ω, ναι, 100% μαζί σου σε αυτό! Οι αντιρρήσεις αφορούν σε μεγάλο βαθμό στη Javascript αλλά και στο πώς αντιμετωπίζει η κοινότητα της Java το frontend web development γενικότερα, ειδικά σε αντίθεση με άλλες κοινότητες, όπως της PHP, όπου οι σχέσεις είναι πολύ πιο «θερμές”. Γιατί όμως να είναι έτσι; 🙁

16 Μάιος, 2014 στις 11:45 πμ

Ο/η "javapapo" είπε:

Ναι καταλαβαίνω κοίτα νομίζω ότι η σύγκρουση είναι πολύ επίπεδη. Τι θέλω να πω.

Θεωρώ ότι ανήκω στην μάζα των Java Developers που έχουν πειστεί ότι γενικά οι static languages δεν είναι και τόσο κακές, μάλλον μπορούν να επιβιώσουν μέσα στα χρόνια και η Java to κάνει. Άρα έχουμε μια πρώτη σύγκρουση από την μια …μια γλώσσα εντελώς ελεύθερη βασικά πρόχειρο γλώσσα μιας και υπάρχου πιο ‘σωστές δυναμικές γλώσσες που τους άξιζε και αξίζει καλύτερης αποδοχής, και απο την άλλη την Java μια σχεδόν O.O, statically typed γλώσσα που αλλάζει με τα χρόνια.

Σε δεύτερο επίπεδο, όπως είπα και στην παρουσίαση μου, γενικά εμείς οι Java developer ποτέ δεν είχαμε τα εργαλεία (ίσως αποτυχία γενικότερη) για να αγκαλιάσουμε το web development. Σε γενικές γραμμές το web development ήταν επίπονο και γι’ αυτό δεν το γουστάραμε τόσο ή μάλλον δεν είχαμε τα εργαλεία να πούμε ‘ωραία τι θες 1-2 φόρμες ένα μικρο site’, ΟΚ σε 1-2 μέρες το έχεις. Έπρεπε να στήσουμε, να configure- άρουμε να στο τέλος να γράψουμε 1-2 γραμμές κώδικα. Ο κόσμος έβλεπε τα framework έλεγε, έλα ρε φίλε πρέπει να γίνει επιστήμονας του Struts, του tapestry ή του JSF1 για να γράψω κάτι απλό. Εκεί σε κέρδιζε οτιδήποτε άλλο σου το έδινε αυτό. Προσωπικά πιστεύω ότι τ πράγματα τώρα έχουν αλλάξει, το JSF πχ έγινε πιο φιλικό το hosting και τα πειράματα πιο εύκολα, πχ στο Openshift ξεκινάων Jboss με JSF και γράφω κώδικα from day/minute one.Μήπως ήρθαν όλα αυτά αργά..ίσως, και το ανέφερα ..είναι και δική μου απορία.

Τέλος ήταν φανερό ότι το quick and dirty της Jαvascript δεν θα πήγαινε και πολυ χωρίς framework, το κατάλαβε και η κοινότητα, framework και προσπάθειες ξεκίνησαν, ιδιαίτερα αξιόλογες. Πχ αρκετά γενικά αν δεις πχ το angular είναι ουσιαστικά ένα JSF αλλά υλοποιημένο στην μεριά του client, binding components, special attributes κτλ κτλ. Αυτό που πάλι προσωπικά δεν πιστεύω και νομίζω ότι θα το καταλάβει κόσμος είναι ότι τα τεράστια code bases σε Javascript θα είναι ακόμα πιο δύσκολα να συντηρηθούν … Νομίζω ότι και η google το έχει καταλάβει αυτό και η προσπάθεια της Dart μιας υβριδικής γλώσσας που έχει switch ..το οποίο λέει, οκ τώρα πάμε σε statically typed mode…

Choices, choices choices…

17 Μάιος, 2014 στις 2:18 μμ

Ο/η "Τάκης Μπουγιούρης" είπε:

Για να απαντήσω στην πρώτη παράγραφό σου (πόσο κακές ή όχι μπορεί είναι οι μη statically typed languages) αλλά και στην τρίτη (η Google έφτιαξε τη Dart για να αντιμετωπίσει αυτό το πρόβλημα), σου υπενθυμίζω ότι η Google έφτιαξε και το Node.js, το οποίο έκανε τη Javascript για πρώτη φορά μια ικανή γλώσσα στον κόσμο του παραδοσιακού development (web development αλλά και παραδοσιακού software development). Και εκεί γίνεται μια πραγματική κοσμογονία αυτή τη στιγμή!

Επίσης, νομίζω ότι οι PHP developers δεν είχαν άλλα ή περισσότερα εργαλεία για να προσεγγίσουν το frontend development από ότι εμείς. Τα ίδια είχαμε. Ίσως δεν αντιμετωπίζαμε τα ίδια projects, είναι η αλήθεια. Μάθαμε την PHP ως γλώσσα για πιο ελαφριά πράγματα ενώ τη Java για enterprise εφαρμογές. Παρόλαυτά, εκείνοι ήταν και είναι πολύ πιο κοντά και στη Javascript και στην HTML+CSS. Έχω την εντύπωση ότι ο κόσμος της Java απλά σνόμπαρε για πολλά χρόνια το frontend. Κακώς.

Τώρα το ότι έχουν ξεπεταχτεί τα χίλια-μύρια frameworks στη Javascript, δε δείχνει κάτι για την ποιότητα της γλώσσας καθεαυτής. (Άλλωστε, η Javascript δεν είναι γλώσσα, είναι specification με ελάχιστα βασικά APIs.) Μήπως δεν υπάρχουν χίλια-μύρια frameworks και σε Java και σε PHP και παντού; Αν είναι κακογραμμένα θα είναι δύσκολα διαχειρίσιμα.

Και 2 εντελώς opinionated πράγματα:

1) Papo, αν είσαι τύπος που γουστάρει κώδικα σου εγγυώμαι ότι όταν μελετήσεις το prototypal inheritance model της Javascript θα το αγαπήσεις. Κι αυτό το λέει κάποιος που το 2004 ισχυριζόταν ειρωνικά ότι «η Javascript” δεν είναι γλώσσα προγραμματισμού, και καμάρωνε σα γύφτικο σκεπάρνι με τους άλλους Java developers…

2) Προσωπικά, γουστάρω ακόμα και τώρα τον απλό διαχωρισμό JSPs και Servlets. Σε φάση να γράφω όσο πιο OO κώδικα μπορώ για το business logic και με JSPs+Servlets να υλοποιώ τις επικοινωνίες και το templating. Αλλά, ναι, πρέπει να ξέρω και HTML+CSS+Javascript γιατί θέλω να παράγω ό,τι UI γουστάρω και όχι ό,τι ξερνάνε πχ τα PrimeFaces. Και guess what μου αρέσει που τα JSPs είναι κατά βάθος Java κώδικας, όπως σε κάθε PHP developer αρέσει που στα php αρχεία γράφει PHP κώδικα (αρκεί όλα να γίνονται με κάποια λογική αρχιτεκτονική).

17 Μάιος, 2014 στις 10:26 μμ

Ό,τι προαιρείσθε:

Επιτρεπτά (X)HTML tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> . Εάν προσθέσετε εξωτερικά links στο σχόλιό σας τότε αυτό δε θα εμφανιστεί στη λίστα με τα υπόλοιπα σχόλια έως ότου εγκριθεί από τον υποφαινόμενο, οπότε το νου σου!