Σάββατο, 14 Νοεμβρίου 2015

Νέα αναθεώρηση 86 (βελτιστοποίηση για Windows 7)

Με αυτή την αναθεώρηση προσπάθησα να βελτιώσω όσο περισσότερο γίνεται τον κώδικα της γλώσσας Μ2000 (του περιβάλλοντος που εκτελούνται τα προγράμματά της) για Windows 7 και πάνω (θα το δω βέβαια σε λίγο καιρό, κάνοντας περισσότερες δοκιμές).
Το πρόβλημα που υπήρχε, έφυγε για ένα διάστημα αναθεωρήσεων αλλά λόγω νέων προσθηκών εμφανίστηκε  ξανά. Από αυτή την αναθεώρηση χρησιμοποίησα τη Visual Basic στα Windows 7, ώστε τις αλλαγές να τις δοκιμάζω άμεσα. Βελτιώθηκε η ταχύτητα άλλο ένα 30%.
Τα 7 με τα Xp διαφέρουν, και ενώ η γλώσσα που φτιάχνει το περιβάλλον της Μ2000 είναι ίδια και στις δυο περιπτώσεις (αφού ο κώδικας είναι ένας για κάθε λειτουργικό), οι ρουτίνες του λειτουργικού που καλεί το περιβάλλον δεν έχουν την ίδια απόκριση. Αυτή είναι και η δυσκολία να "διατηρήσει" κανείς συμβατότητα. Αν για παράδειγμα άφηνα το υπάρχον σύστημα συμβατότητας των 7 για να δώσω "συμβατότητα" τότε χάνει το πρόγραμμα σε ταχύτητα. Το 2014 από Visual Basic 5  έκανα τις μετατροπές για Visual Basic 6. Αν και μοιάζουν οι γλώσσες, δεν έχουν την ίδια απόκριση στο χειρισμό των φορμών. Σημαντικό τμήμα που φτιάχτηκε πέρυσι το Σεπτέμβριο είναι οι "ιδιωτικές" φόρμες του περιβάλλοντος Μ2000. Έτσι σε κάθε λειτουργικό η γλώσσα εμφανίζεται ίδια! (ακόμα και σε Ubuntu με wine). Αυτό που επιδιώκω είναι το κάθε πρόγραμμα σε Μ2000 να τρέχει ανεξάρτητα από το περιβάλλον που βρίσκεται. Αν και μπορεί κανείς να φτιάξει πιο εξαρτημένα προγράμματα, η γενική γραμμή είναι τα προγράμματα να είναι ανεξάρτητα από το που βρίσκεται το περιβάλλον.
Ουσιαστικά το περιβάλλον της Μ2000 είναι μια εικονική μηχανή. Κάθε φορά που θα αλλάζουμε λειτουργικά θα πρέπει να βελτιστοποιώ το κώδικα, πιθανόν να τον μετατρέπω, και αυτό λέγεται συντήρηση.
Μια λύση είναι να σταματήσει η βελτιστοποίηση και να επιλεχθεί η λύση του VirtualBox ή κάτι ανάλογου. Δηλαδή να τρέχουμε τη γλώσσα σε εικονικό υπολογιστή. Αυτή θα είναι και η τελική λύση, αν δεν αναλάβει άλλος να συνεχίσει την επέκταση και βελτίωση της γλώσσας.

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

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