Алан Кей и Марвин Мински: Computer Science уже имеет «грамматику». Нужна «литература»

в 17:33, , рубрики: Алгоритмы, Блог компании Проектная школа программирования GoTo, Программирование, Учебный процесс в IT, Читальный зал

image

Первый слева — Марвин Мински, второй слева — Алан Кей, потом Джон Перри Барлоу и Глория Мински.

Вопрос: Как бы вы интерпретировали идею Марвина Мински о том, что «Computer Science уже имеет грамматику. Что ей нужно так это литература.»?

Алан Кей: Самый интересный аспект записи блога Кена (включая комментарии) заключается в том, что нигде нельзя найти историческое упоминание этой идеи. Фактически, более 50 лет назад в 60-х годах по этому поводу было много разговоров и, насколько я помню, несколько статей.

Я впервые услышал об этой идее от Боба Бартона, в 1967 году в магистратуре, тогда он сказал мне, что эта идея была частью мотивации Дональда Кнута, когда он писал “Искусство программирования”, главы которого уже ходили по рукам. Один из главных вопросов Боба тогда был о «языках программирования, предназначенных для чтения людьми также как и машинами». И это было основной мотивацией для частей дизайна COBOL в начале 60-х годов. И, возможно, что более важно в контексте нашей темы, эта идея видна в очень раннем и довольно красиво разработанном интерактивном языке JOSS (в основном Cliff Shaw).

Как заметил Фрэнк Смит, литература начинается с идей, которые стоит обсуждать и записывать; она часто частично генерирует представления и расширяет существующие языки и формы; это приводит к новым идеям о чтении и письме; и, наконец, к новым идеям, которые не были частью первоначального мотива.

Часть идеи «олитературизации» это и чтение, и письмо, и отсылки на другие статьи, которые могут представлять интерес. Например, лекция Марвина Мински на премии Тьюринга начинается с того, что «Проблема с Computer Science сегодня состоит в навязчивой заботе о форме, а не о содержании».

Он имел в виду, что самое важное в вычислениях это смысл, и то как его можно рассматривать и представлять, в отличии от одной из больших тем 60-х годов о том как анализировать программирование и естественные языки. Для него наиболее интересным в тезисе студента магистратуры Терри Винограда могло быть то, что в то же время было не очень верным с точки зрения грамматики английского языка (это было очень хорошо), но что это могло бы придать смысл сказанному и могло обосновать сказанное с использованием этого значения. (Это отголосок прошлого от того, что сообщает Кен в блоге Марвина).

Параллельный способ взглянуть на «повсеместно изучаемый язык». Немало может быть сделано без изменений в языке и даже без добавления словаря. Это подобно тому как с математическими символами и синтаксисом очень легко написать формулу. Это отчасти то к чему ведет Марвин. Забавно, что машина Тьюринга в книге Марвина «Вычисление: конечные и бесконечные машины» (одна из моих любимых книг) — довольно типичный компьютер с двумя инструкциями (добавьте 1 к регистру и вычтите 1 из регистра и ветви к новой инструкции, если регистр меньше 0 — существует много вариантов.)

Это общепринятый язык программирования, но обратите внимание на подводные камни. Разумное решение «повсеместно изучаемого» также должно обладать определенными видами выразительной силы, которые, вероятно, потребуют больше времени для изучения.

Интерес Дона к так называемому «грамотному программированию» привел к созданию авторской системы (исторически называемой WEB), которая позволила бы Дону объяснить саму программу, которая писалась, и которая включала многие функции, позволяющие извлекать части программы для изучения человека. Идея заключалась в том, что WEB-документ был программой, и компилятор мог извлечь из него компилируемые и исполняемые части.

Еще одно раннее новшество — идея динамичных медиа, которая была популярной идеей в конце 60-х годов, и для многих из нас была важной частью интерактивных вычислений на ПЭВМ. Один из нескольких мотивов этой идеи заключался в том, чтобы иметь что-то вроде «Принципов Ньютона», в которых «математика» была динамичной и могла быть запущена и привязана к графике и т. д. Это было частью мотива продвигать идею Dynabook в 1968 году. Одним из терминов, который начал использоваться тогда, было «активное эссе», где виды изложения и аргумента, которые можно ожидать в эссе, усиливаются благодаря тому, что интерактивная программа является одним из многих типов медиа для нового типа документа.

