Friday, September 28, 2007

misconception

Here we go again! Όταν συνήθως λέω, πάμε Αθήνα για βιβλία - τότε ως geek που σέβεται τον εαυτό του δεν μιλάω για τα κλασικ - κουλτουρέ κεντρικά βιβλιοπωλεία του κέντρου - αλλά για τον Παπασωτηρίου - στην Στουρνάρη. Τώρα τελευταία έχουν βάλει και καθίσματα-κια μιας και τα βολικά τραπεζάκια που υπήρχαν εδώ και χρόνια, έφυγαν.

Θα με βρεις πάντα, στην γωνία με τα ράφια όπου φιλοξενούν βιβλία για την μεγάλη μου αγάπη. Άλλοι αγοράζουν CD άλλοι ρούχα, εμένα μου αρέσει να αγοράζω τεχνικά βιβλία. Είναι το μόνο μαγαζί το οποίο θα κάτσω και θα κάτσω..οτιδήποτε άλλο απο gadegt είτε ρούχα- θα μπω και μέσα σε 5 λεπτά θα βγω. Μπήκα, αγόρασα, έφυγα.

Στο θέμα μας. Καθώς ξεφυλλίζω βιβλία προσπαθώντας να δω ποιο μου αρέσει και ποιο όχι δεν είναι λίγες οι φορές που θα ακους συνομιλίες απο παρέες να σχολιάζουν. Οι φοιτητές είναι αυτοί που θα σχολιάσουν έντονα. Προχθές μια παρέα απο πιτσιρικάδες κάνει βόλτες στην γωνία μου.

--Να βλέπεις εδώ..αυτό είναι για Enteprise Java
- Δεν ξέρω ρε φίλε η Java είναι αργή
--Όχι ρε δεν θυμάσαι και στο μάθημα με το jar που κάναμε διπλό κλικ - καλό ήταν!
-Άσε ρε αυτό το applet και εκείνη η εφαρμογή ήταν αργή τι μου λες για Enterprise
- Ρε συ...έχεις δει.. Java να τρέχει σε Solaris..μην το βλέπεις που στα windows ειναι αργή ...αμα την δεις σε Solaris και σε Sun μηχανήματα θα πάθεις πλάκα!
--Αλήθεια
-Ναι..άσε άλλη φάση!

Συνέχισε για λίγο η συνομιλία μάλλον πρωτοετών οι οποίοι θα είχαν κάνει τα πρώτα τους βήματα στην γλώσσα, είτε από δικό τους ενδιαφέρον είτε από την βλακεία κάποιων που δεν φρόντισαν τουλάχιστον να τους ενημερώσουν προτού τους διδάξουν για το τι πραγματικά ειναι η Java- ποια είναι τα αδύναμα και τα δυνατά της σημεία!Πήγα να απαντήσω αλλά μετά σκέφτηκα ότι δεν θα ήταν σωστό!
ΝΑΙ έχω δει Java να τρέχει σε Solaris και Sparc ..so fucking what. Ένα απο τα πιο ανεπτυγμένα VM της Sun κύριοι είναι για Windows ...

Επι εποχής 1.3 υπήρχε η εξής μη επίσημη λίστα σημαντικότητας για τα Java VM της Sun.

1. Microsoft Windows VM
2. Solaris VM
3.Linux and derivatives

Έκανες benchmark και σου ερχόταν να βάλεις τα κλάματα. Βέβαια η αλήθεια είναι ότι τα πράγματα έχουν βελτιωθεί και κάποιοι δεν ξέχασαν τελικά ότι μεγάλο ποσοστό της Enterprise Java που τρέχει στον κόσμο , παίζει πάνω από Linux!

Η Java συνεχίζει να βάλετε πολλές φορές από μερικούς εξαιτίας άγνοιας και το θεωρώ άδικο! Ίσως γιατί κάποιοι ακόμα ζουν με το misconception της αργής Java - κανείς δεν είπε ότι κάποτε δεν ήταν αρκετά αργή αλλά ας ξυπνήσουμε λίγο - οι αδαείς χρήστες windows χρησιμοποιούν μια παρόμοια τεχνολογία που ακούει στο όνομα .Net Runtime. Kαλό φτιαγμένες Swing εφαρμογές δεν έχουν τίποτα να ζηλέψουν σε feeling και responsiveness απο αντίστοιχες .Net εφαρμογές.

