Tanchiki in Pascal: πώς διδάσκονταν τα παιδιά προγραμματισμό στη δεκαετία του '90 και τι ήταν λάθος με αυτό

Λίγα λόγια για το πώς ήταν η σχολική «επιστήμη των υπολογιστών» τη δεκαετία του '90 και γιατί όλοι οι προγραμματιστές τότε ήταν αποκλειστικά αυτοδίδακτοι.

Tanchiki in Pascal: πώς διδάσκονταν τα παιδιά προγραμματισμό στη δεκαετία του '90 και τι ήταν λάθος με αυτό

Με τι διδάχτηκαν να προγραμματίζουν τα παιδιά

Στις αρχές της δεκαετίας του '90, τα σχολεία της Μόσχας άρχισαν να εξοπλίζονται επιλεκτικά με μαθήματα υπολογιστών. Τα δωμάτια εξοπλίστηκαν αμέσως με κάγκελα στα παράθυρα και μια βαριά σιδερένια πόρτα. Από κάπου εμφανίστηκε ένας δάσκαλος πληροφορικής (έμοιαζε με τον πιο σημαντικό σύντροφο μετά τον διευθυντή), του οποίου το κύριο καθήκον ήταν να βεβαιωθεί ότι κανείς δεν αγγίζει τίποτα. Τίποτα απολύτως. Ακόμα και η εξώπορτα.
Στις αίθουσες διδασκαλίας μπορούσε κανείς να βρει πιο συχνά τα συστήματα BK-0010 (στις ποικιλίες του) και BK-0011M.

Tanchiki in Pascal: πώς διδάσκονταν τα παιδιά προγραμματισμό στη δεκαετία του '90 και τι ήταν λάθος με αυτό
Φωτογραφία τραβηγμένη ως εκ τούτου,

Τα παιδιά ενημερώθηκαν για τη γενική δομή, καθώς και καμιά δεκαριά εντολές ΒΑΣΙΚΕΣ ώστε να μπορούν να σχεδιάζουν γραμμές και κύκλους στην οθόνη. Για τις κατώτερες και τις μεσαίες τάξεις, αυτό μάλλον ήταν αρκετό.

Υπήρχαν κάποια προβλήματα με τη διατήρηση των δημιουργιών (προγραμμάτων). Τις περισσότερες φορές, οι υπολογιστές που χρησιμοποιούν ελεγκτές μονοκάναλου συνδυάζονταν σε ένα δίκτυο με τοπολογία «κοινού διαύλου» και ταχύτητα μετάδοσης 57600 baud. Κατά κανόνα, υπήρχε μόνο μία μονάδα δίσκου και συχνά τα πράγματα πήγαιναν στραβά με αυτήν. Μερικές φορές λειτουργεί, μερικές φορές όχι, μερικές φορές το δίκτυο παγώνει, μερικές φορές η δισκέτα δεν είναι αναγνώσιμη.

Στη συνέχεια πήρα μαζί μου αυτή τη δημιουργία χωρητικότητας 360 kB.

Tanchiki in Pascal: πώς διδάσκονταν τα παιδιά προγραμματισμό στη δεκαετία του '90 και τι ήταν λάθος με αυτό

Οι πιθανότητες να βγάλω ξανά το πρόγραμμά μου ήταν 50-70 τοις εκατό.

Ωστόσο, το κύριο πρόβλημα με όλες αυτές τις ιστορίες με υπολογιστές BC ήταν τα ατελείωτα παγώματα.

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

Πιο κοντά στο 1993, σε ορισμένα σχολεία και λύκεια, εμφανίστηκαν κανονικές τάξεις με 286 αυτοκίνητα και σε ορισμένα μέρη υπήρχαν ακόμη και τρία ρούβλια. Όσον αφορά τις γλώσσες προγραμματισμού, υπήρχαν δύο επιλογές: όπου τελείωνε το “BASIC”, ξεκινούσε το “Turbo Pascal”.

Προγραμματισμός σε "Turbo Pascal" χρησιμοποιώντας το παράδειγμα "tanks"

Χρησιμοποιώντας το Pascal, τα παιδιά διδάχτηκαν να δημιουργούν βρόχους, να σχεδιάζουν κάθε είδους συναρτήσεις και να εργάζονται με πίνακες. Στο φυσικομαθηματικό λύκειο, όπου «έμεινα» για ένα διάστημα, ένα ζευγάρι την εβδομάδα ανατέθηκε στην πληροφορική. Και για δύο χρόνια υπήρχε αυτό το βαρετό μέρος. Φυσικά, ήθελα να κάνω κάτι πιο σοβαρό από την εμφάνιση των τιμών ενός πίνακα ή κάποιου είδους ημιτονοειδούς στην οθόνη.

Δεξαμενές

Το Battle City ήταν ένα από τα πιο δημοφιλή παιχνίδια στις κονσόλες κλώνων NES (Dendy κ.λπ.).

Tanchiki in Pascal: πώς διδάσκονταν τα παιδιά προγραμματισμό στη δεκαετία του '90 και τι ήταν λάθος με αυτό

Το 1996, η δημοτικότητα των 8-bit είχε περάσει, μάζευαν από καιρό τη σκόνη σε ντουλάπες και μου φαινόταν ωραίο να φτιάξω έναν κλώνο του "Tanks" για τον υπολογιστή ως κάτι μεγάλης κλίμακας. Το παρακάτω είναι ακριβώς πώς τότε ήταν απαραίτητο να αποφύγουμε για να γράψουμε κάτι με γραφικά, ποντίκι και ήχο στον Pascal.

Tanchiki in Pascal: πώς διδάσκονταν τα παιδιά προγραμματισμό στη δεκαετία του '90 και τι ήταν λάθος με αυτό

Μπορείτε να σχεδιάσετε μόνο μπαστούνια και κύκλους

Ας ξεκινήσουμε με τα γραφικά.

Tanchiki in Pascal: πώς διδάσκονταν τα παιδιά προγραμματισμό στη δεκαετία του '90 και τι ήταν λάθος με αυτό

Στη βασική του έκδοση, ο Pascal σας επέτρεψε να σχεδιάσετε μερικά σχήματα, να ζωγραφίσετε και να καθορίσετε τα χρώματα των σημείων. Οι πιο προηγμένες διαδικασίες στη μονάδα Graph που μας φέρνουν πιο κοντά στα sprites είναι το GetImage και το PutImage. Με τη βοήθειά τους, ήταν δυνατό να αποτυπωθεί ένα τμήμα της οθόνης σε μια προηγουμένως δεσμευμένη περιοχή μνήμης και στη συνέχεια να χρησιμοποιηθεί αυτό το κομμάτι ως εικόνα bitmap. Με άλλα λόγια, εάν θέλετε να επαναχρησιμοποιήσετε κάποια στοιχεία ή εικόνες στην οθόνη, πρώτα τα σχεδιάζετε, τα αντιγράφετε στη μνήμη, διαγράφετε την οθόνη, σχεδιάζετε την επόμενη και ούτω καθεξής μέχρι να δημιουργήσετε την επιθυμητή βιβλιοθήκη στη μνήμη. Δεδομένου ότι όλα γίνονται γρήγορα, ο χρήστης δεν παρατηρεί αυτά τα κόλπα.

Η πρώτη ενότητα όπου χρησιμοποιήθηκαν sprites ήταν ο επεξεργαστής χαρτών.

Tanchiki in Pascal: πώς διδάσκονταν τα παιδιά προγραμματισμό στη δεκαετία του '90 και τι ήταν λάθος με αυτό

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

Το ποντίκι είναι ήδη το τέλος της δεκαετίας του '90

Φυσικά, όλοι είχαν ποντίκια, αλλά μέχρι τα μέσα της δεκαετίας του '90 χρησιμοποιήθηκαν μόνο στα Windows 3.11, σε πακέτα γραφικών και σε μικρό αριθμό παιχνιδιών. Το Wolf και το Doom παίζονταν μόνο με το πληκτρολόγιο. Και στο περιβάλλον DOS το ποντίκι δεν χρειαζόταν ιδιαίτερα. Επομένως, η Borland δεν συμπεριέλαβε καν τη μονάδα ποντικιού στο τυπικό πακέτο. Έπρεπε να τον αναζητήσεις μέσω των γνωστών σου, οι οποίοι σήκωσαν τα χέρια τους και αναφώνησαν απαντώντας: «Τι τον χρειάζεσαι;»

