Η JavaScript ως γλώσσα προγραμματισμού για αρχάριους

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

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

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

Η JavaScript ως γλώσσα προγραμματισμού για αρχάριους

Δημοσίευση από skeftomilos » 02 Μαρ 2005 04:39

Αποφασίσατε να μάθετε προγραμματισμό? Υπέροχα! Επιτέλους θα μπορέσετε να ελέγξετε αυτό το τέρας υπολογιστικής δύναμης που στέκει άβουλο στο γραφείο σας. Τα υπερσυμπιεσμένα μικροκυκλώματά του περιμένουν να εκτελέσουν τις εντολές σας. Ο μικροεπεξεργαστής του είναι έτοιμος να απαντήσει στις απορίες σας, δουλεύοντας με ρυθμό εκατομμυρίων πράξεων το δευτερόλεπτο. Υπάρχει μόνο ένα πρόβλημα. Δεν μπορείτε να συνεννοηθείτε. Δυστυχώς έχετε μάθει να μιλάτε διαφορετικές γλώσσες, εσείς ελληνο-αγγλικά, αυτό αγγλο-μηχανικά. Καθότι όμως είναι μάλλον απίθανο να αρχίσει το τέρας να μιλά ελληνικά στο ορατό μέλλον, και επειδή δε μπορείτε να περιμένετε πότε θα γίνει αυτό, αποφασίζετε να κάνετε την καρδιά σας πέτρα και να μάθετε τη γλώσσα του.

Έτσι μία ωραία μέρα, μόλις ο ήλιος ανατείλει και τα πουλάκια κελαηδήσουν, ανοίγετε ένα νέο θέμα στο αγαπημένο σας Forum και κάνετε την εξής πρωτότυπη ερώτηση: Τι γλώσσα να μάθω? Λίγο μετά, δεκάδες αγουροξυπνημένοι προγραμματιστές διαβάζουν την ερώτησή σας και - με ένα σαρδόνιο χαμόγελο στα χείλη - συντάσσουν τις απαντήσεις τους. Έτσι, λιγότερο από 24 ώρες αργότερα έχετε μάθει την απάντηση. Η καλύτερη γλώσσα που υπάρχει, η πιο γρήγορη, η πιο δυνατή, η πιο σοβαρή, η πιο τεχνολογικά προηγμένη, η πιο άρτια, η πιο πλήρης, η πιο συμβατή, η πιο εύχρηστη, η πιο κομψή, η πιο δημοφιλής, η πιο σεβαστή, είναι ΜΙΑ και έχει ΕΝΑ όνομα:

- CC++C#JavaPascalVisualBasicPerlDelphiPython.NETColdFusionPHPFortranCobol.

Δυστυχώς για σας δεν έχετε επιλογή, πρέπει να μάθετε ολόκληρη τη γλώσσα αυτή, διαφορετικά οι γνώσεις σας θα θεωρούνται από ανεπαρκείς έως άχρηστες. Ζητάτε λοιπόν ευγενικά να σας δώσουν κάποιες πηγές για να αρχίσετε να μαθαίνετε, βιβλία, turorials, στα ελληνικά κατά προτίμηση. Όμως κατά περίεργο τρόπο οι προγραμματιστές έχουν πάψει να ενδιαφέρονται για σας, αλλά προτιμούν να φιλονικούν μεταξύ τους σχετικά με τα επιμέρους θετικά και αρνητικά αυτής της υπεργλώσσας. Λατρεύουν μάλιστα να διανθίζουν το λόγο τους με δεκάδες άγνωστα ακρωνύμια όπως ASP, CGI, XML, RMI, OOP, API, OLE, COM, SQL, ADO, TCP, EJB, IIS, J2EE, SDK, CLR, IL, GAC, JIT, DLL, MIME, UML και δε συμμαζεύεται. Το μόνο που μπορείτε να συνάγετε παρακολουθώντας τις αντιδικίες τους είναι ότι έχετε μπροστά σας ένα Γολγοθά να ανεβείτε πριν καταφέρετε να φτιάξετε κάτι που να μοιάζει με πρόγραμμα. Το αποτέλεσμα είναι μετά από λίγο να εγκαταλείψετε την προσπάθεια και το βράδυ να σας βρει να διασκεδάζετε τη θλίψη σας παίζοντας Bubble Bobble.

Το παραπάνω σενάριο δεν είναι καθόλου απίθανο στην πράξη. Είναι αυτό που συμβαίνει συνήθως όταν κάποιος χάνει το στόχο του. Ο στόχος σας δεν ήταν να γίνεται software Guru ή επαγγελματίας της πληροφορικής. Όμως κατά κάποιο τρόπο ξεχάσατε το αρχικό σας κίνητρο και μπήκατε στη διαδικασία της αναζήτησης της τελειότητας. Ο αρχάριος ορειβάτης δεν ξεκινά αυτό το σπορ με την κατάκτηση του Everest. Μπορεί για αρχή να δοκιμάσει τις ικανότητές του κατακτώντας τον Υμηττό. Εδώ που τα λέμε, ακόμα και η κατάκτηση του Λυκαβηττού δεν είναι καθόλου κακή αρχή, και θα σας ανταμείψει τελικά με μία εξίσου ωραία θέα (μόνο προσοχή στους λύκους!). Μπορείτε επομένως να θέσετε μερικούς πιο μετριοπαθείς και ρεαλιστικούς στόχους στα πρώτα σας βήματα στο προγραμματισμό. Η πρώτη σας γλώσσα πρέπει να έχει τα παρακάτω χαρακτηριστικά:

α) Να είναι εύκολη στην εκμάθηση.

β) Να δίνει άμεσα αποτελέσματα - δηλαδή προγράμματα - με το λιγότερο δυνατό κόπο.

γ) Να είναι διασκεδαστική!

Πολλές γλώσσες μπορούν να ισχυριστούν ότι διαθέτουν τα παραπάνω προσόντα, άλλα βέβαια κάποιες τα καταφέρνουν καλύτερα από άλλες. Μία από τις καλύτερες, και αντικείμενο προβολής αυτού του άρθρου, είναι η JavaScript. Η γλώσσα JavaScript εμφανίστηκε το 1995 από τη Netscape με σκοπό να ζωντανέψει το - τότε - στατικό Web. Το αρχικό της όνομα ήταν LiveScript, αλλά για λόγους marketing μετονομάστηκε σε JavaScript. Πέρα από το όνομα δεν έχει ιδιαίτερες ομοιότητες με με τη γλώσσα Java που παρουσιάστηκε από τη Sun την ίδια εποχή. Ωστόσο και οι δύο γλώσσες είχαν αρχικά στόχο το Web, για να επεκτείνουν τις δυνατότητές τους στα χρόνια που ακολούθησαν, χωρίς ποτέ να ανταγωνιστούν η μία την άλλη. Πολύ σύντομα η Microsoft αναγνώρισε τις δυνατότητες που έδινε η JavaScript στον αντίπαλο browser και αποφάσισε να εφοδιάσει το δικό της με μία παρόμοια γλώσσα, τη JScript. Οι δύο γλώσσες πραγματικά έχουν ελάχιστες διαφορές, που στην πράξη μπορούν να αγνοηθούν. Επειδή μάλιστα οι προγραμματιστές ενδιαφέρονται πολύ περισσότερο για τις ομοιότητες παρά για τις διαφορές, ορίστηκε από το διεθνή οργανισμό προτύπων για το Web (W3C) μία πρότυπη γλώσσα, η ECMA, με την οποία συμμορφώθηκαν σύντομα τόσο η JavaScript όσο και η JScript. Για απλότητα δε θα χρησιμοποιήσω άλλο το όνομα JScript, και θα θεωρήσω ότι πρόκειται για την ίδια γλώσσα. Μετά από αυτά τα λίγα ιστορικά στοιχεία επανέρχομαι στην ουσία της γλώσσας. Η JavaScript ικανοποιεί με άνεση τα τρία παραπάνω κριτήρια, και διαθέτει επιπλέον και τα παρακάτω πλεονεκτήματα:

δ) Δεν απαιτεί την αγορά ειδικού λογισμικού (εργαλείου ανάπτυξης). Δε χρειάζεται να κάνετε κανένα μεγάλο download. Αν έχετε υπολογιστή με Windows, έχετε ήδη ότι χρειάζεστε. Αν ξέρετε να χειρίζεστε το Notepad, μπορείτε να ξεκινήσετε αμέσως να γράφετε κώδικα.

ε) Δεν χρειάζεται μεταγλώττιση (compilation) και μεταγλωττιστές (compilers). Δεν έχετε να κάνετε με δύο αρχεία, κώδικας (source) και εκτελέσιμο (executable), ή ακόμα και project files ή άλλα βοηθητικά αρχεία. Γράφετε το πρόγραμμά σας σε ένα αρχείο κειμένου, δίνετε στο αρχείο την κατάλληλη κατάληξη, και το τρέχετε. Τόσο απλά.

στ) Η συγγραφή του κώδικα είναι πολύ απλή υπόθεση. Δεν υπάρχουν ειδικές ρουτίνες εκκίνησης ή άλλες προαπαιτούμενες δομές. Οι εντολές σας θα εκτελεστούν με τη σειρά που τις γράφετε.

