Σάββατο 21 Μαρτίου 2020

Αναθεώρηση 11, Έκδοση 9.9

Σε αυτήν την έκδοση διορθώθηκε ένα αντικείμενο Mutex ή Μοναδικό το οποίο κρατέι μια λίστα μοναδικών αντικειμένων στο λειτουργικό σύστημα, όπου μόνο ένα πρόγραμμα μπορεί να έχει την ιδιοκτησία του. Με αυτό το τρόπο στο παρεχόμενο info.gsb (στο αρχείο εγκατάστασης) υπάρχει το CLOCK το οποίο ελέγχει αν τρέχει ένα ρολόι με χρήση mutex, και αν ήδη τρέχει τότε το πρόγραμμα (Το τμήμα δηλαδή Clock) τερματίζει (για να μην τρέξει και δεύτερη φορά). Όταν γράφουμε CLOCK εκτελείται το CLOCK1 το οποίο ανοίγει δεύτερο m2000.exe και κάνει τα μαγικά του για να τρέξει εκεί το CLOCK (και εκεί κοιτάει αν ήδη τρέχει οπότε τερματίζει πριν μας δείξει το ρολόι).

Επίσης μπήκε κώδικας που επιστρέφει λάθος όταν περάσουμε με αναφορά μια στατική μεταβλητή ή ένα στοιχείο πίνακα σε ρουτίνα. Κανονικά μόνο σε κλήση τμήματος και συνάρτηση μπορούν να γίνουν αυτά τα περάσματα με αναφορά, γιατί λειτουργούν με copy in copy out, και ο μηχανισμός συνδέεται με το αντικείμενο εκτέλεσης το οποίο έχουν τα τμήματα και οι συναρτήσεις αλλά δεν έχουν οι ρουτίνες (οι οποίες μοιράζονται το αντικείμενο εκτέλεσης στο περιβάλλον που καλούνται).

Στο info.gsb μπήκε και το OOP2, που δείχνει ότι το OOP1 δηλαδή πως φτιάχνουμε με προγραμματισμό με αντικείμενα υποδομή για γεγονότα (το OOP1 είχα φτιάξει πριν φτιάξω το αντικείμενο Γεγονός και ότι άλλο έφερε μετά αυτό, όπως το γραφικό σύστημα διεπαφής χρήστη GUI). Στο OOP2 αλλάζουμε το σχεδιασμό των αντικειμένων ώστε να έχουμε ένα κοινό αντικείμενο το οποίο να κληρονομεί άλλα δύο (όπου στο OOP1 τα δυο αυτά δεν έχουν κοινό πρόγονο, αλλά έχουν ακριβώς την ίδια χρήση, με ίδιο σχεδιασμό στο 90% χοντρικά θα λέγαμε).

Μπήκε το Conv2 το πρόγραμμα για την μετατροπή βάσης.

Ανέβηκε μια πιο βελτιωμένη έκδοση του μικρού εγχειριδίου (με ημερομηνία 21/3/2020). Μπήκαν νέα παραδείγματα και μια επεξήγηση για τα περάσματα με αναφορά,.
Ένα από τα παραδείγματα είναι το Textout στα ελληνικά. Το πρόγραμμα στα αγγλικά υπάρχει στο info.gsb και δείχνει πως δείχνουμε κείμενο ενώ ταυτόχρονα το προφέρει το σύστημα ομιλίας.

Αυτή την εποχή έχω χρόνο (είμαι ήδη μια εβδομάδα μέσα στο σπίτι λόγω της επιδημίας του κορονοϊού)

Επιπλέον γράφω ένα paper στα Αγγλικά για να εξηγεί με παραδείγματα τη γλώσσα Μ2000 (όχι το περιβάλλον) στη βασική της μορφή, τα στοιχεία της γλώσσας, και το πως προγραμματίζουμε με το παλιό στυλ και πως με το νέο, και φυσικά ορίζω τι είναι παλιό και τι νέο. Είναι τώρα 41 σελίδες και ελπίζω να μην περάσει τις 80. Κάποια στιγμή θα το φτιάξω και στα Ελληνικά. Είναι διαφορετικό από το Μικρό Εγχειρίδιο. Στο Μικρό εγχειρίδιο γίνεται αναφορά στη Γλώσσα Μ2000 και στο Περιβάλλον Μ2000, με τεχνικές λεπτομέρειες, και ομαδοποιημένα με στόχο να λειτουργεί σαν σημείο αναφοράς. Το paper είναι για εκπαίδευση, χωρίς όμως ασκήσεις.δηλαδή αναφέρεται σε μικρά προγράμματα και παράλληλα δείχνει τα στοιχεία της γλώσσας.

Λόγω καραντίνας λοιπόν θα υπάρξει χρόνος να ασχοληθεί κανείς με την Μ2000.

Καλή Καραντίνα σε όλους



Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου

You can feel free to write any suggestion, or idea on the subject.