Έχω μια εντύπωση ότι συνεχίζουν να διδάσκουν την Java στα ελληνικά πανεπιστήμια με την τραγική για τις μέρες μας, άποψη..ΑΑΑΑΑΑΑ είναι πιο αργή από την C αλλά οκ τι να κάνουμε! Επιτέλους..σταματήστε να λέτε στους πιτσιρικάδες βλακείες!Επιτέλους και οι φοιτητές να μην μένουν μόνο σε ένα βιβλίο - the truth is out there!

επέστρεψα Java- δυναμικά!

8 comments:

  1. This comment has been removed by the author.

    ReplyDelete
  2. Ακόμα αργή είναι. Αμα την βάλεις σε γρήγορο υπολογιστή πάει γρήγορα.

    Στο ubuntu desktop που έχω στήσει σε ενα P3-550MHz/384MB πάει αργά. Στον P4, 3.1Ghz/1GB που έχω πάει γρήγορα. Και οι δύο έχουν accelarated graphics (στο Ubuntu έχω απενεργοποιήσει τα berylia και τα λοιπά γιατί δεν τα σηκώνει η μνήμη).

    Συνολικά με την προσθήκη της java και το τρέξιμο του jedit απο τα 384 ΜB μνήμης μένουν 4-5 MΒ (τρέχοντας το top) σε αντίθεση με πρό τρεξίματος του jedit που βγάζει περίπου 12-13MB μνήμης.

    Πάντως με πρίζωσες, μάλλον θα ρίξω ενα format στο linux (γιατι θέλω να διορθώσω και κάτι πραγματάκια) και θα κάνω ένα σωστό benchmark.

    ReplyDelete
  3. Papo δεν μπορώ να καταλάβω γιατί προτιμάς Παπασωτηρίου που είναι και πιο ακριβώς από ότι τον κλειδάριθμο...

    ReplyDelete
  4. Αττάκα καθηγητή μου, ο οποίος έχει γράψει και βιβλίο για την Java, τρομάρα του, όταν του είχα πει να χρησιμοποιήσουμε Swing αντι AWT!
    "Κοιτά να δείς καλό είναι να μη χρησιμοποιούμε καινούρια πράγματα αν δεν δοκιμαστούν!Εχω την εντύπωση ότι το Σουνγκ είναι κάτι πρωτότυπο και δεν θα συνεχίσει να υφίσταται..."
    Για να φτιάξεις γρήγορες και με sexy UI εφαρμογές θέλει αρκετή δουλειά αλλά σε καμία περίπτωση δεν είναι αργή.
    Απλά στα Ελληνικά Πανεπιστήμια σου μαθαίνουν ότι ειναι αργή μέσα από ηλίθια και άχρηστα παραδείγματα....

    Και σου πετάνε όλοι οι 50αρηδες που κάποια στιγμή στο διδακτορικό τους παίζαν με διάτρητες κάρτες και assembly ότι πέρα απο C όλα τ' άλλα ειναι μούφα...

    Τι να σου πει κι ο δύσμοιρος ο φοιτητής που ακούει την λέξη IDE όταν βγει στη δουλειά και νομίζει ότι η Java είναι κάτι κακό που βγάλαν κάτι μακρυμάλληδες Αμερικάνοι...
    Και που ψάχνουν βιβλία πάλι καλά να λες :)

    Τελικά τι αγόρασες?Τίποτα καλό να προτείνεις?

    ReplyDelete
  5. @ppolyzos: Καλά σε αυτό μη πολυισχυρίζεσαι. Ξέρω και άτομα που σπουδάσαν στην Αγγλία, και ισχυρίζονται οτι δεν μπορούν να δουλέψουν χωρίς oracle στη java.

    Αυτό που χρειάζεται η java περισσότερο τώρα είναι ενα Swing / Desktop App Cookbook. Υπάρχει cookbook για ejb αλλά π.χ. για το νεο Swing Framework ακόμα ψάχνεσαι. (Το είδα πρακτικά σε μια εφαρμογή swing που αναπτύσσω). Σε αυτό η M$ το έχει δεί το θέμα, τόσα χρόνια στο κουρμπέτι (VB, VC, VJ, C#, δημιούργησε το καρκίνωμα windows).

    Ξαναγράψτε το βιβλίο της JAVA τώρα! (χε χε)

    ReplyDelete
  6. Από περιέργεια απλά, τι βιβλίο αγόρασες τελικά; Τι είδες και θα ήθελες να διαβάσεις (javawise).

    ReplyDelete
  7. Για μένα είναι το κλασσικό not-my-problem paradigm in reverse. Το κωλοπρόγραμμα που πρέπει να χρησιμοποιήσω για να κάνω testing σε μια σουίτα SOAP εφαρμογών (soapUI) είναι πιο αργή από οτιδήποτε έχω δει ποτέ στη ζωή μου. Δυστυχώς τρέχει σε java και έχει αυτό το γνωστό ξεπλυμμένο look'n'feel της java
    ΘΕΛΩ INTEGRATION ΜΕ ΤΟ DESKTOP ΓΑΜΩΤΟ!
    Και ως πρώην χρήστης win, βλέπω ότι ακόμα και οι σωστά γραμμένες εφαρμογές έχουν σημαντικά μειονεκτήματα έναντι native (Azureus / μTorrent)
    Εν τέλει... η JAVA πρέπει να πεθάνει! :D

    ReplyDelete
  8. Τς τς πρέπει να είμαι ο μόνος που έχει την Java σε εκτίμηση. Δεν είναι παράλογα αργή, αλλά είναι όντως απαιτητική. Αλλά έτσι συμβαίνει με κάθε κατασκεύασμα λογισμικού που κάνει πολλά.

    Αυτό στο οποίο δε συμφωνώ είναι στο οτι κάνει για τα πάντα. Έχουμε ένα φανταστικό νέο υλικό, που λέγεται μπετό. Ας φτιάξουμε αεροπλάνα με αυτό. Δεν παίζεται όμως έτσι το παιχνίδι.

    Η Java έχει πολύ πλούσιες βιβλιοθήκες, που δημιουργήθηκαν σαν συνέπεια του οτι επιτρέπει δραματικά ταχύτερη ανάπτυξη απο κάθε άλλο περιβάλλον πριν την εποχή της. Ο πλούτος σε βιβλιοθήκες είναι ακόμη αξεπέραστος, και αγγίζει θέματα που ξεκινούν απο το UI μέχρι ενορχήστρωση WS.

    Θα διαφωνήσω για το αν συγκρίνεται η ταχύτητά της με το .net στο οποίο αναπτύσω εγώ. Το αποτέλεσμα είναι πολύ πιο responsive εδώ που είμαστε. Στο κάτω κάτω τα windows forms είναι περιτύλιγμα και επέκταση για τις παλαιότερες βιβλιοθήκες. Τα πλεονεκτήματα look and feel έρχονται δωρεάν. Επίσης το GC είναι πιο προβλέψιμο σε καθυστέρηση αφού συμβαίνει συνέχεια, και όχι όταν τελειώσει η δεσμευμένη μνήμα. Το .net όμως δεν προσπαθεί καν να τρέξει σε πολλές πλατφόρμες. Σε άμυνά της η Java έχει πολύ καλύτερη απόδοση σε αριθμητική, και (omg) τρέχει ακόμη και σε realtime περιβάλλοντα υπό τα κατάλληλα VM.

    Το θέμα δεν είναι όμως πάντα η απόδοση. Στο .net για να ξεκινήσεις θέλεις τουλάχιστον 180€ για μια άδεια Windows, ή πρέπει να φροντίσει να τρέχει σε mono το οποίο για desktop δεν παρέχει πολύ καλή εμπειρία, εκτός και αν ξαναγράψεις το presentation για gtk το βασικό toolkit του Gnome. Με τη Java απολαμβάνεις σχεδόν ομοιόμορφη πλατφόρμα με το καλημέρα, ακόμη και σε φθηνά linux deployments.

    Οι δικτυακές εφαρμογές και οι Web 2.0 ανοησίες είναι εντελώς εκτός συναγωνισμού. Δεν μπορεί να συγκριθεί η καθυστέρηση ενός ajax roundtrip με κανένα vm όσο αργό και να είναι. Τη στιγμή που το Google προσπαθεί να φτιάξει με html ένα υποβέλτιστο κατασκεύασμα office, υπάρχει το thinkfree που με μερικά applet παρέχει εμπειρία εφάμιλη ενός OpenOffice.

    ReplyDelete