Πρέπει οπωσδήποτε να ανοίξει γρήγορα η κουβέντα για την ύλη του 6ώρου μαθήματος, ώστε να υπάρχει συναίνεση της κοινότητας και να ασκηθεί πίεση στους συντάκτες του προγράμματος σπουδών (σε όσους δεν καταλαβαίνουν τέλος πάντων) για να πάρει το μάθημα σωστή κατεύθυνση.
Προσωπικά συμφωνώ ότι η υπέρμετρη αύξηση της ύλης δεν είναι σωστή. Τι θα ήθελα επιπλέον:
1. Αναδρομή
2. Μία μορφή εγγραφών (όχι τόσο βαριά όσο στην Pascal και την C) αλλά μια απλή όπως οι tuples της Python και των συναρτησιακών γλωσσών.
3. Διαισθητική Εισαγωγή στην Πολυπλοκότητα με στόχο να καταλαβαίνει ο μαθητής γιατί δεν πρέπει να κάνει ταξινόμηση για μέγιστο (χωρίς όμως έντονη μαθηματικοποίηση γιατι το πράγμα θα μπλέξει αρκετά ειδικά αν εισαχθεί και το 1).
Παναγιώτη συμφωνώ με όλα όσα είπες. Μπορώ να σκεφτώ και σημεία τα οποία θέλουν αφαίρεση ή που στα οποία έχουμε πάρει λάθος στροφή.
Νομίζω επίσης πως η γλώσσα προγραμματισμού παίζει σημαντικό παιδαγωγικό ρόλο και πρέπει ανοίγει ορίζοντες και όχι να κλείνει. Το γνωστό ρητό λέει πως γλώσσα που δεν αλλάζει τον τρόπο σκέψης σου, δεν αξίζει να την μάθεις, και μιας και που οι μαθητές έχουν μικρή έως ανύπαρκτη εμπειρία στον προγραμματισμό καλό είναι να κάνουν την σωστή αρχή και να μην μπαίνουν σε καλούπια σκέψης.
Έχει πολύ μεγάλο παιδαγωγικό ενδιαφέρον το αναδρομή vs επανάληψης. Σε μερικά "πειράματα" που έχω κάνει σε μαθητές δεν έχω πειστεί πως η επανάληψη είναι πιο εύκολη και η αναδρομή είναι πιο δύσκολη. Ίσως για αρκετούς από εμάς που τα διδαχθήκαμε με αυτή τη σειρά να ισχύει, ισχύει όμως για τα παιδιά;
Προσωπικά έχω πολλές ιδέες για αυτή την ιδεατή γλώσσα και θα ήθελα κάποια στιγμή να κάνουμε έναν διάλογο στο στέκι με σκοπό τον σχεδιασμό (κυρίως) αλλά και την υλοποίηση μιας τέτοιας γλώσσας.
Υπάρχει κανείς που να ενδιαφέρεται; Οι σκοποί ενός τέτοιου εγχειρήματος μπορεί να μην είναι προφανείς σε πολλούς αλλά πιστεύω ότι μεσο-μακροπρόθεσμα αυτό θα είναι κάτι πάρα πολύ σημαντικό. Καλό είναι να έχουμε κάτι να προτείνουμε (στο οποίο να μπορούν όλοι να βασιστούν) και να μην παραπονιόμαστε συνέχεια (αυτό πάει σε μένα!)
να έχει τη ΓΛΩΣΣΑ (ελληνική με απλοποιημένη σύνταξη)Αν η ΓΛΩΣΣΑ ήταν και στο μάθημα της δευτέρας θα συμφωνούσα. Δεν είναι όμως και η γνώση πρέπει να έχει συνέχεια. Οι μαθητές δεν πρέπει να μαθαίνουν δύο φορές το ίδιο πράγμα. Ποια είναι τα γνωστικά οφέλη από την εισαγωγή μιας λίγο διαφορετικής γλώσσας στην τρίτη. Πιστεύω ότι θα έχει αρνητικό αντίκτυπο.
να επιτρέπει την δημιουργία/επεξεργασία αρχείων εγγραφών (χρήση δευτερεύουσας μνήμης)Και πάλι ποια είναι τα γνωστικά οφέλη; Ποια είναι τα νέα προβλήματα που θα λύσουμε εισάγοντας κάτι τέτοιο. Η επεξεργασία αρχείων είναι απλά συντακτικό δεν μαθαίνεις νέα πράγματα ούτε επιλύεις νέα προβλήματα. Η εντολές Δεδομένα και Αποτελέσματα είναι μια χαρά. Αντ' αυτού η εισαγωγή της δυνατότητας αφαίρεσης στα δεδομένα (όπως υπάρχει στις εντολές με τα υποπρογράμματα) είναι κάτι το οποίο θα έχει με το μικρότερο δυνατό κόπο μεγάλο αντίκτυπο στο εύρος αυτών που μπορεί να διδαχθούν και είναι διδακτικός στόχος από μόνο του.
να υποστηρίζει αντικειμενοστρέφεια με μικρό ασκησιολόγιο στην ΓΛΩΣΣΑ και παρουσίαση του απαραίτητου θεωρητικού υπόβαθρου.
-Το θέμα των ελληνικών: Όσοι υποστηρίζουν κάτι τέτοιο, έχουν δίκιο, όχι τόσο γιατί είναι δύσκολο να μάθουν οι μαθητές ξένες εντολές, αλλά γιατί συνεπάγεται έναν αλγόριθμο με μεικτές greeklish/english μεταβλητές/εντολές που δεν είναι εύκολος προς ανάγνωση και κατανόηση. Συμφωνώ με αυτό. Όμως από την άλλη χάνουμε την πρόσβαση σε βιβλιοθήκες και την δυνατότητα να αποκτήσουν οι μαθητές ΚΑΙ ένα επαγγελματικό εφόδιο που θα κάνει αυταπόδεικτη τη χρησιμότητα του μαθήματος.
π.χ. Σε πόσες ώρες μπορεί ένας μαθητής να σχεδιάσει μια γραφική διεπαφή στην C++, ξεκινώντας από το 0?
Σε πέντε λεπτἀ, αλλά δεν είναι εκεί το πρόβλημα.
Όταν μιλάμε για μία γλώσσα που απευθύνεται σε μαθητές, οι περισσότεροι των οποίων δεν σκοπεύουν να γίνουν Πληροφορικοί και μάλλον δεν θα ξαναγράψουν ΟΥΤΕ ΜΙΑ γραμμή κώδικα στη ζωή τους, τότε οι "παραδοσιακές αλήθειες" της αλγοριθμικής (δηλ. οι δομές που διδάσκονται και στην ΑΕΠΠ) είναι -ίσως- αρκετές.αν δεν κάνω λάθος το μάθημα (για το νέο 6ωρο μάθημα κατεύθυνσης μιλάμε ) απευθύνεται σε μαθητές που θα δώσουν για τμήματα πληροφορικής ή τμήματα σχετικά με την πληροφορική, οπότε μάλλον θα γράψουν ΠΟΛΛΕΣ γραμμές κώδικα ακόμα στη ζωή τους.
Άλλοι είναι οι διδακτικοί μας στόχοι.ποιοι είναι? και τι παραπάνω προσφέρει η pascal σε σχέση με πιο σύγχρονες γλώσσες για να τους πετύχουμε;
μπορείς να μου το εξηγήσεις λίγο αυτό?
Η Pascal ξεπερασμένη;
Αν κάποιος έχει στο μυαλό του την παλιά κλασική Pascal από τη μία, και server side scripting και web authoring με peer to peer επικοινωνία μεταξύ των browsers από την άλλη, ναι είναι ξεπερασμένη!
Αλλά όταν μιλάμε για μάθημα που απευθύνεται σε μαθητές σχολείων, πρέπει να θυμόμαστε ότι η Pascal είναι από τις γλώσσες που δημιουργήθηκαν ΚΑΙ για την εκπαίδευση, με ότι αυτό συνεπάγεται.
Από την άλλη, υπάρχουν πλέον μοντέρνες εκδόσεις της Pascal και σύγχρονα περιβάλλοντα με τα οποία μπορείς να κάνεις ακόμα και cross platform mobile development!
Δημιουργήθηκε για την εκπαίδευση πριν από 40 χρόνιαΚοίτα να δεις που στα καλά καθούμενα έγινα δικηγόρος της Pascal! ;D
το ότι μπορείς να κάνεις cross platform mobile development με Pascal δεν σημαίνει ότι είναι και ιδιαίτερα καλή ιδέα να το κάνεις.Συνάδελφε αν έχεις προσωπική αρνητική εμπειρία από κάτι τέτοιο, θα με ενδιέφερε πραγματικά να την ακούσω.
Κοίτα να δεις που στα καλά καθούμενα έγινα δικηγόρος της Pascal! ;DNαι, δεν πρόλαβα το προηγόύμενο post σου. Δεν απαξιώ να παρακολουθήσω την Pascal, έχω συντηρήσει και κώδικα γραμμένο σε Delphi. Το θεμα είναι ότι πλέον είναι παρωχημένη για διάφορους λόγους που δεν αξίζει να τους αναλύσουμε.
Η Pascal, ναι, δημιουργήθηκε πριν 40 χρόνια, αλλά δεν έπαψε ποτέ να εξελίσσεται, κάτι που αγνοούν αυτοί που απαξιούν να την παρακολουθήσουν.
Συνάδελφε αν έχεις προσωπική αρνητική εμπειρία από κάτι τέτοιο, θα με ενδιέφερε πραγματικά να την ακούσω.
Γιατί ασχολούμαι τα 2 τελευταία χρόνια με το θέμα, έχω δοκιμάσει 3-4 διαφορετικές προσεγγίσεις και δεν μπορώ να πω ότι συμμερίζομαι την άποψή σου.
Το θεμα είναι ότι πλέον είναι παρωχημένη για διάφορους λόγους που δεν αξίζει να τους αναλύσουμε.Σεβαστό.
Η καλύτερη επιλογή για cross platform σε mobile είναι χωρίς αμφιβολία το Xamarin.Δεν ξέρω αν είναι η καλύτερη, πάντως είναι σίγουρα το πρώτο αποτέλεσμα που βγαίνει αν γκουγκλάρεις "cross platform mobile development"...
Σεβαστό.
Απλώς πιστεύω πως θα ήταν καλύτερα όταν λέμε κάτι να το τεκμηριώνουμε κιόλας -έστω συνοπτικά- για να μη δημιουργούνται εσφαλμένες εντυπώσεις.
Δεν ξέρω αν είναι η καλύτερη, πάντως είναι σίγουρα το πρώτο αποτέλεσμα που βγαίνει αν γκουγκλάρεις "cross platform mobile development"...
Tο δοκίμασα πριν καιρό, αλλά σε λιγότερο από 1 εβδομάδα το παράτησα.
Αλλά πάλι μου πετάς τη μπάλα στην εξέδρα. Έχεις προσωπική αρνητική εμπειρία από αυτό που κατέκρινες στο προηγούμενο post μου;
Αλγόριθμος max(x,y)
Αν x > y τότε
max <- x
αλλιώς
max <- y
Τέλος
Τέλος
Και πάλι μιλάω για αφαίρεση συντακτικούείπα ότι δεν υπάρχει κανένας απολύτως λόγος να γράψεις Delphi για να έχεις cross platform builds.ΟΚ συνάδελφε, δεκτή η διευκρίνηση. Το είχες διατυπώσει τελείως διαφορετικά ("το ότι μπορείς να κάνεις cross platform mobile development με Pascal δεν σημαίνει ότι είναι και ιδιαίτερα καλή ιδέα να το κάνεις").
Προς spin: Δεν θα είναι ο στόχος μας η προετοιμασία επαγγελματιών προγραμματιστών. Απλά με μια έτοιμη γλώσσα και διδάσκουμε αλγοριθμική και παίρνουμε ως δώρο χειροπιαστές γνώσεις.Συμφωνώ απολύτως με αυτό που λες, αλλά έχω επιφυλάξεις για τα αγγλικά...
Το καλύτερο για μένα είναι να έχουμε αρχικά ψευδογλώσσα και στη συνέχεια να πηγαίνουμε σε μια πραγματική γλώσσα προγραμματισμού όπως η Python.Αυτό evry είναι μια πολύ ενδιαφέρουσα πρόταση.
Επίσης δεν μίλησα για cross platform development απαραίτητα.(Πως το βάλαμε αυτό στην κουβέντα? ο itt φταίει :D)
@itt
σχετικά με τη σχεδίαση GUI, το νόημα δεν είναι να κάνει ο μαθητής 2-3 κλικ, να δει ένα παράθυρο και να ξεγελαστεί ότι έφτιαξε μια διεπαφή προφανώς
αλλά να καταλάβει τι γίνεται, ότι το παράθυρο είναι ένα αντικείμενο κλπ.
Επίσης όσο καλό designer και να έχεις κάποια στιγμή θα χρειαστεί να γράψεις κώδικα για να συνδέσεις το front με το back end
Πάντως στη Java αν χρησιμοποιήσεις την βιβλιοθήκη της ACM μια χαρά μπορεί να βάλεις του μαθητές να σχεδιάσουν interface μόνο με κώδικα στα πρώτα μαθήματα.
απλά η Java έχει γενικότερο θέμα όσον αφορά την εκπαίδευση
Συμφωνώ απολύτως με αυτό που λες, αλλά έχω επιφυλάξεις για τα αγγλικά...
... | ... |
Algorithmic thinking will only be externally assessed at the level of pseudo-code. | This means the external assessment will focus on the student’s algorithmic thinking, not on their mastery of the syntax of a particular programming language. |
... | ... |
The internal assessment has changed from a being based on a Java-related task to a more open problem-solving exercise. | This will expand the choice of programming languages and better support the development of learners who match the IB learner profile |
... | ... |
ποιο IDE κατά τη γνώμη σου θα ήταν καλό για την τάξηΔεν έχω δουλέψει το PyCharm, αλλά αν κρίνω από την κατασκευάστρια (JetBrains) τότε θα είναι άριστο.
Παναγιώτη, αυτή ακριβώς είναι και η θέση η δική μου.
Αναγνωρίσω ότι όσοι υποστηρίζουν το αντίθετο το κάνουν με στόχο τη βελτίωση του μαθήματος, αλλά όπως λέει και το γνωστό ρητό, ο δρόμος προς την κόλαση είναι στρωμένος με καλές προθέσεις ;)
Στάθη, ξέχασα να το γράψω πριν, όχι, δεν συμφωνώ ότι η ΜΕΧΡΙΣ_ΟΤΟΥ πρέπει να παραληφθεί.Μικρό το κακό! Το συγκεκριμένο απλά έτσι το ανέφερα ως παράδειγμα, δεν το θεωρώ σημαντικό.
παρεμπιπτόντως παντα μισουσα τη ΓΛΩΣΣΑ και ήθελα ψευτογλώσσα (sic) . Αυτό πιστεύω και τώρα. Ανέφερα ΓΛΩΣΣΑ πιο πριν για να μη φαω ξυλο :P:angel: :angel:
Το γενικό Λύκειο το 1999 προσέφερε γενική παιδεία και αλγοριθμική σκέψη όχι επαγγελματικές δεξιότητες (που προσέφερε και προσφέρει το ΕΠΑΛ). Αυτό είχα ακούσει με τα αυτιά μου από τους σχεδιαστές του, σε σχετικά συνέδρια. και συμφωνούσα 100%.
Σε σχέση με τα Αγγλικά, όσοι έχουν διδάξει ή διδάσκουν σε επαρχιακά σχολεία δεν ξέρω αν το θεωρούν λυμμένο πρόβλημα. Πάντως δεν υπάρχει πέρα απο τα ειδικά μαθήματα άλλο μάθημα που να εξετάζεται σε ξένη γλώσσα. Εμείς δεν είμαστε ειδικό μάθημα, έγινε μεγάλος αγώνας για να μην είμαστε. Κάθε πείραμα που θα γίνει μπορεί να μας κοστίσει, οι φίλοι μας είναι εδώ γύρω πάντα. Και είναι πολλά σε αυτό το σημείο που δεν αναλύονται δημόσια. Αλλιώς, καταλήγουμε σε συνωστισμό...
Το πρόβλημα με το να εξηγούμε στην Pyhton πόσο κάνει 5/2 και πόσο 5/2.0 κλπ κλπ και γιατί στην επανάληψη απαιτείται :
δηλαδη να αναδεικνύονται πάντα οι συντακτικές ιδιαιτερότητες μιας γλώσσας δεν ξέρω αν θα βοηθήσει στη διδασκαλία της προγραμματιστικής-αλγοριθμικής σκέψης. Κάποιοι θα πουν ότι αυτά αφορούν μόνο στην αρχή της διδασκαλίας.
Κατά τη γνώμη μου το ζητούμενο από ένα ενδεχόμενο μάθημα προσανατολισμού θα πρέπει να είναι: η μύηση στον προγραμματισμό light ώστε στο Α έτος να μάθουν απλά το συντακτικό της γλώσσας στο τμήμα που θα σπουδάσουν.
To emacs βέβαια :D
Σκέφτομαι απλά τους 22 μαθητές της φετινής μου τεχνολογικής Β, που μπορεί να είναι και 26 του χρόνου, και
αναρωτιέμαι τι θα σήμαινε για αυτούς μία "κανονική", αληθινή γλώσσα προγραμματισμού.
Εμένα δεν μου αρέσει η ιδέα ψευδογλώσσα στην τάξη και python στο εργαστήριο. Ή το ένα ή το άλλο. Και τα δύο μαζί νομίζω σύγχυση θα δημιουργήσουν περισσότερο παρά ευκολία.
Κάτι που κάποιοι παραβλέπουν είναι ότι η Python δεν ειναι γνώση χρήσιμη μόνο σε προγραμμαστές. Η Python συνιστά μια πολύ καλή επιλογή για επιστημονικό scripting με τις άπειρες βιβλιοθήκες που υπάρχουν, είναι κατα τη γνώμη μου το εξευγενισμένο ανάλογο του Matlab στο συγκεκριμένο κομμάτι.
Το λέω γιατί τέτοιες ερωτήσεις μου έκαναν πολλοί μαθητές τα τελευταία χρόνιαΕυριπίδη αυτές τις ερωτήσεις τις έχουμε ακούσει άπειρες φορές και άλλες τόσες δώσαμε την πρέπουσα απάντηση.
Δηλαδή κάτι σαν τα dataset των βάσεων, αλλά στο πιο brutal. Επίσης χρειάζεται να αναθεωρηθεί το θέμα των πινάκων ώστε να μπορούν να συνυπάρξουν διαφορετικοί τύποι στον ίδιο πίνακα.
Στάθη το καλό με την dataset-like λύση είναι ότι θα τη μάθουν πιο εύκολα και χωρίς μπερδέματα τα παιδιά.Σπύρο μια έξτρα παράμετρος στην Γράψε_Αρχείο το λύνει αυτό το πρόβλημα.
Το κακό είναι ότι αναφορικά με την απόδοση έχει σε κάποιες περιπτώσεις τρελό overhead.
Σκέψου δηλαδή να θέλεις να προσθέσεις μία μόνο εγγραφή σε ένα μεγάλο αρχείο. Τότε θα πρέπει να φορτώσεις όλα τα περιεχόμενά του σε πίνακα, να προσθέσεις την εγγραφή στον πίνακα και να τον ξαναγράψεις στο αρχείο.
Αλλά από άποψη συντακτικού θα είναι αρκετά κομψή, ιδίως αν θέλουμε να περιορίσουμε τις σχετικές με αρχεία εντολές στο ελάχιστο.
Συμφωνώ κι εγώ με την Eri, τον Παναγιώτη, τον Στέργου.. το να επεκταθεί η ψευδογλώσσα σε μια λογική αύξηση της ύλης με στοιχεία αντικειμενοστραφούς προγραμματισμού, με βάση πάντα το γεγονός ότι η εξέταση είναι γραπτή!
Η εξειδικευμένη γνώση μιας γλώσσας θα δυσκολέψει και θα απομακρύνει τους μαθητές από κάθ ΄ αυτούς στόχους του μαθήματος.
Επίσης θεωρώ πως τα κριτήρια για την επιλογή μιας συγκεκριμένης γλώσσας προγραμματισμού όπου επιθυμούμε να εντάξουμε για εκπαιδευτικούς και μόνο σκοπούς είναι καθαρά υποκειμενικά. Για παράδειγμα.. εγώ διαφωνώ με τη python.. και θεωρώ καταλληλότερη την C++ (γενικού σκοπού, δημοφιλής, γρήγορη, με φοβερές δυνατότητες), ή την php (script language) , ή και την pascal (εκπαιδευτική) στην τελική.
Που ακριβώς διαφωνείς με την Python; Γιατί θεωρείς καταλληλότερη την C++;
Η εξειδικευμένη γνώση μιας γλώσσας θα δυσκολέψει και θα απομακρύνει τους μαθητές από κάθ ΄ αυτούς στόχους του μαθήματος.Θα ήθελα να ξανατονίσω ότι όλοι από όσους έχουν αναφερθεί σε συγκεκριμένες γλώσσες, υποστηρίζουν την διδασκαλία αλγοριθμικής μέσω της γλώσσας και όχι της ίδιας της γλώσσας. Άρα δεν απαιτείται εξειδικευμένη γνώση.
όμως δεν έχει σημασία τι πιστεύω εγώ… σημασία έχει ποια γλώσσα κάνει για τα παιδιά , και ποια θα υποστηρίξει τελεια τους σκοπούς του μαθήματος
ισχυρό υπόβαθρο
υποστηρίζει όλα τα είδη προγραμματισμού (δομημένος..αντικειμενοστραφής..γενικός…)
υποστηρίζει προγραμματισμό υψηλού και χαμηλού επιπέδου
παίζει σε όλες τις πλατφόρμες
σχεδιάζει GUI παντού
πολλές βιβλιοθήκες
τεράστιο community
υποστηρίζει όλα τα είδη προγραμματισμού (δομημένος..αντικειμενοστραφής..γενικός…)
όχι όλα, δεν υποστηρίζει συναρτησιακό σε αντίθεση με την python
@itt
Αν επιτρέπεται ποια σχολή έχεις τελειώσει, γιατί νομίζω ότι την έχεις πάρει στραβά από την αρχή
Βασικά υποστηρίζει, σε μια πολύ απλοϊκή μορφή, με τη χρήση του std::transform και κάποιων άλλων πραγμάτων στη functional βιβλιοθήκη (placeholders για binding και τέτοια).
Τέλος σε ότι αφορά τα αρχεία, η μόνη χρησιμότητα που βλέπω είναι σε πρακτικο επίπεδο και αφορά την εύκολη παροχή δεδομένων από και προς στον αλγόριθμο. Αυτό όμως μπορεί να γίνει και με εντελώς διαφανή τρόπο. Για παράδειγμα, με αλλαγή της Δεδομένα, Αποτελέσματα ώστε να επικοινωνούν με αρχεία, χωρίς να χρειάζεται ο μαθητής να ξέρει εντολές εγγραφής και ανάγνωσης.Σίγουρα, αν είναι μόνο για τα δεδομένα και τα αποτελέσματα υπάρχουν και άλλες λύσεις.
Θα το αναλύσω αύριο.Ουπς, σε αυτό ξέχασα να απαντήσω 8)
Δεν αντιλαμβάνομαι τον τόνο σου. Προφανώς και είναι το πρώτο αποτέλεσμα στην αναζήτηση, υποστηρίζεται επίσημα από τη Microsoft (http://blog.xamarin.com/microsoft-and-xamarin-expand-global-partnership/) και ο Miguel είναι από τους κορυφαίους προγραμματιστές στον πλανήτη.
Εγώ δεν συγκρίνω τα υπάρχοντα του ΑΕΠΠ με τις υπάρχουσες γλώσσες αλλά μια ιδανική γλώσσα κομμένη και ραμμένη στα μέτρα μας με την python για παράδειγμα μιας και αυτή φαίνεται να είναι η καλύτερη επιλογή.
ΚΑΛΕΣΕ Στυλό(ΚΑΤΩ)
ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 10
ΚΑΛΕΣΕ ΠΡΟΧΩΡΗΣΕ(20)
ΚΑΛΕΣΕ ΣΤΡΙΨΕ(10)
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Ουπς, σε αυτό ξέχασα να απαντήσω 8)
Εννοώ ότι καλή η δημοφιλία και η διαφήμιση και οι συνεργασίες και το google ranking, αλλά at the end of the day μήπως πρέπει να δοκιμάζουμε κι εμείς οι ίδιοι -έστω κάποιες από- τις προσφερόμενες λύσεις ώστε να έχουμε προσωπική άποψη;
Γιατί κάποια εναλλακτική μπορεί να μας ταιριάζει περισσότερο από αυτό που μας πλασάρουν ως ιδανικό.
Αυτό ως προβληματισμός...
στη c++11 όχι στη C++, έτσι δεν είναι?
πάντως όπως και να'χει από εκπαιδευτικής πλευράς δεν συγκρίνεται με τον τρόπο που το παρουσιάζει η python.
δεν είναι αναπόσπαστο μέρος της γλώσσας
Ναι προφανώς το έχω χρησιμοποιήσει αυτό, μαζί με διάφορες εναλλακτικές (πχ Cordova, Phonegap) και μιλώντας πάντα στο γενικό πλαίσιο που συζητάγαμε έγραψα αυτό που έγραψα. Δεν ήταν η συζήτηση για κάποιο συγκεκριμένο κομμάτι που δεν κάνει καλά το Xamarin και το κάνει καλύτερα η όποια εναλλακτική. Νομίζω ότι έχουμε συννενοηθεί οπότε δεν θα γράψω τίποτα παραπάνω (για να μην βγαίνουμε και off topic πάλι)
ΟΚ.
Αν και τα Cordova/Phonegap δεν θα τα θεωρούσα διαφορετικές εναλλακτικές αφού είναι ουσιαστικά το ίδιο πράμα. Το Phonegap είναι μια έκδοση του Cordova υπό τη σκέπη της Adobe. Η σημαντικότερη διαφορά τους είναι ότι το Phonegap έχει integration με το Dreamweaver της ίδιας εταιρίας. Η ίδια η Adobe έχει δεσμευτεί ότι δεν θα αποκλίνει από την επίσημη γραμμή του Apache για το Cordova. (Δεν είμαι infomaniac :D, απλά όλα αυτά τα συνάντησα για τη διπλωματική μου)
Όσον αφορά το Xamarin που αναφέρεις πάλι, δεν αμφιβάλλω ότι είναι καλή λύση. Αλλά δεν είναι αυτός ο -μόνος- λόγος που έχει τη στήριξη του γίγαντα Microsoft (με ότι αυτό συνεπάγεται). Ένας σημαντικός λόγος είναι ότι χρησιμοποιεί κατά κόρον τη C#, το πνευματικό παιδί της Microsoft που φτιάχθηκε για την προώθηση της .NET πλατφόρμας της. Επίσης έχουν δώσει βαρύτητα στη συνεργασία του προγράμματος με το Visual Studio. Οπότε στην MS το βλέπουν ως πρώτης τάξεως ευκαιρία να μπουν σε αυτήν την αγορά, αφού εξάλλου και η native γλώσσα των Windows Phone είναι η C#. (Να δεις που θα πέσει εξαγορά με πολλά $$ στο άμεσο μέλλον!)
Ο λόγος που είχα παρατήσει το Xamarin είναι ότι για να έχεις αξιοπρεπές πακέτο πρέπει να πληρώνεις συνδρομή. Μια μόδα που δυστυχώς εξαπλώνεται, ιδίως στη νεαρή cross-platform σκηνή. Και εκεί που έχουν φτάσει τους μισθούς μας τα σκέφτεσαι ακόμα κι αυτά. Το δωρεάν πακέτο είχε, αν θυμάμαι καλά, όριο όσον αφορά το μέγεθος της εφαρμογής που θα φτιάξεις. Δεν ξέρω αν ισχύει ακόμα.
Έχεις δίκιο, είμαστε εντελώς off-topic αλλά ήταν ευκαιρία για μια ενδιαφέρουσα ανταλλαγή απόψεων...
RECEIVE a FROM KEYBOARD
RECEIVE b FROM KEYBOARD
SET sum TO a + b
SEND sum TO DISPLAY
Μάλιστα. Ο ίδιος ο δημιουργός της παραδέχεται ότι η Haggis, κάθε άλλο παρά ψευδογλώσσα είναι, πρόκειται για μια ακόμα γλώσσα προγραμματισμού.
Διότι σύμφωνα με την άποψή του στις εξετάσεις δεν μπορείς να έχεις ψευδογλώσσα. (Αυτό που κάναμε εμείς τόσα χρόνια)
Μα τι είναι τελικά αυτή η Haggis? Ας δούμε ένα παράδειγμα. Το παρακάτω πρόγραμμα διαβάζει δυο αριθμούς και εμφανίζει το άθροισμα τους. (Ελπίζω να το έχω σωστά γιατί τώρα μαθαίνω Haggis :D)Κώδικας: [Επιλογή]RECEIVE a FROM KEYBOARD
RECEIVE b FROM KEYBOARD
SET sum TO a + b
SEND sum TO DISPLAY
Διάβασε a
Διάβασε b
sum <-- a + b
Εμφάνισε sum
Ποια η διαφορά;
Γίνεται πλουσιότερος ο μαθητής αν γράψει αυτές τις εντολές σε Pascal, Python, Java, C ή οποιαδήποτε άλλη γλώσσα;
Δεν θέλουμε να διδάξουμε τι σημαίνει μεταβλητή;
Δεν θέλουμε να διδάξουμε τι σημαίνει είσοδος από το πληκτρολόγιο;
Δεν θέλουμε να διδάξουμε τι σημαίνει εντολή εκχώρησης τιμής σε μεταβλητή;
Δεν θέλουμε να διδάξουμε τι σημαίνει έξοδος προς κάποιο μέσο;
Απαιτείται κάποιος να μάθει την συντακτική λεπτομέρεια της εντολής εκχώρησης τιμής κάθε γλώσσας;
Στην τελική, οι μαθητές που διδάξαμε τα 15 αυτά χρόνια, αντιμετώπισαν κάποιο πρόβλημα στην μετέπειτα ενασχόληση τους με οποιαδήποτε γλώσσα;
Μπορεί κάποιος να μου αποσαφηνίσει τον βασικό λόγο διδασκαλίας συγκεκριμένης γλώσσας σε σχέση με μια γλώσσα δημιουργημένη για διδακτικούς σκοπούς;
Επίλυση απλών υπολογιστικών προβλημάτων θέλουμε να διδάξουμε ή προγραμματισμό κάποιας συγκεκριμένης γλώσσας;
Γιατί είναι τόσο μεγάλο πλεονέκτημα για κάποιον το να λέει ότι γνωρίζει την γλώσσα τάδε;
Οι γλώσσες προγραμματισμού είναι γερμανικά, σουηδικά ή αράβικα;
Με πολύ λίγα λόγια, έχουμε δυο υπηρεσίες, όπου βλέπει η μία το πλήκτρο του ποντικιού, η υπηρεσία δείκτη και μια άλλη που βλέπει ένα συγκεκριμένο πλήκτρο στο πληκτρολόγιο. Υπάρχει ένας Χειριστής Γεγονότων τον οποίο αρχικά χρησιμοποιούμε για να φτιάξουμε τρία υποκείμενα πλήκτρα, ως στοιχεία ελέγχου, και τα ονομάζουμε β1, β2, β3. Φτιάχνουμε τρεις υπηρεσίες, δυο για τα πλήκτρα 1 και 2, καθώς και μια για το αριστερό πλήκτρο του ποντικού. Καταχωρούμε στο Χειριστή Γεγονότων την κάθε υπηρεσία στη λίστα γεγονότων. Επίσης καταχωρούμε ποια υπηρεσία συνδέεται με ποιο υποκείμενο (ή στοιχείο ελέγχου). Μάλιστα εδώ έχουμε καταχωρήσει το πλήκτρο 1 του πληκτρολογίου στα β1 και β2. Μετά από το στήσιμο αυτό πάμε σε ένα βρόχο όπου κάθε 150 ms προβαίνει σε παρατήρηση, δηλαδή στην παρακολούθηση των υπηρεσιών. Αν κάποια υπηρεσία επιβεβαιωθεί, τότε καλούμε το αντίστοιχο βν (1 ή 2 ή 3) και ειδικότερα την συνάρτηση Κάλεσε_Πίσω η οποία καλεί από το στοιχείο ελέγχου τον Χειριστή Γεγονότων με την συνάρτηση Ερώτημα παρέχοντάς του την αναφορά σε αυτόν, ώστε τελικά ο Χειριστής να δει ποιος είναι, να διαβάσει την ονομασία του και να μας την δείξει στην οθόνη. Με το δεξί πλήκτρο του ποντικού τερματίζουμε το βρόχο και το πρόγραμμα.