M2000 Δημοσ. 23 Μαΐου 2016 Δημοσ. 23 Μαΐου 2016 Παρεμπιπτόντως άσχετο, αλλά από τη στιγμή που υπάρχει compiler/interpreter και έχει αυστηρούς κανόνες σύνταξης, δεν νομίζω ότι μπορεί να χαρακτηριστεί σαν ψευδογλώσσα. Και όμως μπορεί* γιατί δεν είναι επίσημος ο διερμηνευτής αν και ακολουθεί πιστά το βιβλίο. Αν το δούμε από το τι προσφέρει τότε η απουσία αλφαριθμητικών είναι μεγάλο μείον. Όπως μειον είναι η απουσία μιας κονσόλας ώστε να γράφει κανείς π.χ. σε μια φόρμα 80Χ25 (δεν έχει εμφάνιση όπου θέλουμε στην οθόνη, ούτε καν γραφικά). Ακόμα και το ZX81 με 1kbyte μνήμη είχε τη δυνατότητα να γράψει οπουδήποτε στην οθόνη. Φυσικά αυτό είναι μέρος της "εξαγωγής". Η γλώσσα ΔΕΝ προσφέρει καμία εξαγωγή, ούτε σε αρχείο (ότι έφτιαξε ο Νικολαϊδης, είναι επιπρόσθετο, και όχι στις προδιαγραφές της γλώσσας). Δεν υπάρχει περιθώριο να καλέσει μια ρουτίνα εξωτερική ούτε είναι δυνατόν να βγάλει ένα dll, άρα να πούμε ότι κάτι προσφέρει για μετά! Αυτό που κάνει είναι επεξεργασία. Διαβάζει, επεξεργάζεται, ξαναδιαβάζει αν χρειαστεί και εξάγει τη μια γραμμή μετά την άλλη. Δεν υπάρχει κάτι για να σταματάει αυτό, μόνο αν βάζει κανείς μια Διάβασε... Μπορεί όμως κανείς να παίξει με πίνακες. Και να εμφανίζει "Σταθερά" αλφαριθμητικά. (έχει και μεταβλητές αλφαριθμητικές αλλά κουράστηκαν να σκεφτούν να βάλουν κάτι σε LEN(). Δηλαδή αν διαβάσουμε ένα αλφαριθμητικό δεν θα ξέρουμε ποτέ πόσα γράμματα έχει αφού δεν υπάρχει τρόπος να το μάθουμε (εκτός και αν τα μετράμε και δίνουμε μετά και το μήκος....σαν διάβασε μήκος) Αντιγράφω πληροφοριακά από το τόπο του Διερμηνευτή, για τις συναρτήσεις που υπάρχουν Α_Μ(πραγματικός): το Ακέραιο Μέρος ενός πραγματικού. Δέχεται πραγματικό και επιστρέφει ακέραιο (όπου μπορεί να μπει πραγματικός μπορεί και ακέραιος, λόγω του ότι οι ακέραιοι είναι υποσύνολο των πραγματικών. Το ίδιο ισχύει και στην ανάθεση τιμής π <- 1 όπου το π είναι πραγματικός και το 1 ακέραιος). Α_Τ(αριθμός): η Απόλυτη Τιμή ενός αριθμού. Δέχεται ακέραιο και επιστρέφει ακέραιο ή δέχεται πραγματικό και επιστρέφει πραγματικό. Ε(πραγματικός): η Εκθετική συνάρτηση (ex). ΕΦ(πραγματικός): η ΕΦαπτομένη ενός πραγματικού. Επιστρέφει πραγματικό. ΗΜ(πραγματικός): το ΗΜίτονο ενός πραγματικού. Επιστρέφει πραγματικό. ΛΟΓ(πραγματικός): ο φυσικός ΛΟΓάριθμος ενός πραγματικού. Επιστρέφει πραγματικό. ΣΥΝ(πραγματικός): το ΣΥΝημίτονο ενός πραγματικού. Επιστρέφει πραγματικό. Τ_Ρ(πραγματικός): η Τετραγωνική Ρίζα ενός πραγματικού. Ισοδυναμεί με x^(1/2). *Ουσιαστικά ψευδογλώσσα δεν είναι αφού μια τέτοια θα έχει περιγραφικό τρόπο, χωρίς καθορισμό μεταβλητών. Εδώ υπάρχει συντακτικό αλλά οι κατασκευαστές απλά έγραψαν στα χαρτιά. Σαν να είχαμε τη C χωρίς να υπήρχε μεταφραστής, και να περιμέναμε κάποιος να την φτιάξει. Δηλαδή οποιοσδήποτε εδώ θα μπορούσε σαν είδος παραγγελίας να πει πως θέλει τη γλώσσα του, και να λέει ότι "είναι μια γλώσσα προγραμματισμού".
Ilias95 Δημοσ. 23 Μαΐου 2016 Δημοσ. 23 Μαΐου 2016 Εδώ υπάρχει συντακτικό αλλά οι κατασκευαστές απλά έγραψαν στα χαρτιά. Σαν να είχαμε τη C χωρίς να υπήρχε μεταφραστής, και να περιμέναμε κάποιος να την φτιάξει. Δηλαδή οποιοσδήποτε εδώ θα μπορούσε σαν είδος παραγγελίας να πει πως θέλει τη γλώσσα του, και να λέει ότι "είναι μια γλώσσα προγραμματισμού". To my knowledge, αυτό ακριβώς είναι μια γλώσσα προγραμματισμού: το πρότυπο (οι κανόνες).
mr.robot Δημοσ. 24 Μαΐου 2016 Δημοσ. 24 Μαΐου 2016 εγω ειμαι σε ΕΠΑΛ και τωρα δινω πανελληνιες, η ειδικοτητα μου ειναι πληροφορικη. ο προγραμματισμος που κανω αναφερεται κυριως στην PASCAL, δεν μπορω να πω οτι ειναι γλωσσα η οποια μπορεις να φτιαξεις κατι σωστο οπως ενα παιχνιδι ή εφαρμογη.. γενικα οταν διαβαζεις δεν ειναι δυσκολα. εαν σου αρεσει γενικα να ασχολεισαι με την πληροφορικη και το εχεις βαλε στοχο θα πετυχεις. 1
M2000 Δημοσ. 24 Μαΐου 2016 Δημοσ. 24 Μαΐου 2016 To my knowledge, αυτό ακριβώς είναι μια γλώσσα προγραμματισμού: το πρότυπο (οι κανόνες). Στα χαρτιά είναι ότι θες, μπορώ να σου ζωγραφίσω ένα αυτοκίνητο, αλλά με τη ζωγραφιά δεν πας πουθενά. Η ΓΛΩΣΣΑ είναι εύκολη, έχει απλούς κανόνες και κάνει για εκπαίδευση. Βέβαια πρακτική αξία δεν υπάρχει. Δεν έχουν βάλει γεννήτρια τυχαίων, και δεν υπάρχει τρόπος στατικής ή γενικής για να φτιάξει κανείς γεννήτρια τυχαίων! Δηλαδή μπορείς να καλέσεις μια συνάρτηση αλλά η συνάρτηση δεν μπορεί να δει γενική μεταβλητή, ούτε στατική (να κρατήσει κάπου ρεζερβέ μια τιμή), ώστε να παίξει το seed για τον επόμενο τυχαίο! Προφανώς κάτι δεν το σκέφτηκαν...Δεν υπάρχει γλώσσα χωρίς δυνατότητα παραγωγής τυχαίων αριθμών!
Moderators Kercyn Δημοσ. 24 Μαΐου 2016 Moderators Δημοσ. 24 Μαΐου 2016 Μια γλώσσα είναι ένα σύνολο κανόνων και γραμματικής. Δεν είναι ο compiler η γλώσσα. Ο compiler είναι μια υλοποίηση των κανόνων της γλώσσας. Δεν υπάρχει γλώσσα χωρίς δυνατότητα παραγωγής τυχαίων αριθμών! ??????
M2000 Δημοσ. 24 Μαΐου 2016 Δημοσ. 24 Μαΐου 2016 Ασφαλώς αυτό που γράφεις είναι μέρος ενός ορισμού, διότι και ένα ποίημα έχει συντακτικό και γραμματική αλλά δεν είναι γλώσσα προγραμματισμού! Αλλά δεν μας ενδιαφέρει μια γλώσσα να την τρέχουμε στο μυαλό μας. Δεν είναι η γλώσσα που λύνει προβλήματα. Αυτή είναι το μέσο. Μέσο είναι και ο compiler ή ο interpreter που θα γραφτεί για να τρέξει τη γλώσσα. Οι γλώσσες μπορεί να σχεδιάστηκαν στο χαρτί, αλλά δεν παρουσιάστηκαν στο χαρτί. Στο χαρτί λέγεται documentation...ή τεκμηρίωση. Τεκμηρίωση ως προς τι; Ως προς αυτό που θα κάνει η γλώσσα όταν τρέξει. Τι μας λείπει; Μας λείπουν τα όρια, μας λείπει η πραγματικότητα. Π.χ πόσο μεγάλους αριθμούς χειρίζεται; Διότι τα όρια δείχνουν και τι είναι δυνατόν να γίνει. Στην πραγματικότητα μια γλώσσα προγραμματισμού είναι η γλώσσα εντολών που χρησιμοποιεί ένα αυτόματο, ένας υπολογιστής ή γενικότερα ένας αυτοματισμός, και χρειάζεται για να τον προγραμματίσουμε. Η περιγραφή της γλώσσας μπορεί να απασχολεί θεωρητικά τον οποιοδήποτε. Αλλά για φαντάσου να φτιάξω κάτι που δείχνει μια περιγραφή γλώσσας για ένα ανύπαρκτο αυτοματισμό ή υπολογιστή; Θα μπορούσε οποιοσδήποτε να πει.. βάζω και άλλες δέκα εντολές. Γιατί να τον σταματήσει κανείς; Έτσι και αλλιώς δεν υπάρχει θέμα να τρέξει κάπου! Θα μπορούσε μάλιστα να το πει ΓΛΩΣΣΑ2. Πλάκα θα είχε σε ένα τεστ να απαντούσε κανείς με μια απλή εντολή ΤΥΠΩΣΕ ΟΛΑ(1 έως 10), όπου ΟΛΑ() είναι η έτοιμη συνάρτηση στη ΓΛΩΣΣΑx που είναι αναβάθμιση της ΓΛΩΣΣΑ έκδοση σχολείου. Ασφαλώς ο καθηγητής θα τα πάρει στο κρανίο και θα ζητάει να είναι στην ΓΛΩΣΣΑ που του έχουν δώσει. Αλλά όσο ανύπαρκτο είναι το ΟΛΑ() άλλο τόσο ανύπαρκτη είναι η ΓΛΩΣΣΑ. Και τα δυο είναι υποθέσεις. Υπόθεση του τι κάνει η ΓΛΩΣΣΑ και υπόθεση του τι κάνει το ΟΛΑ(). Το ότι έχει λοιπόν κανόνες και γραμματική και Χριστούγεννα και ότι θέλεις μια γλώσσα δεν σημαίνει ότι είναι γλώσσα αν ο κατασκευαστής της αδυνατεί να φτιάξει μια στοιχειώδη αυτόματη μηχανή για αυτήν! Και εδώ έχουμε το ζήτημα ότι αυτοί που σχεδίασαν τη γλώσσα δεν έδωσαν κάποιον υποτυπώδη μεταφραστή, έστω για εκατό εντολές. Ό,τι έγινε ήταν από τρίτους. Και η φάση είναι ότι ενώ οι κατασκευαστές θα μπορούσαν να την φτιάξουν πολύ καλύτερη ώστε να έχουν περισσότερα να κερδίσουν οι μαθητές, αρχίζουν τα "θεωρητικά", ποιος αλγόριθμος είναι καλύτερος. Βάζουν το παιχνίδι (ούτε για παιχνίδι δεν είναι η ΓΛΩΣΣΑ), να δείξει στον μαθητή την έννοια της πολυπλοκότητας...Πολυπλοκότητα με τη ΓΛΩΣΣΑ, σαν να λέμε με σάντουϊτς να δείξουμε τις διαφορές στις υψηλού επιπέδου γεύσεις. Το καταλαβαίνεις είναι παλαβομάρα, αλλά κάτι τέτοια κάνουν στα σχολεία, και μετά ψάχνουν να δουν γιατί δεν υπάρχει μέλλον σε αυτήν την χώρα. Το μόνο που πετυχαίνουν με τις σπαζοκεφαλιές είναι έμμεσα να κάνουν εξυπνότερους τους μαθητές. Όχι στο να λύνουν προβλήματα, αλλά στο πώς θα περάσουν το μάθημα, και μετά άντε γεια...
Moderators Kercyn Δημοσ. 24 Μαΐου 2016 Moderators Δημοσ. 24 Μαΐου 2016 Η επιτροπή που είναι υπεύθυνη για την ανάπτυξη της C++ δε γράφει compilers άρα η C++ δεν είναι γλώσσα. Συμφωνώ ότι το ΑΕΠΠ θα μπορούσε να γίνεται καλύτερα, αλλά οι λόγοι μας μάλλον δεν είναι ίδιοι. Τώρα αυτό που λες για τα ποιήματα δεν το καταλαβαίνω. Έπρεπε δηλαδή να γράψω ότι μιλάμε για γλώσσες προγραμματισμού και όχι γενικά για γλώσσες που μιλιούνται; Μάλλον έπρεπε. Στην πραγματικότητα μια γλώσσα προγραμματισμού είναι η γλώσσα εντολών που χρησιμοποιεί ένα αυτόματο, ένας υπολογιστής ή γενικότερα ένας αυτοματισμός, και χρειάζεται για να τον προγραμματίσουμε. Η περιγραφή της γλώσσας μπορεί να απασχολεί θεωρητικά τον οποιοδήποτε. Αλλά για φαντάσου να φτιάξω κάτι που δείχνει μια περιγραφή γλώσσας για ένα ανύπαρκτο αυτοματισμό ή υπολογιστή; Θα μπορούσε οποιοσδήποτε να πει.. βάζω και άλλες δέκα εντολές. Γιατί να τον σταματήσει κανείς; Έτσι και αλλιώς δεν υπάρχει θέμα να τρέξει κάπου! Θα μπορούσε μάλιστα να το πει ΓΛΩΣΣΑ2. Πλάκα θα είχε σε ένα τεστ να απαντούσε κανείς με μια απλή εντολή ΤΥΠΩΣΕ ΟΛΑ(1 έως 10), όπου ΟΛΑ() είναι η έτοιμη συνάρτηση στη ΓΛΩΣΣΑx που είναι αναβάθμιση της ΓΛΩΣΣΑ έκδοση σχολείου. Ασφαλώς ο καθηγητής θα τα πάρει στο κρανίο και θα ζητάει να είναι στην ΓΛΩΣΣΑ που του έχουν δώσει. Αλλά όσο ανύπαρκτο είναι το ΟΛΑ() άλλο τόσο ανύπαρκτη είναι η ΓΛΩΣΣΑ. Και τα δυο είναι υποθέσεις. Υπόθεση του τι κάνει η ΓΛΩΣΣΑ και υπόθεση του τι κάνει το ΟΛΑ(). Από τη στιγμή που μια γλώσσα (προγραμματισμού ε) έχει ορθά διατυπωμένους κανόνες και γραμματική, θεωρείται γλώσσα. Αν θες να φτιάξεις τη ΓΛΩΣΣΑ2 και να βάλεις ό,τι θες εσύ μέσα, μπορείς να το κάνεις αν φτιάξεις αυτούς τους ορθά διατυπωμένους κανόνες και γραμματική που είπα πιο πάνω. Αν τώρα ο μαθητής, ο οποίος δεν είναι σε θέση να το κάνει αυτό, αρχίζει να γράφει τα δικά του, προφανώς και ο καθηγητής θα τα πάρει στο κρανίο. Η γλώσσα που εξετάζεται στο ΑΕΠΠ είναι η ΓΛΩΣΣΑ, όπως έχει φτιαχτεί από το υπουργείο. Κι εγώ στα μαθηματικά ανακάλυπτα δικά μου θεωρήματα στις ασκήσεις αλλά ο κακός καθηγητής δεν τα δεχόταν επειδή έγραφα μαλακίες. 2
M2000 Δημοσ. 24 Μαΐου 2016 Δημοσ. 24 Μαΐου 2016 Η γλώσσα C++ λέγεται γλώσσα γιατί έχει compiler. Η επιτροπή προτείνει πράγματα για τους νέους compilers. Δεν ισχύει ότι φτιάχνουν γλώσσες..αέρα. Μήν βγάζεις αυθαίρετα συμπεράσματα. Δεν είναι το ίδιο πράγμα το μοντέλο της γλώσσας με την γλώσσα. Μια γλώσσα ξεκινάει σαν ιδέα, και εμφανίζεται ένα μοντέλο, με σύνταξη, κανόνες, παραδείγματα. Πουθενά δεν μπορείς να γράψεις ότι το μοντέλο παράγει αποτέλεσμα, γιατί δεν τρέχει, δεν αποτελεί γλώσσα ενός αυτόματου συστήματος. Θεωρητικά έχει τα πάντα εκτός της απόδειξης ότι αυτά που υπόσχεται ότι κάνει..γίνονται κιόλας. Δεν έχει σημασία αν κάποιος τρίτος έφτιαξε διερμηνευτή, όσο αυτός δεν είναι ο επίσημος. Η C ήταν προιόν σε εργαστήριο. Μετέπειτα καθιερώθηκε με προδιαγραφές. Δεν ξέρω άλλη γλώσσα που να βγήκε στα χαρτιά και να διδάσκεται παράλληλα με μια ψευδογλώσσα, με τη διαφορά της αρχικοποίησης, ως εργαλεία για μάθημα για προγραμματισμό. Πχ έχουν βγει προδιαγραφές για την ΓΛΩΣΣΑ ότι μια συνάρτηση δεν μπορεί να καλεί διαδικασία. Γιατί; Υπάρχει πρόβλημα; Όλες αυτές οι λεπτομέρειες υπάρχουν για να κόβουν τον μαθητή, δηλαδή δεν έχουν πρακτική αξία αφού μιλάμε για τη ΓΛΩΣΣΑ που τρέχει με το μυαλό, ή στο χαρτί.
groot Δημοσ. 24 Μαΐου 2016 Δημοσ. 24 Μαΐου 2016 Smalltalk. Ωραία γλώσσα. Πολύ καλή. Ίσως η πρώτη εντελώς αντικειμενοστρεφής. Βέβαια, γίνανε λάθος επιλογές. Η υλοποίησή της ήταν bound στο περιβάλλον ανάπτυξης. Άρα, τόσοι compilers όσοι και τα περιβάλλοντα ανάπτυξης. Έτσι, από τον Μ200 μαθαίνουμε ότι, τελικά, ψέματα λέγανε όλοι τόσα χρόνια και δεν υπάρχει μία Smalltalk αλλά τόσες όσοι και οι compilers. Και μετά Kercyn συνεχίζεις και κάνεις κουβέντα με δαύτον. Τα θέλει και εσένα ο κόλος σου.
M2000 Δημοσ. 24 Μαΐου 2016 Δημοσ. 24 Μαΐου 2016 groot, διάβασε καλύτερα. Η Smalltalk σχεδιάστηκε σε εργαστήρια..όχι σε γραφείο. Προφανώς ο μεταφραστής της δεν δόθηκε, ήταν ιδιωτικός. Δόθηκε όμως η περιγραφή της και από αυτήν βγήκαν άλλες υλοποιήσεις. Μιλάμε εδώ τι είναι γλώσσα...και εσύ υποστηρίζεις ότι είναι η περιγραφή της.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα