Alan Kay e Marvin Minsky: L'informatica ha già una "grammatica". Serve "letteratura"

Alan Kay e Marvin Minsky: L'informatica ha già una "grammatica". Serve "letteratura"

Il primo da sinistra è Marvin Minsky, il secondo da sinistra è Alan Kay, poi John Perry Barlow e Gloria Minsky.

Domanda: Come interpreteresti l'idea di Marvin Minsky secondo cui “l'informatica ha già una grammatica. Ciò di cui ha bisogno è la letteratura.”?

Alan Kay: L'aspetto più interessante della registrazione Il blog di Ken (compresi i commenti) è che nessun riferimento storico a questa idea può essere trovato da nessuna parte. In effetti, più di 50 anni fa, negli anni '60, si parlava molto di questo e, se ricordo bene, diversi articoli.

Ho sentito parlare per la prima volta di questa idea da Bob Barton, nel 1967, alla scuola di specializzazione, quando mi disse che questa idea era parte della motivazione di Donald Knuth quando scrisse The Art of Programming, i cui capitoli stavano già circolando. Una delle domande principali di Bob allora riguardava "i linguaggi di programmazione progettati per essere letti sia dagli esseri umani che dalle macchine". E questa fu la motivazione principale per alcune parti del design COBOL nei primi anni '60. E, forse ancora più importante nel contesto del nostro argomento, questa idea è vista nel primissimo linguaggio interattivo JOSS (principalmente Cliff Shaw), progettato in modo piuttosto bello.

Come ha osservato Frank Smith, la letteratura inizia con idee che vale la pena discutere e scrivere; spesso genera parzialmente rappresentazioni ed estende linguaggi e forme esistenti; porta a nuove idee sulla lettura e sulla scrittura; e infine a nuove idee che non facevano parte del motivo originale.

Parte dell’idea di “letteraturizzazione” è leggere, scrivere e fare riferimento ad altri articoli che potrebbero interessare. Ad esempio, la conferenza del Premio Turing di Marvin Minsky inizia con: “Il problema dell’informatica oggi è la preoccupazione ossessiva per la forma piuttosto che per il contenuto.”.

Ciò che intendeva era che la cosa più importante nell'informatica è il significato e come può essere visto e rappresentato, in contrapposizione a uno dei grandi temi degli anni '60 su come analizzare la programmazione e i linguaggi naturali. Per lui, la cosa più interessante della tesi di Terry Winograd, studente del Master, potrebbe essere che, sebbene non fosse molto corretta in termini di grammatica inglese (era molto buona), ma riusciva a dare un senso a ciò che veniva detto e a giustificare ciò che era stato detto. detto utilizzando questo valore. (Questo è un ritorno a ciò che Ken riporta sul blog di Marvin).

Un modo parallelo di guardare all’“apprendimento linguistico onnipresente”. Si può fare molto senza cambiare la lingua o aggiungere un dizionario. Questo è simile a come con i simboli e la sintassi matematici è molto semplice scrivere una formula. Questo è in parte ciò a cui Marvin vuole arrivare. È divertente che la macchina di Turing nel libro di Marvin Computation: Finite and Infinite Machines (uno dei miei libri preferiti) sia un computer abbastanza tipico con due istruzioni (aggiungi 1 al registro e sottrai 1 dal registro e si dirama alla nuova istruzione se registro è inferiore a 0 - ci sono molte opzioni.)

È un linguaggio di programmazione comune, ma fai attenzione alle insidie. Una soluzione ragionevole al concetto di "universalmente appreso" dovrebbe anche avere certi tipi di potere espressivo che probabilmente richiederebbero più tempo per l'apprendimento.

L'interesse di Don per la cosiddetta "programmazione letterata" portò alla creazione di un sistema di creazione (storicamente chiamato WEB) che avrebbe permesso a Don di spiegare lo stesso programma che era stato scritto e che includeva molte funzionalità che consentivano di modificare parti del programma. estratto per lo studio sull'uomo. L'idea era che un documento WEB fosse un programma e il compilatore potesse estrarne le parti compilate ed eseguibili.

Un'altra delle prime innovazioni fu l'idea dei media dinamici, che era un'idea popolare alla fine degli anni '60 e per molti di noi rappresentava una parte importante dell'elaborazione interattiva dei PC. Uno dei tanti motivi per questa idea era quello di avere qualcosa come "Principi di Newton" in cui la "matematica" fosse dinamica e potesse essere gestita e legata alla grafica, ecc. Questo faceva parte del motivo per promuovere l'idea Dynabook nell'anno 1968. Uno dei termini che iniziarono ad essere usati allora fu “saggio attivo”, in cui il tipo di scrittura e di argomentazione che ci si aspetterebbe da un saggio viene potenziato dal fatto che il programma interattivo è uno dei tanti tipi di media per un nuovo tipo di documento.

