Βλέπω ότι σου αρέσει να σκέφτεσαι τα δεδομένα σαν κάτι απτό. Κι εγώ το ίδιο. Για παράδειγμα, δεν μου αρέσει ο τρόπος που μαθαίνει κανείς τον Λάμδα Κάλκιουλους σε κάποια σχολεία. Ξέρεις, λέγοντας ότι η Λάμδα είναι το μόνο πράγμα που χρειάζεται να σχεδιάσεις οτιδήποτε. Σε ένα καθαρό μαθηματικό μοντέλο, είναι αλήθεια. Αλλά σε έναν πραγματικό υπολογιστή, η * λειτουργία συμπεριφοράς* (η συνολική καθαρή λειτουργία που αλλάζει κάθε φορά που το σύστημα μαθαίνει από την εξωτερική λέξη) πρέπει να υλοποιηθεί με κάποιο τρόπο. Ο τρόπος με τον οποίο το υλοποιούμε αποτελεί στην πραγματικότητα μεγάλο μέλημα, ιδιαίτερα αν επιδιώκουμε επιμονή. Μια αφελής προσπάθεια θα ήταν να καθοριστεί ολόκληρη η συμπεριφορά του συστήματος σε ένα ενιαίο αρχείο κώδικα επίπεδης πηγής, όπως ένα αρχείο "συμπεριφορά.lisp" raw-copied σε κάποιο σκληρό δίσκο. Αυτό το αρχείο θα πρέπει να αναμορφωθεί σε κάθε λειτουργία του συστήματος. Αφελής όπως είπα. Ο τρέχων τρόπος για να λειτουργήσει συνίσταται στη διαίρεση της συμπεριφοράς μεταξύ διαβασμένος-μόνο επίπεδα αρχεία σε δίσκο (κώδικας λογισμικού και περιουσιακά στοιχεία) και ανάγνωση/γραφή κουτιά που ένα γεμίζει με μεταλλαγμένες τιμές (στοιχεία χρήστη και διάφορες ρυθμίσεις). Η συμπεριφορά του συστήματος είναι επομένως 90% σκληρό καλώδιο και το υπόλοιπο 10% είναι όλα για μικρά κουτιά ένα γεμίζει με εισροές. Οι σκέψεις μου είναι να βρω έναν απόλυτο τρόπο να αποθηκεύσω τη λειτουργία της συμπεριφοράς ενός τρεχούμενου συστήματος. Θέλω να είναι πλήρως πλαστικό και αυτο-δείκτης. Στην αρχή, σκόπευα να κάνω άλλη μια βάση δεδομένων αντικειμένων. Αλλά τελικά συνειδητοποίησα από το να αντικαθιστώ τα αρχεία από κάποια σύνολα ζευγών αξίας slot (ή βάση δεδομένων αναφοράς οντότητας, ή χαρακτηρισμένα γραφήματα ή δικαιώματα) δεν άλλαξαν ουσιαστικά τίποτα εκτός από μια καλύτερη κοκκινικότητα δεδομένων. Κάποιος ακόμα αντιμετωπίζει ένα χαζό σύστημα που δεν μπορεί να πιάσει και να χειριστεί τις περισσότερες πληροφορίες που του ανήκουν. Επειδή τα αντικείμενα slot-values, η σχετική βάση δεδομένων, τα χαρακτηρισμένα γραφήματα, τα προιόντα, τα αρχεία XML, το RDF και όλες οι υπάρχουσες αποθήκες δεδομένων που έχω ανακαλύψει στην Google βασίζονται σε έναν μόνο πρόγονο: το κουτί / το μοντέλο meta-value, το οποίο είναι λάθος. Γιατί; Όλα έχουν να κάνουν με την "αναδιάρθρωση" δηλαδή. κάνοντας περισσότερα πράγματα χειροπιαστά για να λειτουργήσει το σύστημα. Σε ένα box/value based σύστημα, θα μπορούσε κανείς να dedup και hashmap τιμές, αλλά ένα δεν θα μπορούσε να dedup κουτιά (επειδή το περιεχόμενό τους δεν μπορεί να μοιραστεί μεταξύ των συμφραγμάτων) και κανείς δεν μπορεί ούτε dedup ούτε hashmap μια "κάποια αξία σε κάποιο κουτί" πληροφορίες σε όλα. Αυτή η τελευταία -σχέση- δεν είναι * συνώνυμη * για το σύστημα. Και όμως, όπως είπα και πριν, αυτό είναι το σημείο όπου η *σημασία* κατοικεί ως κομμάτια από μόνη της είναι ανούσια. Εάν απορρίψετε γραφήματα αλλά αγκαλιάσει δομές βέλους (που στην πραγματικότητα υπερτερεί ακαδημαϊκά γραφήματα), τώρα μπορείτε να ρωτήσετε το σύστημα για μια τέτοια σχέση, όπως (χρώμα-&gt; κίτρινο) και να πάρετε όλα τα συμφραζόμενα όπου αυτή η σχέση εμπλέκεται. Επιπλέον, αυτή η σχέση είναι πρώτης τάξεως πολίτης. Μπορείτε να το χρησιμοποιήσετε ως διαιτητή (κεφαλή) ή ως διαιτητή (ουρά) για να δημιουργήσετε σημαντικές πληροφορίες. Τώρα οι υπολογιστές μπορούν ντόπια να δουλέψουν πάνω στο * νόημα* των δεδομένων που αποθηκεύουν. Στην πραγματικότητα υποθέτω ότι είναι αυτό που βρίσκω μυαλό φυσάει.