ChrisTOS είπε:
Κι εγώ με BASIC ξεκίνησα και το πληρώνω μέχρι τώρα. Τώρα κατα πόσο η BASIC του C64 ήταν ανύπαρκτη είναι προς συζήτηση.
Είχε variables, loops, subroutines ότι χρειάζεται (ξεπερνώ τις βλακείες του ότι τα variable names είναι μέχρι 2 γράμματα, ποιος το σκέφτηκε αυτό άραγε;;
.
Αυτό που ήταν το βασικό στην C= basic ήταν ότι τα γραφικά και ο ήχος ήταν προσβάσιμα μόνο μέσω peek και poke, και αυτό είναι για το οποίο κατηγορείται.
Ότι δηλαδή δεν είχε εντολές - wrappers για αυτές τις λειτουργίες.
Αυτό δεν το βρίσκω κακό. Απλά σήμαινε ότι ο προγραμματιστής έπρεπε να μαθει το πως λειτουργεί το h/w και το τι έπρεπε να κάνει με αυτό.
Αυτό θα έκανε πολύ πιο εύκολο το πέρασμα σε μια assembly ή σε μια C αλλά ενδεχομένως να σε δυσκόλευε όταν ήθελες να αλλάξεις πλατφόρμα.
Η basic του c64 ήταν ελλιπής και πρωτόγονη και απογοήτευε/αποθάρρυνε τον χρήστη.
Βεβαίως και ήταν ήταν κακό που δεν είχε wrappers για τις λειτουργίες των γραφικών και του ήχου.
Σχεδόν δεν μπορούσες να τυπώσεις κάτι στοιχισμένα, όχι να κάνεις πρόγραμμα.
Κάθε basic έπρεπε να έχει απαραιτήτως wrappers για τέτοια πράγματα - τι σόι basic θα ήταν αλλιώς...
Η κατάσταση ήταν ακόμη χειρότερη δεδομένου ότι για τον χειρισμό του hardware (π.χ. του vic II για τα γραφικά)
η σχετική τεκμηρίωση ήταν - επαναλαμβάνω - ελάχιστη, δυσνόητη για αρχάριο και εξαιρετικά δυσεύρετη.
Αντίθετα, το cpc είχε μια basic εξαιρετικά εύχρηστη, δυνατή και ικανοποιητικά γρήγορη.
Η locomotive είχε σχεδόν ότι μπορούσε να ζητήσει ο ερασιτέχνης χρήστης.
H μόνη σημαντική έλλειψη ήταν η εντολή fill που όμως προστέθηκε στον 6128.
Ήχος, γραφικά, interrupts, μαθηματικές συναρτήσεις, χειρισμός αρχείων, έλεγχος/διόρθωση λαθών...δεν έλλειπε τίποτε.
Η άποψη ότι "
ο προγραμματιστής έπρεπε να μαθει το πως λειτουργεί το h/w και το τι έπρεπε να κάνει με αυτό"
είναι εντελώς λαθεμένη σε ότι αφορά τους ερασιτέχνες που ξεκινούσαν.
Π.χ. γιατί να ελέγχεις την τονική περιβάλλουσα του ήχου με pokes ;
Στο cpc μπορούσες να το κάνεις εύκολα μέσα από την basic αλλά και με assembly (hardware) αν ήθελες/ήξερες.
Αλλά δεν υπήρχε λόγος να το κάνεις με assembly.
Το ίδιο και με τα γραφικά.
Μπορούσες να εντρυφήσεις σε πιο χαμηλό επίπεδο στο μηχάνημα ανάλογα με τις γνώσεις και το ενδιαφέρον σου.
Επιπλέον, αν ήξερες assembly, επέτρεπε εύκολα ακόμη και την προσθήκη νέων εντολών (oι RSX εντολές).
Για όποιον ενδιαφερόταν για την assembly ή/και το hardware το cpc είχε άριστη τεκμηρίωση για το λειτουργικό του σύστημα.
Συγκεκριμένα το
jumpblock περιγραφόταν λεπτομερέστα στο
soft 158 της Αmstrad.
Αυτή η κίνηση της Amstrad να δώσει τόσες λετπομέρειες για το λειτουργικό του cpc ήταν άνευ προηγουμένου τότε.
(Το
soft 158 μπορούσες να το παραγγείλεις από καταστήματα π.χ. το "Τhe computer shop" ήταν που το έφερνε με παραγγελία.)
Επίσης το 80στηλο βόλευε πολύ σε αρκετά πράγματα π.χ. έγραφες μια ρουτίνα για επίλυση γραμμικού συστήματος
και έβλεπες το αποτέλεσμα τακτοποιημένο...
Aς μην συνεχίσω περισσότερο με τα αυταπόδεικτα.
Στα πλαίσια της ιδέας του home computing την περίοδο '83-'87 το c64
ΔΕΝ ήταν για προγραμματισμό και γενικά δεν ήταν καλός υπολογιστής.
Μόνον για παιχνίδια ήταν.
-