Ωστόσο, η εύρεση μιας ενότητας για ψηφοφορία στο ποντίκι είναι μόνο η μισή μάχη. Για να κάνετε κλικ στα κουμπιά της οθόνης με το ποντίκι, έπρεπε να σχεδιαστούν. Επιπλέον, σε δύο εκδόσεις (πατημένη και μη πατημένη). Ένα κουμπί που δεν πατιέται έχει ένα ελαφρύ επάνω μέρος και μια σκιά από κάτω. Όταν πατηθεί, είναι το αντίστροφο. Στη συνέχεια, σχεδιάστε το στην οθόνη τρεις φορές (δεν πατήθηκε, πιέστηκε, μετά δεν ξαναπατήθηκε). Επιπλέον, μην ξεχάσετε να ορίσετε καθυστερήσεις για εμφάνιση και να αποκρύψετε τον κέρσορα.

Tanchiki in Pascal: πώς διδάσκονταν τα παιδιά προγραμματισμό στη δεκαετία του '90 και τι ήταν λάθος με αυτό

Για παράδειγμα, η επεξεργασία του κύριου μενού σε κώδικα έμοιαζε με αυτό:

Tanchiki in Pascal: πώς διδάσκονταν τα παιδιά προγραμματισμό στη δεκαετία του '90 και τι ήταν λάθος με αυτό

Ήχος – Μόνο ηχείο υπολογιστή

Μια ξεχωριστή ιστορία με ήχο. Στις αρχές της δεκαετίας του 'XNUMX, οι κλώνοι Sound Blaster μόλις προετοιμάζονταν για τη νικηφόρα πορεία τους και οι περισσότερες εφαρμογές λειτουργούσαν μόνο με το ενσωματωμένο ηχείο. Το μέγιστο των δυνατοτήτων του είναι η ταυτόχρονη αναπαραγωγή μόνο ενός τόνου. Και αυτό ακριβώς σας επέτρεψε να κάνετε η Turbo Pascal. Μέσω της διαδικασίας του ήχου ήταν δυνατό να «τρίζει» με διαφορετικές συχνότητες, κάτι που αρκεί για τους ήχους των πυροβολισμών και των εκρήξεων, αλλά για μια μουσική προφύλαξη οθόνης, όπως ήταν της μόδας τότε, αυτό δεν ήταν κατάλληλο. Ως αποτέλεσμα, βρέθηκε μια πολύ πονηρή λύση: στο αρχείο του ίδιου του λογισμικού, ανακαλύφθηκε ένα "αρχείο exe", το οποίο κατεβάστηκε μία φορά από κάποιο BBS. Μπορούσε να κάνει θαύματα - να παίζει ασυμπίεστα wavs μέσω ενός ηχείου υπολογιστή και το έκανε από τη γραμμή εντολών και δεν είχε πραγματική διεπαφή. Το μόνο που χρειαζόταν ήταν να το καλέσετε μέσω της διαδικασίας Pascal exec και να βεβαιωθείτε ότι αυτή η κατασκευή δεν κατέρρευσε.

Ως αποτέλεσμα, η δολοφονική μουσική εμφανίστηκε στην προφύλαξη οθόνης, αλλά συνέβη ένα αστείο πράγμα με αυτό. Το 1996, είχα ένα σύστημα σε ένα Pentium 75, με μανιβέλα μέχρι τα 90. Όλα λειτουργούσαν καλά σε αυτό. Στο πανεπιστήμιο όπου εγκαταστάθηκε ο Pascal για εμάς στο δεύτερο εξάμηνο, υπήρχαν στην τάξη φθαρμένα «τρία ρούβλια». Σε συμφωνία με τον δάσκαλο, πήγα αυτά τα τανκς στο δεύτερο μάθημα για να κάνω τεστ και να μην ξαναπάω εκεί. Και έτσι, μετά την εκτόξευση, ένας δυνατός βρυχηθμός αναμεμειγμένος με γάργαρους εντερικούς ήχους βγήκε από το ηχείο. Γενικά, η "κάρτα τριών ρουβλίων" DX 33 megahertz αποδείχθηκε ότι δεν μπορούσε να περιστρέψει σωστά το ίδιο "εκτελέσιμο". Αλλά κατά τα άλλα όλα ήταν καλά. Φυσικά, χωρίς να υπολογίζεται η αργή ψηφοφορία από το πληκτρολόγιο, που χάλασε όλο το gameplay, ανεξάρτητα από την απόδοση του υπολογιστή.

