Εμφάνιση αναρτήσεων με ετικέτα 10-Liner. Εμφάνιση όλων των αναρτήσεων
Εμφάνιση αναρτήσεων με ετικέτα 10-Liner. Εμφάνιση όλων των αναρτήσεων

Παρασκευή 3 Απριλίου 2026

ZXBook: διαβάστε βιβλία στον Spectrum σας!

Πριν από ένα μήνα περίπου σας είχα γράψει για τα περίφημα 10-liners, με αφορμή το ZXSheet του Matthew Begg. Από τότε έχει κυκλοφορήσει σωρεία αντίστοιχων παραγωγών (κυρίως παιχνίδια) για όλες τις κλασικές πλατφόρμες που ήταν εφοδιασμένες με BASIC ως βασική και ενσωματωμένη γλώσσα προγραμματισμού, και αν δεν απατώμαι σήμερα-αύριο ολοκληρώνεται ο διαγωνισμός για φέτος.

Αν και είδα πάμπολλες εντυπωσιακές δημιουργίες - είπαμε, 10 "γραμμές" εντολών είναι αυτές - αυτή που μου τράβηξε την προσοχή τόσο ώστε να μπω στη διαδικασία να γράψω 2-3 αράδες για λογαριασμό της ήταν και πάλι προϊόν της δουλειάς και του ταλέντου του Matthew Begg και ονομάζεται ZXBook.


Όπως ίσως θα μαντέψατε το ZXBook είναι ένα e-book reader για - ποιον άλλον; - τον ZX Spectrum. Να, ορίστε και το listing του αν δεν με πιστεύετε:

Ειλικρινά, δεν είμαι σε θέση να γνωρίζω εάν κάποιος θα έμπαινε στη διαδικασία να κάτσει να διαβάσει ένα κλασικό βιβλίο στην οθόνη του ZX Spectrum του εν έτει 2026. Από την άλλη, είμαι 100% βέβαιος ότι αν είχαμε το ZXBook πίσω στα early 80s τότε θα είχαμε διαβάσει πολλά περισσότερα βιβλία απ' ότι τελικά πράξαμε. Άλλο να σου λένε "διάβασε αυτό" κι άλλο να το κάνεις χρησιμοποιώντας τον Spectrum σου με τον οποίο ήθελες έτσι κι αλλιώς να περνάς όλες τις ελεύθερες ώρες (και όχι μόνο) της μέρας σου.

Το ZXBook "τρέχει" σε όλα τα μοντέλα ZX Spectrum πλην του (ξεχασμένου) 16άρη. Ήδη ο Matthew Begg μας ετοίμασε 5 εκδόσεις, κάθε μία εκ των οποίων μας προσφέρει και ένα κλασικό, public domain πλέον, λογοτεχνικό έργο. Αυτά είναι τα:

1. Alice's Adventures in Wonderland του Lewis Carroll

2. The Wonderful Wizard of Oz του L. Frank Baum

3. The Great Gatsby του F. Scott Fitzgerald

4. A Study in Scarlet του Arthur Conan Doyle

5. A Christmas Carol του Charles Dickens

Αλλά τα καλά δεν σταματούν εδώ: γιατί δεν θα διαφωνήσει κανένας νομίζω, ένα κι ένα είναι τα προαναφερθέντα βιβλία. Αν όμως θέλουμε να διαβάσουμε κάποιο άλλο; Είναι απαραίτητο να περιοριστούμε σε αυτά τα 5; Η απάντηση είναι "φυσικά και όχι": το ZXbook Creator.html (που μπορείτε να το βρείτε στη σελίδα του ZXBook) σας επιτρέπει να μετατρέψετε ένα οποιοδήποτε απλό αρχείο κειμένου σε μορφή προς χρήση με το ZXBook!

Ειλικρινά, δεν έχω λόγια για να χαρακτηρίσω επάξια τη δουλειά του κυρίου Begg. Δεν έφτιαξε κάτι απλά για να το φτιάξει, αλλά φρόντισε να είναι πραγματικά χρήσιμο και 100% λειτουργικό για όποιον επιθυμεί να ασχοληθεί με αυτό.

Δε νομίζω να πάψει ποτέ να με εντυπωσιάζει ούτε ο Spectrum, ούτε και τα υπόλοιπα 8μπιτα μηχανάκια της νιότης μου. Αυτό που επίσης δεν θα πάψει ποτέ να με εντυπωσιάζει είναι το τι μπορούν να κάνουν οι χρήστες τους με αυτά - πόσο μάλλον όσοι εξ αυτών είναι και ταλαντούχοι coders. Respect!


Παρασκευή 27 Φεβρουαρίου 2026

ZXsheet. Σοβαρά τώρα;

Υποθέτω ότι όλο και κάπου θα έχei πάρει το μάτι σας κάποιον διαγωνισμό για 10-Liners, δηλαδή για προγραμματάκια σε 10 γραμμές εντολών BASIC (για retro computers, φυσικά). Δεν μιλάμε όμως - πλέον, τουλάχιστον - για κάτι αραιογραμμένο, με έκαστη γραμμή να περιέχει μία εντολή ή κάτι τέτοιο: μιλάμε για την προσπάθεια του προγραμματιστή να εκμεταλλευτή και τον τελευταίο χαρακτήρα που μπορεί να χρησιμοποιήσει, κόβοντας ακόμα και τα κενά όπου επιτρέπεται (π.χ. στην Commodore BASIC) με αποτέλεσμα προγράμματα τόσο συμπυκνωμένα που κάθε άλλο παρά ευανάγνωστα δείχνουν. Και πάλι όμως, ακόμα και αν χρησιμοποιήσεις 240-255 χαρακτήρες ανά εντολή που ήταν συνήθως το όριο ανάλογα με το μηχάνημα, τι μπορείς πραγματικά να φτιάξεις; Μιλάμε για πολύ περιορισμένο μέγεθος. Χα, νομίζετε! Δείτε για αρχή το παρακάτω listing:

Αρχίζετε να προβληματίζεστε τώρα, έτσι; Αυτό δεν δείχνει και τόοοσο μικρό. Και έτσι είναι, διότι, καθώς ο ZX Spectrum (και οι ZX81 και ZX80) χρησιμοποιούσε single key keywords στην BASIC που είχε φτιάξει ο Steven Vickers, κάθε εντολή (π.χ. PRINT) καταλάμβανε 1 byte και όχι 5 όπως σε κάποια άλλη διάλεκτο BASIC. Έτσι, μία γραμμή εντολών μπορεί στην οθόνη να είναι πάνω από 8 γραμμές κειμένου των 32 χαρακτήρων, πράγμα που δεν συναντάμε σε άλλη διάλεκτο και που επιτρέπει αρκετά μεγαλύτερο όγκο εντολών τελικά. Ωραία όλα αυτά, αλλά ακόμα και με αυτά τα πλεονεκτήματα της Sinclair BASIC τι μπορείς να φτιάξεις πια με ένα 10-Liner;

Η απάντηση είναι "σχεδόν τα πάντα". Αν παρακολουθήσετε τις κορυφαίες συμμετοχές στους διαγωνισμούς για 10-Liners θα τρίβετε τα μάτια σας. Συνήθως οι συμμετοχές αφορούν σχετικά απλά arcade παιχνίδια, αλλά αυτό δεν είναι υποχρεωτικό. Έτσι λοιπόν, ο κύριος Matthew Begg σκέφτηκε ότι βρήκε πεδίο δόξης λαμπρό (τις 10 "γραμμές" εντολών) για να αναπτύξει ένα ολοκληρωμένο... spreadsheet! Τι, γελάτε; Για δείτε παρακάτω:





Εντυπωσιακά τα screenshots, έτσι; Προσωπικά με το που τα είδα έμεινα με το στόμα ανοιχτό γιατί εξεπλάγην από τα χρώματα, τους χαρακτήρες, το όλο look, τη λειτουργικότητα με την έννοια ότι το κορυφαίο spreadsheet application σε ZX Spectrum έτσι θα έπρεπε να δείχνει. Όχι όμως ένα 10-Liner! Ο ίδιος ο κύριος Begg γράγει περιγράφοντας το πρόγραμμά του: "ZXsheet is a full-featured spreadsheet application for the Sinclair ZX Spectrum written in just 10 lines of BASIC. It features a large 20 rows by 10 column workspace, full colour formatting, formula support, copy/paste functions (including relative addressing), the ability to save and print spreadsheets, and a groundbreaking graphical chart function". Πέρα από τα εντυπωσιακά features για το μέγεθος του προγράμματος ελπίζω να διακρίνατε και το χιούμορ, έτσι;

Πέρα από τα αυτονόητα από την πλευρά μου (chapeau, standing ovation, ξέρετε τώρα) να σας πω ότι είναι χρήσιμο να επισκεφτείτε την επίσημη ιστοσελίδα του ZXsheet διότι εκεί ο κύριος Begg εξηγεί αναλυτικότατα, εντολή προς εντολή, μεταβλητή προς μεταβλητή το πώς λειτουργεί το πρόγραμμά του και τι κάνει η κάθε γραμμή εντολών. Προσωπικά άρχισα να αναθεωρώ κάποια πράγματα που πίστευα μέχρι σήμερα - π.χ. το "ξέρω BASIC" - καθώς το επίπεδο του κώδικα όπως το λέμε στις μέρες μας του ZXsheet είναι εντελώς σε άλλη κλάση από ό,τι είχα γράψει εγώ ποτέ στη ζωή μου. Σίγουρα πάντως οι (όποιες) γνώσεις μου με βοηθούν να αναγνωρίσω το μεγαλείο του επιτεύγματος και να βγάλω το καπέλο με θαυμασμό στον Matthew Begg αλλά και σε όλους τους υπόλοιπους coders ανά τον κόσμο που διανθίζουν με τα προγραμματιστικά τους διαμαντάκια αυτόν και αντίστοιχους διαγωνισμούς.