Alcuni ottimi esempi sono stati realizzati in Hypercard dallo stesso Ted Cuyler tra la fine degli anni '80 e l'inizio degli anni '90. Hypercard non era configurato direttamente per questo: gli script non erano oggetti multimediali per le carte, ma potevi lavorare e ottenere script da mostrare sulle carte e renderli interattivi. Un esempio particolarmente provocatorio è stato "Weasel", un saggio attivo che spiegava parte del libro Blind Watchmaker di Richard Dawkins, consentendo al lettore di sperimentare una struttura che utilizzava una sorta di processo di allevamento per trovare frasi target.

Vale la pena considerare che, sebbene Hypercard si adattasse quasi perfettamente all'emergente Internet (e alla sua diffusa adozione nei primi anni '90), le persone che hanno creato Internet hanno scelto di non abbracciare né essa né le idee precedenti di Engelbart. E Apple, che aveva molti dipendenti dell'ARPA/Parc nella sua ala di ricerca, si rifiutò di ascoltarli sull'importanza di Internet e su come Hypercard sarebbe stata eccezionale nell'avviare un sistema di lettura-scrittura simmetrico. Apple si rifiutò di creare un browser in un momento in cui un browser veramente buono sarebbe stato uno sviluppo significativo e avrebbe potuto svolgere un ruolo enorme nel modo in cui si è rivelato il "volto pubblico" di Internet.

Se andiamo avanti di qualche anno scopriamo l'assoluta assurdità - quasi oscena addirittura - di un browser web senza un vero sistema di sviluppo (pensa a quanto stupido lo sviluppo di wiki avrebbe dovuto funzionare), e come uno dei tanti semplici esempi, un articolo di Wikipedia come LOGO , che funziona su un computer, ma non consente al lettore dell'articolo di provare a programmare LOGO dall'articolo. Ciò significava che ciò che era importante per i computer veniva bloccato per gli utenti in difesa delle diverse implementazioni dei vecchi media.

Vale la pena considerare che Wikipedia è stata ed è il genere principale per pensare, inventare, implementare e scrivere la "letteratura informatica" necessaria (e questo implica certamente sia la lettura che la scrittura in molte forme di multimedialità, inclusa la programmazione).

Ciò a cui vale ancora più la pena pensare è che non posso scrivere un programma qui in questa risposta di Quora - nel 2017! - questo aiuterà a mostrare esattamente quello che sto cercando di spiegare, nonostante l'enorme potenza informatica alla base di questa debole idea di media interattivi. La domanda importante è “cosa è successo?” qui è completamente trascurato.

Per avere un'idea del problema, ecco un sistema del 1978 che abbiamo resuscitato in parte qualche anno fa come omaggio a Ted Nelson e in parte per divertimento.

(Guarda qui alle 2:15)


L’intero sistema è un primo tentativo di ciò di cui sto parlando ora, più di 40 anni fa.

Un ottimo esempio può essere visto alle 9:06.


Oltre agli "oggetti dinamici", una delle considerazioni più importanti è che le "views" - i media visibili sulla pagina - possono essere elaborati in modo uniforme e indipendentemente dal loro contenuto (li chiamiamo "modelli"). Tutto è una "finestra" (alcuni hanno confini espliciti e altri non mostrano i propri confini). Tutti sono compilati nella pagina del progetto. Un'altra intuizione è stata che, poiché devi comporre e combinare alcune cose, assicurati che tutto sia componibile e compositivo.

Penso che gli utenti non sofisticati possano essere perdonati per non essere in grado di criticare i cattivi progetti. Ma i programmatori che realizzano media interattivi per gli utenti, e a cui non interessa imparare qualcosa sui media e sul design, soprattutto dalla storia del proprio campo, non dovrebbero farla franca così facilmente e non dovrebbero essere ricompensati per questo. sono “più deboli”.

Infine, un campo senza vera letteratura equivale quasi al fatto che il campo non è un campo. La letteratura è un modo per preservare grandi idee in un nuovo genere e nel pensiero presente e futuro in quel campo. Questo, ovviamente, non è presente nei calcoli in misura utile. Come la cultura pop, l’informatica è ancora più interessata a ciò che può essere fatto senza una formazione approfondita e dove l’esecuzione è più importante delle conseguenze dei risultati. La letteratura è uno dei mezzi in cui puoi passare dal semplice e immediato al più ampio e importante.

Ne abbiamo bisogno!

Informazioni sulla scuola GoTo

Alan Kay e Marvin Minsky: L'informatica ha già una "grammatica". Serve "letteratura"

Fonte: habr.com

Aggiungi un commento