Αλλά το κύριο πρόβλημα δεν είναι στον Πασκάλ

Κατά την κατανόηση μου, το "Tanks" είναι το μέγιστο που θα μπορούσε να αποσπαστεί από το Turbo Pascal χωρίς ένθετα συναρμολόγησης. Οι προφανείς ελλείψεις του τελικού προϊόντος είναι η αργή ψηφοφορία στο πληκτρολόγιο και η αργή απόδοση γραφικών. Η κατάσταση επιδεινώθηκε από τον εξαιρετικά μικρό αριθμό βιβλιοθηκών και ενοτήτων τρίτων. Θα μπορούσαν να μετρηθούν στα δάχτυλα του ενός χεριού.

Αυτό όμως που με στενοχώρησε περισσότερο ήταν η προσέγγιση της σχολικής εκπαίδευσης. Κανείς δεν είπε τότε στα παιδιά για τα πλεονεκτήματα και τις δυνατότητες άλλων γλωσσών. Στην τάξη, σχεδόν αμέσως άρχισαν να μιλούν για το start, println και if, που κλείδωσε τους μαθητές μέσα στο παράδειγμα BASIC-Pascal. Και οι δύο αυτές γλώσσες μπορούν να θεωρηθούν αποκλειστικά εκπαιδευτικές. Η «μαχητική» χρήση τους είναι σπάνιο φαινόμενο.

Το γιατί μαθαίνουμε στα παιδιά ψεύτικες γλώσσες είναι ένα μυστήριο για μένα. Αφήστε τους να είναι πιο οπτικοί. Αφήστε τις παραλλαγές του BASIC να χρησιμοποιούνται εδώ και εκεί. Αλλά, σε κάθε περίπτωση, εάν ένα άτομο αποφασίσει να συνδέσει το μέλλον του με τον προγραμματισμό, θα πρέπει να μάθει άλλες γλώσσες από την αρχή. Γιατί λοιπόν να μην ανατίθενται στα παιδιά τα ίδια εκπαιδευτικά καθήκοντα, αλλά μόνο σε μια κανονική πλατφόρμα (γλώσσα), εντός της οποίας θα μπορούσαν να αναπτυχθούν περαιτέρω ανεξάρτητα;

Μιλώντας για καθήκοντα. Στο σχολείο και στο κολέγιο ήταν πάντα αφηρημένοι: υπολόγισε κάτι, κατασκεύασε μια συνάρτηση, σχεδίασε κάτι. Σπούδασα σε τρία διαφορετικά σχολεία, συν ότι είχαμε το «Pascal» στο πρώτο έτος του ινστιτούτου, και ούτε μια φορά οι δάσκαλοι δεν έθεσαν κάποιο πραγματικό εφαρμοσμένο πρόβλημα. Για παράδειγμα, φτιάξτε ένα σημειωματάριο ή κάτι άλλο χρήσιμο. Όλα ήταν τραβηγμένα. Και όταν ένας άνθρωπος ξοδεύει μήνες λύνοντας κενά προβλήματα, τα οποία μετά πάνε στα σκουπίδια... Γενικά, οι άνθρωποι φεύγουν ήδη από το ινστιτούτο καμμένοι.

Παρεμπιπτόντως, στο τρίτο έτος του ίδιου πανεπιστημίου, μας δόθηκαν «συν» στο πρόγραμμα. Φαινόταν καλό, αλλά ο κόσμος ήταν κουρασμένος, γεμάτος ψεύτικες και «προπονητικές» εργασίες. Κανείς δεν ήταν τόσο ενθουσιώδης όσο την πρώτη φορά.

Υ.Γ έψαξα στο google ποιες γλώσσες διδάσκονται τώρα στα μαθήματα πληροφορικής στα σχολεία. Όλα είναι ίδια όπως πριν από 25 χρόνια: Basic, Pascal. Η Python έρχεται σε σποραδικά εγκλείσματα.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο