Η εξειδικευμένη γνώση μιας γλώσσας θα δυσκολέψει και θα απομακρύνει τους μαθητές από κάθ ΄ αυτούς στόχους του μαθήματος.
Θα ήθελα να ξανατονίσω ότι όλοι από όσους έχουν αναφερθεί σε συγκεκριμένες γλώσσες, υποστηρίζουν την διδασκαλία αλγοριθμικής μέσω της γλώσσας και όχι της ίδιας της γλώσσας. Άρα δεν απαιτείται εξειδικευμένη γνώση.
Σε ότι αφορά την αντικειμενοστρέφεια, θεωρώ ότι είναι εκτός των στόχων του μαθήματος και έννοιες όπως κληρονομικότητα, πολυμορφισμός κτλ. θα αποδειχθούν εξαιρετικά δυσνόητες για τους μαθητές. Επιπλέον η αντικειμενοστρέφεια δεν διδάσκει αλγοριθμική σκέψη αλλά είναι καλύτερη ως ένας τρόπος οργάνωσης και επαναχρησιμοποίησης μεγάλων τμημάτων κώδικα (κάτι που δεν αφορά τους μαθητές).
Από την άλλη αυτό που όντως προσφέρει είναι ότι επιτρέπει μοντελοποίηση και αφαίρεση στα δεδομένα, πράγμα απόλυτα χρήσιμο για την πρακτική εφαρμογή της αλγοριθμικής σκέψης. Όμως μπορεί να επιτευχθεί και με απλούστερο τρόπο, δηλ. με απλή ομαδοποίηση μεταβλητών διαφορετικού τύπου. Γι αυτόν τον λόγο είχα αναφέρει στο πρώτο post (που έχει κάνει παράθεση αρχικά ο Στάθης), τις tuples (εγγραφές δηλ. χωρίς ονόματα πεδίων). Έτσι για παράδειγμα θα έχουμε δυνατότητα να παρακάμψουμε τους παράλληλους πίνακες και να έχουμε πίνακες από tuples.
Ακόμα πιο σημαντική θεωρώ την ύπαρξη της αναδρομής, που επιτρέπει στους μαθητές να υλοποίησουν στη γλώσσα τη διάσπαση ενός προβλήματος σε απλούστερα, εκτός βέβαια του (ιστορικού) γεγονότος ότι πρακτικά έχει γεννήσει την επιστήμη μας (η υπολογισιμότητα λέγεται και θεωρία αναδρομής).
Τέλος σε ότι αφορά τα αρχεία, η μόνη χρησιμότητα που βλέπω είναι σε πρακτικο επίπεδο και αφορά την εύκολη παροχή δεδομένων από και προς στον αλγόριθμο. Αυτό όμως μπορεί να γίνει και με εντελώς διαφανή τρόπο. Για παράδειγμα, με αλλαγή της Δεδομένα, Αποτελέσματα ώστε να επικοινωνούν με αρχεία, χωρίς να χρειάζεται ο μαθητής να ξέρει εντολές εγγραφής και ανάγνωσης.
ΥΓ:
Στάθη η αφήγηση του Νίκου μου θύμισε ότι εκείνη τη μέρα στην ημερίδα κάτι είχαμε πει στο διάδρομο περί χρήσης Python στο μάθημα. Θυμάσαι τι;