Μηπως το prototype ειναι outdated?

Κώδικας, πληροφορίες, ερωτήσεις και απαντήσεις σχετικές με την JavaScript.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
SunCho
Δημοσιεύσεις: 4
Εγγραφή: 14 Ιουν 2006 19:02

Μηπως το prototype ειναι outdated?

Δημοσίευση από SunCho » 20 Ιουν 2006 17:15

Πριν ενα μηνα περιπου αρχισα να διαβαζω για οτι εβρισκα στο νετ για Javascript.
Eπειδη δεν εβρισκα ακρη αποφασισα να επισκεφτω ενα γνωστο βιβλιοπωλειο στο κεντρο της Αθηνας και να αγορασω ενα βιβλιο που θα μου εξηγησει τι και πως με τη γλωσσα.Η τελευταια εκδοση του βιβλιου ειναι η4η και δεν εχει ανανεωθει απο το 2001.
Σε μια προσφατη επισκεψη παλι στο βιβλιοπωλειο κοιταξα καποια ακομη βιβλια ενα εκ των οποιων ελεγε για Javascript 2.0 και οτι ο τροπος δημιουργιας objects μεσω prototype ειναι
ο παλιος τροπος που η Javascript εκανε τα πραγματα...ελεγε επισης για class-based inheritance και class extend!!!!!
H version της Javascript στο βιβλιο που διαβαζω ειναι η 1.5 και δειχνει μονο prototype-based inheritance.
Υπαρχει η εκδοση 2.0 της Javascript και αν ναι την υποστηριζουν οι τωρινοι browsers;
Εαν οντως συμβαινει κατι τετοιο δε θα επρεπε να ειχε βγει το βιβλιο απο τα ραφια του καταστηματος;
Kατι ακομα ....στη 2.0 υπαρχουν και data types short,int,char...κ.τ.λ

Εαν καποιος γνωριζει κατι ας απαντησει.Να συνεχισω να διαβαζω η να παρω καποιο αλλο βιβλιο;

Μηπως τελικα διαβαζω κατι outdated!!!;;;;; :o

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

Μηπως το prototype ειναι outdated?

Δημοσίευση από skeftomilos » 21 Ιουν 2006 01:13

Η έκδοση 1.5 είναι αυτή που υποστηρίζουν όλοι οι σύγχρονοι browsers. Ο IE7 που θα κυκλοφορήσει οσονούπω δε θα έχει την παραμικρή αλλαγή ως προς τις δυνατότητες scripting. Έτσι κι αλλιώς κανείς δεν έχει παράπονο από τον IE για την υποστήριξη JavaScript που παρέχει, σε αντίθεση με την υποστήριξη CSS όπου εστιάζουν τις προσπάθειές τους οι δύστυχοι προγραμματιστές που αναπτύσσουν τον IE7. Ο Opera γενικά προσπαθεί να παρακολουθεί τις εξελίξεις και δεν πρωτοπορεί, π.χ. απέκτησε τελευταίος από όλους πλήρεις δυνατότητες AJAX, και ακόμα δεν υποστηρίζει design-mode (για online visual editing τύπου Dreamweaver). Ο Firefox περάσε πριν λίγο καιρό στην έκδοση 1.6 ή οποία ελάχιστες επιπλέον δυνατότητες έχει (βασικά μερικές επιπλέον μεθόδους στα arrays). Η μοναδική αξία που έχουν σήμερα είναι για όσους προγραμματίζουν XUL, γιατί όσοι γράφουν κώδικα για το world wide web πρέπει να λειτουργούν με τη λογική του μικρότερου κοινού παρονομαστή (δηλαδή του IE5). Επομένως η JS 1.5 όχι μόνο δεν είναι outdated, αλλά ίσως αντίθετα να είναι υπερβολικά προχωρημένη. Θα τολμούσα να πω ότι η 1.3 ή η 1.4 είναι εξίσου καλές επιλογές για εισαγωγή στη JavaScript, αν όχι καλύτερες.

Η JavaScript 2.0 είναι σχεδόν μία άλλη γλώσσα. Η αρίθμηση 2.0 ανήκει στην κουλτούρα Netscape, η επίσημη ονομασία είναι ECMA 4. Η Microsoft έχει υλοποιήσει αυτή τη γλώσσα για την πλατφόρμα .NET ήδη από το 2002, με το όνομα JScript.NET. Αυτή η πρωτοβουλία μάλλον έβλαψε παρά ωφέλησε τη γλώσσα γιατί η υλοποίηση αποδείχτηκε κάπως buggy και η χρήση της ως γλώσσας του .NET υπονομεύτηκε από την απουσία επιλογής «New JScript.NET Project» στο Visual Studio (μεταξύ άλλων). Ταυτόχρονα η πρώιμη υλοποίηση εμπόδισε το W3C να ανακαλέσει κάποιες σχεδιαστικές επιλογές που εκ των υστέρων θεωρήθηκαν κατά γενική ομολογία ατυχείς. Π.χ. ο ορισμός μεταβλητών σε στυλ VB/Pascal αντί για στυλ Java:

Κώδικας: Επιλογή όλων

var i : int; // Υπάρχουσα σχεδίαση
var int i;   // Αυτή που οι περισσότεροι σήμερα θα ήθελαν (me not included)
Η JavaScript 2.0 είναι καλύτερη από την JavaScript 1.5 μόνο για μεγάλα και πολύπλοκα projects της Google και της Yahoo. Για γενικό scripting η 1.5 είναι προτιμότερη γιατί επιτρέπει πλούσια λειτουργικότητα με ελάχιστο κώδικα και μικρή προσπάθεια. Όμως όταν το project μεγαλώνει αρχίζει να χάνεται η μπάλα.

Η Inheritance είναι δευτερεύον ζήτημα στη JavaScript. Prototype based ή class based μικρή σημασία έχει. Αντίθετα έχει πολύ περισσότερο ενδιαφέρον ο ρευστός χαρακτήρας της γλώσσας με τα «μαλακά» αντικείμενα και τον functional χαρακτήρα. Αν μη τι άλλο θα πρέπει να είναι μια ευχάριστη όαση για όποιον έχει φθαρεί ψυχικά από την παρατεταμένη επαφή με την αυστηρότητα της Java η της C#. Βέβαια η υπερβολική ρευστότητα μπορεί να γίνει εξίσου βαρετή αν γίνει καθημερινή ρουτίνα. :)

Ένα βιβλίο του 2001 είναι πολύ κακή επιλογή για να μάθει κάποιος JavaScript, όχι λόγω language version όσο λόγω νοοτροπίας προγραμματισμού. Αυτό που τότε ήταν cool και IN (η DHTML δηλαδή) είναι σήμερα λόγος να κυκλοφορεί κανείς με χαρτοσακούλα του μανάβη στο κεφάλι (με δύο τρύπες για να μπορεί να βλέπει). Ζητήματα εντελώς φλέγοντα σήμερα όπως unobrtusive scripting, progressive enhancement, διαχωρισμός content/presentation/behavior, και φυσικά AJAX απουσίαζαν πλήρως όχι μόνο από τα γραπτά αλλά και από τα κεφάλια ακόμα και των πιο εμπνευσμένων συγραφέων του 2001. Κατά τη γνώμη μου αν κάποιος ενδιαφέρεται σοβαρά για τη γλώσσα θα πρέπει να αποφύγει κάθε ανάγνωσμα παλαιότερο του δεύτερου εξαμήνου του 2005. Ακόμα και αν αυτό σημαίνει ότι θα πρέπει να παραγγείλει το βιβλίο του από το Amazon. Αυτή η σύσταση δεν περιλαμβάνει φυσικά τα εγχειρίδια/references της γλώσσας. Ακόμα και η reference της JS 1.3 (PDF) του 1999 εξακολουθεί να είναι χρήσιμη και επίκαιρη.
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

SunCho
Δημοσιεύσεις: 4
Εγγραφή: 14 Ιουν 2006 19:02

Μηπως το prototype ειναι outdated?

Δημοσίευση από SunCho » 22 Ιουν 2006 18:02

Σ`ευχαριστω πολυ skeftomile η απαντηση σου με βοηθησε κ με ηρεμησε ταυτοχρονα. :D

Εχω χασει λιγο τη μπαλα ειναι η αληθεια γιατι οταν αρχιζα javascript δεν ηξερα οτι για να
δημιουργησω μια καλη σελιδα επρεπε να ξερω HTML,CSS,XML,DOM,BOM για τον καθε browser
και οταν τα μαθεις ο καταλογος συνεχιζει με XPCOM,XUL.............και ενας θεος ξερει τι αλλο.

Δεν ξερω αν χρειαζονται ολα και μιας και το εφερε η συζητηση ....κατα τι γνωμη σου τι χρειαζεται σημερα να γνωριζει ενας εστω αρχαριος web-developer για να δημιουργησει εφαρμογες (σελιδες κατα κυριο λογο) με δυναμικο περιεχομενο και ευκολια για το χρηστη στο νετ;(δεν εννοω δυο κουμπακια κι ενα λινκ αλλα κατι καλοδουλεμενο που να φαινεται οτι ειναι επι εποχης firefox και οχι mosaic) :D

Οπως καταλαβαινεις μου εχουν πεσει πολλα μαζι και μας πιασανε κι οι ζεστες!!!! :pint:

Edit:Εννοειτε πως η ερωτηση απευθυνεται και σε ολους οσους εχουν γνωση επι το θεματος....φειλ φρη του ποστ :wink:

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

Μηπως το prototype ειναι outdated?

Δημοσίευση από skeftomilos » 22 Ιουν 2006 22:56

Να σου πω τη δική μου ιστορία. Πριν δύο χρόνια ήμουν ένας προγραμματιστής VB που δεν είχε ιδέα από διαδίκτυο, και αποφάσισε πως είχε έρθει ο καιρός να μάθει. Από τα λίγα που είχα ακούσει συμπέραινα πώς για να μπορώ να ονομαστώ web-developer θα έπρεπε να ξέρω ASP, και ξεκίνησα να μαθαίνω ASP. Λίγα λεπτά αργότερα ήταν φανερό πώς δεν είχα καμιά ελπίδα να καταλάβω οτιδήποτε αν πρώτα δε μάθαινα HTML, και έμαθα HTML. Δύο μήνες μετά ξανακάθισα να συνεχίσω την ASP εκεί που την είχα αφήσει, και λίγες ώρες αργότερα ήταν και πάλι φανερό ότι δεν επρόκειτο να φτιάξω τίποτα άξιο λόγου χωρίς γνώση JavaScript. Κι ενώ αρχικά υπολόγιζα να ξεμπερδέψω με τη JavaScript σε μία εβδομάδα, τελικά βρήκα πολύ ενδιαφέρον σε αυτή την τεχνολογία και ασχολήθηκα μαζί της εντατικά επί 4-5 μήνες. Μετά το πέμπτο βιβλίο είχα πλέον την αίσθηση - αν όχι τη βεβαιότητα - πώς επρόκειτο για ένα χρυσωρυχείο που παρέμενε εν πολλοίς ανεκμετάλλευτο. Η εξίσωση JavaScript = form validation + rollovers δε μπορεί να ήταν ευσταθής.

Τέλος πάντων ήρθε η ώρα που κάθισα να ξανα-ματα-ξεκινήσω την ASP, και λίγες ώρες αργότερα ήταν φανερό πως χωρίς γνώση του τι εστί web-server δεν επρόκειτο να καταφέρω τίποτα. Και αφιέρωσα άλλο ένα μήνα να μάθω τον IIS. Στο τέλος του εγχειριδίου υπήρχε τμήμα με πλήρες reference της ASP, που τότε πλέον μπορούσα να την κατανοήσω με άνεση. Έχοντας αποκτήσει γερές βάσεις δε δυσκολεύτηκα αργότερα να μάθω CSS, JScript, ASP.NET, και γενικά να συνεχίζω να μαθαίνω όποια τεχνολογία φαίνεται να έχει ενδιαφέρον. Εκ των υστέρων μπορώ να πω πως κακώς άφησα τα CSS για το τέλος, έπρεπε να είχα ασχοληθεί μαζί τους νωρίτερα. :-)
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

SunCho
Δημοσιεύσεις: 4
Εγγραφή: 14 Ιουν 2006 19:02

Μηπως το prototype ειναι outdated?

Δημοσίευση από SunCho » 24 Ιουν 2006 08:10

Σ`ευχαριστω πολυ για τις διαφωτιστικοτατες ομολογουμενως πληροφοριες skeftomile.
Ηταν αυτο ακριβως που ηθελα...ενα μονοπατι εκμαθησης το οποιο με γλιτωνει απο ασκοπες ωρες διαβασματος.
Εαν ο χρονος ειναι χρημα τοτε σου χρωσταω....πολλα . :D
Θελω επισης να σου δωσω συγχαρητηρια για τα αρθρα σου και για το ενδιαφερον που δειχνεις στις αποριες ολων μας....να εχεις ενα senior developer να απαντα στις ερωτησεις σου ειναι ενα προνομιο που εχουν ελαχιστοι χομπιστες προγραμματιστες σαν κι εμενα.

To follow the path:
look to the master,
follow the master,
walk with the master,
see through the master,
become the master.

:respect:

Άβαταρ μέλους
cordis
Administrator, [F|H]ounder, [C|S]EO
Δημοσιεύσεις: 27616
Εγγραφή: 09 Οκτ 1999 03:00
Τοποθεσία: Greece
Επικοινωνία:

Μηπως το prototype ειναι outdated?

Δημοσίευση από cordis » 24 Ιουν 2006 15:19

είναι κορυφή.. ;)
Δεν απαντάω σε προσωπικά μηνύματα με ερωτήσεις που καλύπτονται από τις ενότητες του forum. Για ο,τι άλλο είμαι εδώ για εσάς.
- follow me @twitter

Απάντηση

Επιστροφή στο “JavaScript και Frameworks”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 3 επισκέπτες