Некоторые очень хорошие примеры были сделаны в Hypercard самим Тедом Кайлером в конце 80-х и начале 90-х годов. Hypercard не был напрямую настроен для этого — скрипты не были объектами мультимедиа для карт, но вы могли выполнить некоторую работу и получить скрипты для показа на картах, а также сделать их интерактивными. Особо провокационным примером был «Weasel», который был активным эссе, объясняющим часть книги Ричарда Доукинза «Blind Watchmaker», позволяя читателю поэкспериментировать с фреймворком, который использовал своего рода процесс размножения для поиска целевых предложений.

Стоит задуматься над тем, что, несмотря на то, что Hypercard почти идеально подходил к появившемуся Интернету — и его широкому внедрению в начале 90-х годов — люди, которые создавали Интернет, решили не принимать ни его, ни более крупные ранние идеи Энгельбарта. И Apple, у которой было много людей ARPA / Parc в своем исследовательском крыле, отказались слушать их о важности Интернета и о том, что Hypercard отлично начнет использовать симметричную систему чтения и записи. Apple отказались сделать браузер в то время, когда действительно хороший браузер был бы значительным событием, и, возможно, сыграл бы огромную роль в том, каким оказалось «публичное лицо» Интернета.

Если мы продвинемся на несколько лет, мы обнаружим абсолютную абсурдность — даже почти непристойность — веб-браузер без реальной системы разработки (подумайте, как глупая вики разработка должна была вообще работать), и как один из многих простых примеров, статья в Википедии, например LOGO, работающая на компьютере, но не позволяющая читателю статьи попробовать программировать LOGO из статьи. Это означало, что то, что было важно для компьютеров, было заблокировано для пользователей в защиту различных вариантов реализации старых медиа.

Стоит задуматься над тем, что Википедия была и является основным жанром для размышлений, изобретательства, внедрения и написания «литературы вычислений», которая необходима (и это, безусловно, связано как с чтением, так и с написанием многих видов мультимедиа, включая программирование).

Еще больше стоит подумать о том, что я не могу написать программу здесь, в этом ответе на Quora — в 2017 году! — это поможет показать, что именно я пытаюсь объяснить, несмотря на огромную компьютерную мощь, лежащую в основе этой слабой идеи интерактивных медиа. Важный вопрос «что случилось?» здесь совершенно упускается из виду.

Чтобы получить представление о проблеме, вот вам система 1978 года, которую мы частично воскресили несколько лет назад, чтобы отдать дань Теду Нельсону, а отчасти ради удовольствия.

(Пожалуйста, гляньте здесь, в 2:15)

Вся система является ранней попыткой реализации того, о чем я сейчас говорю более 40 лет назад.

Яркий пример можно увидеть в 9:06.

Помимо «динамических объектов», одно из ключевых соображений здесь заключается в том, что «виды» — медиа, которые видны на странице, — могут обрабатываться равномерно и независимо от их содержимого (мы называем их «моделями»). Все это «окно» (некоторые из них имеют явные рамки, а некоторые не отображают свои рамки). Все они составлены на странице проекта. Еще одно понимание заключалось в том, что, поскольку вы должны сочинять и комбинировать некоторые вещи, сделайте так, чтобы все было компонуемо и композиционно.

Я думаю, что неискушенных пользователей можно простить за то, что они не могут критиковать плохие проекты. Но программистам, которые делают интерактивные медиа для пользователей, и которые не заботятся о том, чтобы узнать о средствах массовой информации и дизайне, особенно из истории своей собственной области, не должно так легко это сходить с рук и они не должны вознаграждаться за то, что они “слабее”.

Наконец, поле без реальной литературы почти равнозначно тому, что это поле не является полем. Литература — это способ сохранить великие идеи в новом жанре, и в настоящем и будущем мышлении в этой области. Это, конечно, не присутствует в вычислениях в какой-либо полезной степени. Как и поп-культура, вычисления все еще больше всего заинтересованы в том, что можно сделать без длительного обучения, и где выполнение важнее, чем последствия результатов. Литература — одна из сред, где можно перейти от простого и непосредственного к большему и более важному.

Нам это нужно!


О школе GoTo

image

Автор: MagisterLudi

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js