ζ) Δεν είναι μονοδιάστατη γλώσσα. Μπορείτε να φτιάξετε προγράμματα για διαφορετικές απαιτήσεις. Client-side web scripting, server-side web scripting, Windows utilities, Windows COM components, ακόμα και σε ειδικές χρήσεις όπως code generation.

η) Τα προγράμματά σας θα τρέχουν σε όλα τα λειτουργικά συστήματα.

θ) Εύκολα θα βρείτε ελληνικά ή αγγλικά βιβλία για να μάθετε τη γλώσσα, και μάλιστα σε καλή τιμή.

ι) Υπάρχουν άφθονες και καλές πηγές με δωρεάν εκπαιδευτικό υλικό στο Internet. Δείτε παρακάτω.

ια) Αποτελεί διαχρονική αξία. Δεν τίθεται κανένα παράπονο για τις δυνατότητές της ως γλώσσας σε σχέση με το σκοπό που επιτελεί. Άλλες νεώτερες τεχνολογίες γεννιούνται βασιζόμενες στη ύπαρξή της (π.χ. DOM3). Κατά πάσα πιθανότητα θα υπάρχει για όσο υπάρχει η HTML και το Web όπως το ξέρουμε. Μετά από δέκα χρόνια θα είναι ακόμη εδώ. Ποιος μπορεί να ισχυριστεί το ίδιο για τεχνολογίες όπως π.χ. η Java? Μπορεί να είναι σπουδαία γλώσσα, αλλά με τόσο σκληρό ανταγωνισμό που αντιμετωπίζει δεν αποκλείεται καθόλου να αποτελεί σύντομα έκθεμα των software museums, έστω και σε περίοπτη θέση.

ιβ) Αν και όταν αποφασίσετε να μάθετε τη δεύτερη γλώσσα σας δε θα ξεκινήσετε από το μηδέν. Θα έχετε μάθει ορθές αρχές προγραμματισμού, και θα διαπιστώσετε επιπλέον ότι η JavaScript έχει πολλά κοινά δομικά στοιχεία με άλλες δημοφιλείς γλώσσες όπως C, C#, Java, PHP, Perl κ.ά.

ιγ) Είναι η μοναδική γλώσσα που υποστηρίζουν όλοι οι browsers, και επομένως στο γήπεδο του client-side web scripting παίζει κυριολεκτικά χωρίς αντίπαλο. Μπορείτε να είστε ειδικός σε δύο ντουζίνες γλώσσες, αλλά αν δε γνωρίζετε JavaScript είστε χαμένος από χέρι σε αυτό τον τομέα.

ιδ) Για το τέλος άφησα το καλύτερο. Για κάποιο άγνωστο λόγο φαίνεται ότι οι επαγγελματίες προγραμματιστές σνομπάρουν τη γλώσσα. Υπάρχει η εντύπωση ότι η γνώση της δεν είναι απαραίτητη καθώς υπάρχουν άπειρες πηγές με έτοιμα δωρεάν scripts σε JavaScript. Δυστυχώς όμως τις περισσότερες φορές είναι άχρηστα χωρίς κάποιες αλλαγές. Επομένως θα έχετε την ικανοποίηση ότι γνωρίζεται κάτι που ξεπερνά τις γνώσεις των ειδικών. Αν σας αρέσει μάλιστα μπορείτε κάλλιστα να τους μπαίνετε στη μύτη!

Πρέπει τώρα να παραθέσω και τα μειονεκτήματα της γλώσσας, ώστε να είστε ενήμεροι:

α) Δε δίνει τη δυνατότητα για Windows προγραμματισμό απαιτήσεων. Αν θέλετε να φτιάξετε ένα πλούσιο user-interface θα πρέπει να αρκεστείτε στον browser, ή να μάθετε μία άλλη γλώσσα (π.χ. VB.NET).

β) Δημιουργία vector-graphics (τρίγωνα - κύκλοι κ.λπ.) είναι εκτός συζήτησης.

γ) Μπορείτε να φτιάξετε παιχνίδια, αλλά όχι κάθε είδους. Μόνο όσα βασίζονται σε αλλαγές εικόνων σε προκαθορισμένα σημεία, π.χ. τρίλιζα, σκάκι, κρεμάλα. Παιχνίδια που απαιτούν γρήγορα ανακλαστικά και ταχύτητα δεν αποδίδουν καλά με scripting στον browser.

δ) Η διαχείριση αρχείων του δίσκου δεν περιλαμβάνεται στον πυρήνα της γλώσσας. Θα πρέπει να μάθετε μία επιπλέον τεχνολογία, το FileSystemObject (όχι δύσκολη). Αν πάντως ενδιαφέρεστε πρωτίστως για τέτοιου είδους utilities καλύτερα να μάθετε Perl.

ε) Σιγά-σιγά θα διαπιστώσετε την ανάγκη εκμάθησης και άλλων σχετιζόμενων τεχνολογιών όπως HTML, CSS και DOM. Αυτό όμως μπορείτε να το δείτε και ως πλεονέκτημα!

στ) Δεν είναι και τόσο κατάλληλη για προγράμματα πολύ μεγάλου μεγέθους.

Αν τα παραπάνω μειονεκτήματα σας φαίνονται σημαντικά, μην ξεχνάτε ότι ο στόχος σας είναι ο Λυκαβηττός προς το παρόν! Η JavaScript είναι περίφημη για να μάθετε προγραμματισμό, δε σας υπόσχεται ότι μπορεί να κάνει τα πάντα. Ας δούμε τώρα όμως αν είναι πράγματι τόσο εύκολος ο προγραμματισμός με JavaScript όσο σας τον παρουσίασα. Ανοίξτε το Notepad και γράψτε τον παρακάτω κώδικα:

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

<script>document.write&#40;"Δύο και δύο μας κάνει " + &#40;2 + 2&#41;&#41;</script>
Σώστε το αρχείο με κατάληξη .htm, π.χ. First.htm. Αν δεν ξέρετε πώς να το κάνετε τότε σώστε το αρχείο με τη συνηθισμένη κατάληξη .txt και μετά πηγαίνετε με τον Windows Explorer και αλλάξτε την κατάληξη του αρχείου σε .htm. Θα πρέπει να έχετε ρυθμίσει τα Windows έτσι ώστε να είναι ορατή η κατάληξη των αρχείων. Αυτό γίνεται με Tools - Folder Options - View - Hide extensions for known file types. Μετά τρέξτε το αρχείο με διπλό κλικ ή πατώντας Enter. Αν όλα πάνε καλά θα δείτε το παρακάτω:

Εικόνα

Χμ, όχι και πολύ δύσκολο, έτσι δεν είναι? Αν βλέπετε κενή την οθόνη το πιθανότερο είναι ότι πληκτρολογήσατε κάτι λάθος ή έχετε απενεργοποιήσει το scripting στον browser. Μάλλον όμως δεν είχατε προβλήματα, και είχατε την πρώτη σας επιτυχή εμπειρία με client-side web scripting. Ας δοκιμάσουμε τώρα κάτι άλλο. Ξανανοίξτε το Notepad και γράψτε τα εξής σε ένα νέο αρχείο:

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

WScript.Echo&#40;"Η ημερομηνία είναι " + new Date&#40;&#41;.toLocaleString&#40;&#41;&#41;
Σώστε τώρα το αρχείο με κατάληξη .js, π.χ. First.js. Τρέξτε το αρχείο με διπλό κλικ ή πατώντας Enter. Αν δεν είναι Τρίτη και δεκατρείς θα δείτε το παρακάτω:

Εικόνα

Αν δεν πιστεύετε αυτό που βλέπετε δε φταίω εγώ. Σας προειδοποίησα ότι θα είναι εύκολο! Αν τυχόν το πρόγραμμα δεν τρέξει με το διπλό κλικ, δοκιμάστε δεξί κλικ και Open with - MS Windows Script Host.

Ok, γράψατε τα πρώτα σας προγράμματα αλλά - ας είμαστε ειλικρινείς - δεν καταλάβατε ακριβώς τι έγινε. Είδατε όμως τη δύναμη που κρύβεται στην άκρη των δακτύλων σας και φαντάζομαι πως σας γεννήθηκε η επιθυμία να μάθετε περισσότερα. Μερικοί τρόποι να μάθετε τη γλώσσα περιγράφονται παρακάτω:

Βιβλία: Επισκεφθείτε ένα βιβλιοπωλείο με έμφαση στα τεχνικά βιβλία και θα δείτε ότι έχετε πολλές επιλογές σε γλώσσα, αριθμό σελίδων και τιμή. Εναλλακτικά μπορείτε να δοκιμάσετε την τύχη σας σε κάποια δανειστική βιβλιοθήκη με τεχνικό τμήμα.

Επίσημες πηγές στο Internet: Δυστυχώς οι servers της Netscape δείχνουν να έχουν σωπάσει (για πάντα?) και επομένως δε μπορείτε να κατεβάσετε τον ογκώδη Guide και το ογκωδέστερο Reference της JavaScript 1.3 (ηλικίας 6 ετών έτσι κι αλλιώς). Μπορείτε όμως να κατεβάσετε το πολύ καλό documentation της Microsoft για τις scripting τεχνολογίες γενικότερα. Περιλαμβάνει μεταξύ άλλων VBScript, JScript, FileSystemObject. Υπάρχει διαθέσιμο και online.

Online Tutorials: Είναι γεμάτος ο τόπος (μόνο στα αγγλικά δυστυχώς). Θα δυσκολευτείτε μόνο να διαλέξετε το πιο κατάλληλο για το γούστο σας. Τα περισσότερα έχουν διαφημίσεις και επιπλέον δεν είναι βολικά για αποθήκευση στο δίσκο σας. Έχουν όμως το πλεονέκτημα ότι μπορείτε να δοκιμάσετε επιτόπου το κώδικα και να τον δείτε να δουλεύει. Κοίταξα πολλά και απέρριψα πολλά. Παραθέτω όσα επέζησαν. Τα καλύτερα είναι πρώτα:

. HTML Source
. Web Developers Notes
. JavaScript Tutorial (με εικόνες)
. HTML Goodies
. Page Tutor
. W3Schools
. Web Teacher (πολύ απλό tutorial)
. JavaScript Tutorial (downloadable)
. Web Developers Journal
. Web Monkey
. JavaScript Mall (καλό αλλά παλιό)
. Intranet Journal
. Training Tools

Δωρεάν PDFs: Η μέθοδος που προτιμώ. Τα κατεβάζετε και τα διαβάζεται με την ησυχία σας. Πληκτρολογείτε ο ίδιος τα παραδείγματα και δοκιμάζετε δικές σας ιδέες. Παρακάτω είναι τα καλύτερα που βρήκα, δύο απ' αυτά στα ελληνικά:

Πρώτη γεύση:
. Understanding JavaScript 1 (3 σελ. 44K)
. Understanding JavaScript 2 (7 σελ. 80K)
. All You Ever Wanted to Know about JavaScript (But Were Afraid to Ask!) (14 σελ. 344K)

Βασικές γνώσεις:
. Introduction to JavaScript (20 σελ. 305K)
. Javascript for Beginners - 2000 (66 σελ. 508K)
. JavaScript for Beginners - 2003 (41 σελ. 199K)
. JavaScript Introduction (18 σελ. 361K)
. Developing for the Web - JavaScript (32 σελ. 369K)
. Η Γλώσσα Προγρα&#181;&#181;ατισ&#181;ού JavaScript (28 σελ. 320K) GR
. Τεχνολογίες Διαδικτύου - 1997 (101 σελ. 930K) GR
. JavaScript Syntax (9 σελ. 114K)
. JavaScript Cheat Sheet (22 σελ. 112K)
. Introduction to JavaScript, Chapter 1 (34 σελ. 261K)
. Introduction to JavaScript, Chapter 3 (31 σελ. 194K)

Περισσότερες γνώσεις:
. JavaScript Bible - Parts 1 and 2 (202 σελ. 915K)
. JavaScript Bible - Part 3 (994 σελ. 3,1M)
. JavaScript Bible - Part 5 (597 σελ. 2,1M)
. Core JavaScript Reference 1.5 (451 σελ. 2,4M)
. ASP & JavaScript, Enhancing Applications (22 σελ. 247K)
. Object Oriented Programming in JavaScript (10 σελ. 161K)
. Traditional JavaScript Object Models (42 σελ. 1.0M)
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

Η JavaScript ως γλώσσα προγραμματισμού για αρχάριους

Δημοσίευση από ThyClub » 02 Μαρ 2005 09:41

Κοίτα να δείς που αυτός (skeftomilos) θα με κάνει να μάθω javascript :pint: :pint: :pint: :pint:

ΒΟΗΘΗΜΑ :wink:

BTW άν κάποιος χρειαστεί κάποιο βιβλίο όπως το javascript bible μπορεί να μου κάνει ενα PM και θα του δανείσω για λίγο καιρό :wink:

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

Η JavaScript ως γλώσσα προγραμματισμού για αρχάριους

Δημοσίευση από Rapid-eraser » 02 Μαρ 2005 10:06

oreos.
bebea 8a diafoviso se eva simio movo .
Oi programatistes pou asxolouvte me webbased applications exouve sxedov pavta gvoseis javascript.

Aftoi pou dev exouve tetoies gvoseis eivai sivios av8ropoi sav emeva pou apla dev eivai programatistes kai apo hobbie exouve ksekivisei me tov la8os tropo va programatizouve kai avakaliptouve ta pavta bima bima.

allo eva simio pou 8a diafoviso eivai episis oti n glossa pou 8a ksekiviseis dev prepei va eivai sovi kai kala efkoli n pou va miv exei kamia apetisi. Sivi8os kapoios pou dev exei idea apo programatismo ksekivaei me kapoiov av8ropo va tou diksei kapoia pragmata ka8os o programatismos dev apetei movo logiki alla kai kapoia gvosi pavo stnv algori8miki logiki tnv opoia tnv apoktas movo me empiria. Pragma pou simevei oti av dev eisai kapoia diavia movos sou eivai poli diskolo va mpeis stnv logiki. opote akoma kai me java va ksekiviseis ama exeis kapoiov av8ropo va sou ekeigisei ta idietera tis glossas tote dev 8a exeis problima.
To diskolo stadio eivai va skefteis aglori8mika . Otav kapoios parei afti tnv gvosi meta mporei poli efkola va metapidisei apo tnv mia glossa stnv alli.

Safos glosses pou dev exouve idieteres programatisties gvoseis eivai pio aplo va bon8isouve kapoiov (poso malov av dev xriazete kapoio idietero setup opos n javascript) parola afta kata tnv gvomi mou afto isxiei apoklistika gia kapoiov pou 8elei va ksekivisei evtelos movos xoris kapoia eksoteriki (apo av8ropo) bon8ia.

Afta apo emeva :)
Euxaristo poli skeftomilos gia to ar8ro ntav poli epikodomitiko kai poli prosegmevo
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

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

Η JavaScript ως γλώσσα προγραμματισμού για αρχάριους

Δημοσίευση από skeftomilos » 04 Μαρ 2005 14:44

Δε χρειάζεται να με ευχαριστείς εσύ Rapid-eraser αλλά εκείνοι που ακολουθώντας τη συμβουλή μου θα κάνουν την είσοδό τους στον κόσμο του προγραμματισμού με τον καλύτερο και πιο σίγουρο τρόπο. Θα μάθουν μία γλώσσα σύγχρονη, δυναμική, ευέλικτη και συναρπαστική, που θα χρησιμοποιούν ξανά και ξανά όσα χρόνια κι αν περάσουν, όσες άλλες γλώσσες και αν μάθουν. Ένα μεγάλο βήμα για τους ίδιους, ένα μικρό βήμα για την ανθρωπότητα.

Συμφωνώ με τις παρατηρήσεις σου. Πράγματι γράφοντας αυτό το άρθρο είχα στο μυαλό μου εκείνους που παλεύουν με τον υπολογιστή τους μόνοι, χωρίς βοηθούς και διδασκάλους. Τρέφω μία ιδιαίτερη συμπάθεια για αυτή την κατηγορία των συνανθρώπων μας, ίσως γιατί είμαι και εγώ ένας απ' αυτούς! Μήπως είμαστε πολλοί τελικά? Να οργανωθούμε βρε παιδιά!
:D
Τελευταία επεξεργασία από το μέλος skeftomilos την 04 Μαρ 2005 20:43, έχει επεξεργασθεί 1 φορά συνολικά.
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Άβαταρ μέλους
Paralias
Δημοσιεύσεις: 82
Εγγραφή: 29 Ιαν 2005 20:00

Η JavaScript ως γλώσσα προγραμματισμού για αρχάριους

Δημοσίευση από Paralias » 04 Μαρ 2005 18:39

Εγώ τι να πω;Τα έχουμε πει και από πμ. Απλά ΣΥΓΧΑΡΗΤΗΡΙΑ!

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

Η JavaScript ως γλώσσα προγραμματισμού για αρχάριους

Δημοσίευση από ThyClub » 04 Μαρ 2005 22:59

skeftomilos έγραψε:Μήπως είμαστε πολλοί τελικά?
Αμέτρητοι είμαστε :wink: :wink: :wink:

Άβαταρ μέλους
PGOUDAMANIS
Δημοσιεύσεις: 94
Εγγραφή: 10 Μαρ 2004 20:25
Τοποθεσία: ΘΕΣΣΑΛΟΝΙΚΗ
Επικοινωνία:

Η JavaScript ως γλώσσα προγραμματισμού για αρχάριους

Δημοσίευση από PGOUDAMANIS » 05 Μαρ 2005 18:12

Χωρίς πολλά λόγια.......
:clap: :clap: :clap: :clap: :clap: :clap: :clap: :clap:

Άβαταρ μέλους
Asturel
Δημοσιεύσεις: 14
Εγγραφή: 06 Δεκ 2004 16:05

Η JavaScript ως γλώσσα προγραμματισμού για αρχάριους

Δημοσίευση από Asturel » 05 Μαρ 2005 18:37

Επειδή κι εγώ προσπαθώ χωρίς πολλή εξωτερική βοήθεια, εκτίμησα φοβερά αυτό το άρθρο, και πείστηκα πως τελικά, μια τέτοια αρχή των μη ειδικών πράγματι ο κόσμος όλος έχει να ωφεληθεί πάρα πολλά.

Αγαπητέ skeftomilos ευχαριστούμε πολύ. Ευχαριστώ πολύ. :D :idea:

Επίσης θα ήθελα να ρωτήσω κάτι:
Αν ένα τέτοιο js script σαν αυτό της ημερομηνίας, έμπαινε σε μια htlm ή asp σελίδα, θα έδειχνε την ημερομηνία αυτόματα;
Αν το site είναι σε ελληνικό server θα την έδειχνε ελληνικά, αν σε διεθνή θα την έδειχνε αγγλικά.
Αρκεί να γινόταν π.χ. με copy-paste (και νομίζω μια εντολή για execute) στην αρχή της σελίδας, και θα δούλευε;

Το ίδιο ισχύει για όλα τα javascripts?

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

Η JavaScript ως γλώσσα προγραμματισμού για αρχάριους

Δημοσίευση από skeftomilos » 06 Μαρ 2005 10:28

Ωραία η απορία σου Asturel. Το script που έχω ως παράδειγμα παραπάνω και εμφανίζει την ημερομηνία αποτελεί μία mini-Windows εφαρμογή. Αν θέλουμε μπορούμε να το τοποθετήσουμε σε μία σελίδα html ως εξής:

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

Η ημερομηνία είναι <script>document.write&#40;new Date&#40;&#41;.toLocaleString&#40;&#41;&#41;</script>
Σώζουμε το παραπάνο αρχείο με κατάληξη .htm ή .html και το τρέχουμε. Ο Internet Explorer εμφανίζει το εξής:

Εικόνα

Ας κάνουμε τώρα ένα πείραμα. Χωρίς να αλλάξουμε το αρχείο αλλάζουμε τα Regional Options - Standards and Formats του υπολογιστή μας σε κάτι διαφορετικό από Greek, π.χ. Italy. Ξανατρέχουμε τη σελίδα με τον IE (ή κάνουμε refresh) και βλέπουμε το εξής:

Εικόνα

Βλέπουμε ότι το κείμενο παραμένει σταθερό ενώ η ημερομηνία εμφανίστηκε με ιταλικό format. Δηλαδή η μέθοδος toLocaleString() του αντικειμένου Date() είναι ευαίσθητη στις τοπικές ρυθμίσεις του υπολογιστή. Δεν είναι εντελώς προφανές με το παραπάνω παράδειγμα αλλά το script τρέχει στον browser και όχι στον server. Ο server απλά στέλνει το script ως κείμενο μαζί με την υπόλοιπη HTML σελίδα στον browser, και το τι θα γίνει μετά δεν τον ενδιαφέρει. Δεν έχει σημασία η θέση του server (Ελλάδα, Αγγλία, whatever) αλλά η θέση του browser έχει. Αυτό ισχύει ανεξάρτητα από το αν η σελίδα είναι html ή asp. Για να τρέξει ένα script στο server πρέπει να έχει διαφορετική σύνταξη που δεν είναι του παρόντος να την εξετάσουμε. Καλό είναι κάποιος να αποκτήσει πρώτα μία καλή γνώση του scripting στην πλευρά του browser και μετά να ασχοληθεί με scripting στην πλευρά του server, αν και - πίστεψέ με - οι περισσότεροι ξεκινάνε ανάποδα!
:D
Είναι δυσάρεστο αλλά πρέπει να το αναφέρουμε γιατί είναι σημαντικό. Οι browsers δεν εμφανίζουν πάντα με τον ίδιο τρόπο μία web σελίδα. Αυτό δεν είναι ζήτημα στην αρχή όταν θα μαθαίνεις τη γλώσσα. Όταν όμως έρθει η ώρα να χρησιμοποιήσεις στην πράξη τις γνώσεις σου εισάγωντας scripting στις σελίδες του site σου που θα μπορεί να δει όλος ο κόσμος, πρέπει να είσαι προσεκτικός. Η βασική αρχή είναι να δοκιμάζεις τις σελίδες σε διάφορους browsers για να βεβαιωθείς ότι εμφανίζονται σε όλους με τον ίδιο τρόπο. Για παράδειγμα το script που δοκιμάσαμε παραπάνω εμφανίζεται στον Firefox ως εξής:

Εικόνα

Πάντα εμφανίζεται το ίδιο, ανεξάρτητα από όποιες αλλαγές κάνουμε στα Regional Options των Windows. Το δίδαγμα είναι ότι χρειάζεται προσοχή. Μπορούμε να παρακάμψουμε αυτό και άλλα παρόμοια προβλήματα με λίγη (συνήθως) παραπάνω προσπάθεια στη συγγραφή του κώδικα. Π.χ. το αντικείμενο Date() διαθέτει λεπτομερείς μεθόδους για την ημέρα (getDate()), το μήνα (getMonth()), το έτος (getFullYear()) κ.λπ. τις οποίες μπορούμε να χρησιμοποιήσούμε για συνθέσούμε την ημερομηνία όπως ακριβώς τη θέλούμε να εμφανίζεται.
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.


Άβαταρ μέλους
Spyros Varelis
Δημοσιεύσεις: 14
Εγγραφή: 03 Μαρ 2005 00:40
Τοποθεσία: Corfu

Η JavaScript ως γλώσσα προγραμματισμού για αρχάριους

Δημοσίευση από Spyros Varelis » 10 Μαρ 2005 13:24

Kalimera, egw grafw aythn thn entolh

WScript.Echo("Η ημερομηνία είναι " + new Date().toLocaleString())

alla den mou emfanizei swsta paragmata...Why?
Pnatws poly kalh h kinhsh sou skeftomilos gia thn bohtheia poumas prosfereis.
SNB

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

Η JavaScript ως γλώσσα προγραμματισμού για αρχάριους

Δημοσίευση από skeftomilos » 11 Μαρ 2005 02:09

Αποθήκευσες το πρόγραμμα σε ένα αρχείο με κατάληξη .js? Τα Windows ανοίγουν αυτά τα αρχεία με τον Windows Script Host (WSH), ένα πρόγραμμα που κάνει δυνατή (και εύκολη!) τη χρήση scripting στα Windows. Απ' όσο γνωρίζω ο WSH έρχεται πακέτο με τα Windows XP, αν κάνω λάθος ας με διορθώσει κάποιος. Παλαιότερες εκδόσεις των Windows μπορεί να μην τον διαθέτουν στην τυπική εγκατάσταση. Για να διαπιστώσεις εάν έχεις τον WSH κάνε δεξί κλικ στο αρχείο First.js και δες αν η επιλογή Open With τον περιλαμβάνει:

Εικόνα

Αν όχι, μπορείς να τον κατεβάσεις από το site της Microsoft. Το Win 2000-XP download είναι 661KB ενώ το Win 98-Millennium download είναι 665KB. Μετά την εγκατάσταση του WSH αποκτάς άμεσα τη δυνατότητα να τρέχεις scripts σε JavaScript (.js) και VBScript (.vbs), καθώς και πιο σύνθετα πολύγλωσσα πακέτα (.wsf).

Κάτι άλλο: στο παραπάνω screenshot βλέπεις κάτω από το Open την επιλογή Edit. Με αυτήν μπορείς να ανοίξεις το script στο Notepad για να κάνεις αλλαγές και διορθώσεις.
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Άβαταρ μέλους
xultimatex
Honorary Member
Δημοσιεύσεις: 2505
Εγγραφή: 26 Ιούλ 2003 13:02
Τοποθεσία: Ξάνθη
Επικοινωνία:

Η JavaScript ως γλώσσα προγραμματισμού για αρχάριους

Δημοσίευση από xultimatex » 23 Απρ 2005 02:01

Να πω κι εγώ με τη σειρά μου συγχαρητήρια! :pint:
Τελικά skeftomilos μ'έπεισες να μάθω JavaScript! :D Από άλλο θέμα βέβαια αλλά με αυτό έκανα την αρχή!
Εγώ θέλω να σου πω για το reference. Αυτό της microsoft,όπως βέβαια ήταν αναμενόμενο, δεν περιλαμβάνει javascript αλλά την αντίστοιχη scripting γλώσσα της, τη JScript. Αυτές οι δύο γλώσσες είναι ίδιες; Δηλαδή μπορώ να συμβουλεύομαι τον οδηγό της JScript και να γράφω σε JavaScript;
:arrow: Αν προσπαθείς πολύ για να πετύχεις κάτι, ίσως το κάνεις με λάθος τρόπο...

Άβαταρ μέλους
EkLekTos
WebDev Moderator
Δημοσιεύσεις: 7421
Εγγραφή: 07 Απρ 2005 15:44
Τοποθεσία: Inside the Effects
Επικοινωνία:

Η JavaScript ως γλώσσα προγραμματισμού για αρχάριους

Δημοσίευση από EkLekTos » 23 Απρ 2005 02:05

:kaloe: ΤHE BEEEEEEST :kaloe:
* Apple Technical Support Specialist *
* Apple Sales & Product Professional Certificate since 2011 * Εικόνα
Follow me @Twitter

Άβαταρ μέλους
goofakos
Δημοσιεύσεις: 494
Εγγραφή: 18 Απρ 2005 00:05
Τοποθεσία: Somewhere between that riff and the other one.

Η JavaScript ως γλώσσα προγραμματισμού για αρχάριους

Δημοσίευση από goofakos » 23 Απρ 2005 14:22

Αν και λίγο αργά.. ποτέ μην ξεχνάμε έναν απ'τους καλύτερους βοηθούς.. τον Γούγλη :kaloe:
He who asks is a fool for five minutes, but he who does not ask remains a fool forever.

Απάντηση

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

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

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