«К счастью или несчастью я научился хорошо читать в три года. Поэтому я успел прочитать около 150 книг до первого класса. Я всегда знал, когда учителя несли чушь.» — Алан Кей



Всем привет.
Раздобыл я, значит, е-мэйл Алана Кея. И задумал я задумку, пообщаться с этим легендарным пионером ИТ. Ну а чтоб накрутить важности и значимости, предложил я Алану Кею интервью от лица всего ИТ-сообщества российского. Он согласился. (И теперь Алан Кей знает, что Хабр — это круто!)

Напомню заслуги Алана
  • Работал в легендарном Xerox PARC, Atari, Apple, Disney, HP.
  • Предложил концепцию Dynabook (в 1968 году), которая определила концептуальную базу для ноутбука, планшетного компьютера и электронной книги.
  • Один из «отцов-основателей» объектно-ориентированного программирования (SmallTalk, 1969).
  • Участвовал в создании первого персонального компьютера Xerox Alto (1973).
  • Инициатор полезной движухи «Каждому ребенку по ноутбуку».
  • в 2001 году, он основал исследовательский Институт Viewpoints, некоммерческую организацию посвящённую детям, обучению и передовым разработкам программного обеспечения.
  • В 2006 бросил дерзкий вызов индустрии — заявил о возможности создания операционной системы с графическим интерфейсом из 20.000 строчек кода.
  • В 2016 присоединился к Y Combinator.


У меня была пара недель чтобы дотянуться до самых «передовых» ИТ-людей рунета. Это оказался довольно веселый и интересный квест. И своеобразный тест на свой/чужой, на знание истории ИТ, на адекватность, на связность ИТ-сообщества, на способность коммуницировать (у меня минус три френда в фейсбуке), на способность организаций/сообществ выступить как единое целое. Огромное спасибо тем, кто этот «тест» прошел.

Набралось 61 вопрос. Алан ответил не на все, но нумерация осталась оригинальной, для удобства синхронизаций версий.

За перевод особое спасибо Данилу Корневу, Александру Козлову и Сергею Даньшину. Если у вас есть рекомендации, как перевести какой-то смысловой блок лучше — пишите в личку.



Алан Кей: Ого, как же много вопросов!!! Даже для того, кто обожает отвечать на вопросы! Пожалуй, у меня займет несколько недель отвечать на все ваши вопросы, и даже после этого не факт что я отвечу на все из них! Тут есть несколько особенно хороших вопросов, и на них ответить сложнее всего (и я отвечу на них одними из последних).

MagisterLudi

(future thinker, sci-fi analyst, information and IT-revolution researcher, IT-journalist)

Вопрос 1


original
1) You read a lot of books (about 300 per year). How you choose them? How do you organize your personal knowledge (dairies, mindmaps, or do you just rely solely on your memory)?

These days I read fewer books a year — perhaps 2-3 per week. I don’t organize anything because I want most of what I read to be connected and inside my head. (At some point as I age this idea won’t work anymore.) I do write in notebooks, but as a way to get stuff back in my head. I don’t do much re-reading of the written stuff in my notebooks.


— Вы говорили, что читаете много книг (примерно 300 в год). Как вы их выбираете? Как вы организуете свои знания (дневники, майндмэпы, или просто все держите в уме)?

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

Вопрос 2


original
2) What was (is) the most productive format to learn and generate ideas for you and great people from Xerox PARC (reading, individual thinking, playing golf, drinking beer together, mindstorms, hackathons)?

First, most of us at PARC came from the ARPA-IPTO research community, which from about 1962 had generated many great ideas. Day by day, “most ideas are mediocre down to bad” so the two heuristics that are good are (a) to have lots of ideas, and (b) to have ways to keep them from preventing more to happen (the notebooks are good for this). The day to day “good ideas” may happen a few times a month. In our group at PARC there was a lot of beer drinking, biking, tennis, and “recreational coding”.

— Какой самый продуктивный формат обучения и генерации идей который использовали вы и самые крутые инженеры из Xerox PARC (чтение, индивидуальные размышления, игра в гольф, хряпнуть пивка всей толпой, мозгоштурмы, хакатоны)?

Во-первых, большинство из основателей PARC пришли из научно-исследовательского сообщества, сформировавшегося в IPTO при ARPA, где было придумано множество потрясающих идей с 1962-го года. В большинстве своем идеи — средние, если не хуже, поэтому важны две эвристики — нужно (а) иметь массу идей, и (б) иметь способ не допускать их повторения и бесконтрольного роста (записывать идеи в блокноты — неплохое решение). В итоге хорошие идеи будут появляться где-то пару-тройку раз за месяц. В PARC мы очень много общались друг с другом — пили пиво, катались на велосипедах, играли в теннис, занимались «оздоровительным кодингом».

Вопрос 3


original
3) Who inspired you in childhood (scientists, discoverers, philosophers)?

Scientists, science fiction writers, musicians, artists, other thinkers. Examples are: Einstein, Robert Heinlein, Bach, Michelangelo, Vermeer, Bertrand Russell.

— Кто был для вас примером в детстве (ученые, первооткрыватели, философы)?

— Ученые, писатели-фантасты, музыканты, артисты, и прочие мыслители. Например: Эйнштейн, Роберт Хайнлайн, Бах, Микельанджело, Вермеер, Бертран Расселл.

Вопрос 4


original
4) What are your favourite Sci-Fi books? Do you read books of Strugatsky brothers? (If yes, please share your thoughts on their books and ideas.)

I don’t know how to answer this one — too many favorites — so will come back to this.

— Какая ваша любимая научно-фантастическая книжка? Читали ли вы произведения Стругацких? (Если да, то поделитесь своими мыслями об этих произведениях.)

— Не знаю, как лучше ответить на этот вопросы — слишком много любимых писателей — еще вернусь к этому вопросу.

Вопрос 9


original
9) How much of your day do you happen to devote to thinking “in future” (10%, 40%, 70%?). Could you give some practical advice to people wanting to improve their ability to “think about future from the future” (maybe dive deeper into the Sci-fi books, or, instead, find inspiration from reading books on Historical figures, or playing old computer games)?

I don’t think about every kind of future (and don’t know how to). But I’m always concerned with an number of “issues”, which include “what do humans need to do to be able to think better than most humans today?” and “how can we better understand and make systems of every kind?” — and, the way I tend to think — there is a lot of overlap between these two areas.

I’m pretty sure that “pondering” is going on in the back of my mind pretty much 24 hours a day. I probably spend about 3-4 hours a day actively thinking and doing things that might help illuminate more.

“Relaxing” helps a lot. Finding ways to be very critical without being immobilized by depression is an important set of skills to learn. Dealing with the many kinds of “blindnesses” we all have is another important set of skills. Most ideas are mediocre down to bad but this is the one time not to be critical — let the ideas flow, and write down ones that seem promising (generally speaking it is not a good things to work right away on seemingly good ideas — put them on the back of the stove for awhile).

A metaphor is that our night vision is better outside of our fovea — if we want to see a dim star we must look to the side of it, not directly at it.

— Какое количество времени вы выделяете на мысли о будущем/ из будущего (10%, 40%, 70%)? Можете дать пару практических советов людям, которые хотят прокачать свою способность «думать о будущем из будущего» (может быть, читать больше научной фантастики, или, наооборот, больше исторических книг, или играть в старенькие компьютерные игры)?


Я не размышляю обо всех возможных видах будущего (да и вообще понятия не имею, как это сделать). Что для меня действительно важно, так это список тех или иных «проблем». Например — «что нужно сделать, чтобы люди завтрашнего дня умели думать лучше, чем люди сегодняшнего»? «Как мы можем лучше понимать и создавать системы любого типа»? Эти две проблемы сильно взаимосвязаны, на мой взгляд.

Я вполне уверен, что этот процесс размышлений происходит у меня постоянно в голове 24 часа в сутки. Пожалуй, я уделяю по 3-4 часа в день активным размышлениям и работе над вещами, которые позволяют мне лучше разобраться в моем списке «проблем».

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

Можно провести аналогию с ночным видением (глаз чувствительнее за пределами центральной ямки сетчатки) — если хочется посмотреть на звезду, то лучше смотреть не на нее саму, а на ее края.

Danila Kornev

(CEO, Zet Universe, Inc. (a 5 y.o. Startup focused on building a digital work environment that facilitates both information creation and consumption on the Post-PC devices. Few keywords: dynamic ontologies, zoomable user interfaces, semantic data processing, semi-automated data organization, rich information visualization, spatio-temporal data organization, graph-based data stores). Previously worked at Microsoft, Google, and Microsoft Research. Contributed to the famous Microsoft’s Productivity Future Vision 2019.)

Вопрос 10


original
10) Do you think there is still a space for innovation in the digital work environments, or are personal AI assistants and desktop metaphor the end?

I think that “hardly anything has happened yet” so there is plenty of space for both innovation and also real invention (and big advances are really needed!)

— Как Вы считаете, есть ли место инновациям в области т.н. цифровых рабочих сред, или же метафора рабочего стола и персональные ИИ ассистенты — это конец инноваций в этой области?

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

Вопрос 11


original
11) If not, what do you think of the zoomable user interfaces as the core of the alternative digital work environments pioneered by Jef Raskin given that we've got tablets/2-in-1s on the rise, as well as AR where natural interaction and use of spatial memory are the foundational elements of interactions?

Zoomable interfaces happened a long time before Jeff Raskin (he was not careful to document actual sources of ideas). For example, Sketchpad was not only the first modern interactive graphics system (in 1962) but it also had a zoomable interface. Another early really important zoomable interface was done by Nicholas Negroponte’s “Arch-Mac” research group in the 70s for the “Spatial Data Management System”.

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

— Зумируемые пользовательские интерфейсы родились задолго до Джефа Раскина (он был не очень-то внимателен к тому, чтобы документировать источники своих идей). Например, Скетчпад был не только первой современной интерактивной графической системы (и это в 1962-м году!), но в нем тоже был зумируемый интерфейс. Другой очень важный пример — это ранний зумируемый графический интерфейс, разработанный группой Николаса Негропонте «Arch-Mac» в 1970-ых для проекта «Spatial Data Management System».

Danila Medvedev

(Applied futurologist, immortality, cryonics, Intelligence amplification)

Вопрос 14


original
14) Overlapping windows… At some point it was a valuable invention, but today when we operate with huge amounts of varied information it's too hard and cumbersome to do. Do you see any prospects of solving these deficiencies of «overlapping windows»?
If you have a big display surface — real or virtual — you don’t have to overlap the windows. The initial idea was that overlapping windows would really help on screens that were too small. “Huge amounts of information” is not going to be solved by simple displays no matter how large (things have to be to fit to what human senses and brains can deal with). Another point is that “It’s not Big Data that’s important but Big Meaning!”

— Когда-то перекрывающиеся окна были полезным изобретением, но сегодня, когда мы работаем с огромными объемами информации, перекрывающиеся окна затрудняют организацию информации в рабочем пространстве. Какие перспективы вы видите в решении этой проблемы “перекрывающихся окошек”?

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

Вопрос 15


original
15) What do you personally use as your personal computer work environment and what are your primary working tools?

My primary working tools are between my ears and my hands, especially with drawing. (I specified the Dynabook in 1968 to have a stylus and really great sensing and inking, and have been very disappointed at how long it has taken industry to even hand wave at this — and even on tablet computers.) The drawing provided is not aimed at people who can really draw.

The next level is books and reading in general. Again, industry has not provided something as readable as paper. The readability provided is not aimed at people who can really read.

High up in the list of tools for me is a nice couch to stretch out and read and write on.

I need to play music every day.

— Какие инструменты формируют ваше личное рабочее пространство на компьютере?

— Мои основные рабочие инструменты — это все, что между моими ушами и моими руками, особенно если говорить о рисовании. (еще во время разработки концепции Dynabook я говорил о том, что у планшета должно быть перо, и он должен поддерживать рисование, и я был глубоко огорчен тем, как много времени потребовалось индустрии чтобы сделать хотя бы это, и хотя бы на планшетных ПК). И тот уровень поддержки рисования, что есть в планшетах, он совершенно не дотягивает до уровня тех, кто действительно умеет рисовать.

На следующем уровне у нас идут книги и чтение в целом. И опять же, индустрия до сих пор не произвела ничего настолько же удобного для чтения, как обычная бумага. То, что индустрия сумела сделать, не очень-то удобно для тех, кто любит читать.

Еще выше в списке моих инструментов для работы находится удобный диван — на нем можно вытянуться, читать и писать.

Мне необходимо ежедневно заниматься игрой на музыкальном инструменте.

Вопрос 16


original
16) Aren't you disappointed with what computers turned into: games, porn, twitter, etc.?

I’m disappointed with the combination of consumer businesses and the very poor education system. Computers are “instruments whose music is ideas”, and it’s possible to create horrible noise with the best violins, etc. or the most beautiful music. So we have to point the fingers at the humans involved.

And see the answer to 15.

— Вы не разочарованы тем, во что превратились компьютеры? Игрушки, порно, твиттер и т. п.?

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

Смотрите ответ на вопрос №15.

Вопрос 17


original
17) Doug Engelbart wanted computers to augment human intellect including group intellect. Why was he ultimately denied a chance to implement his vision of augmentation?

I don’t think Doug was denied a chance. There were several problems including the answer to 16. Most people didn’t even get what personal computing should be about let alone the great ideas Doug helped create.

— Дуглас Энгельбарт мечтал о том, чтобы компьютеры использовались для усиления человеческого интеллекта, включая коллективный интеллект. Почему ему так и не дали шанса реализовать свою концепцию усиления?

— Не думаю, что Дагу что-то запрещали. Было несколько проблем, в том числе упомянутых в ответе на 16-ый вопрос. Большинство людей вообще не поняли, зачем были придуманы персональные компьютеры, не говоря о тех великолепных идеях, которые Дуг помог воплотить в жизнь.

Вопрос 18


original
18) Did OLPC achieve all goals that you envisioned for DynaBook in terms of pedagogy?

Not even close.

— Достиг ли проект OLPC всех педагогических задач, которые вы ставили во времена DynaBook?

— Даже рядом не валялось.

Вопрос 19


original
19) What are the next steps for the OLPC project?

It is worthwhile doing a project like this every 10-15 years. The next few years could be a good time to start another one.

— Что ждет OLPC в будущем?

— По мне, было бы отличной идеей повторять проект такого рода каждые 10-15 лет. Через несколько лет будет самое оно начать новый такой проект.

Вопрос 20


original
20) What did you manage to do, where you failed?

This question I don’t quite understand. But the main idea is to “keep on keeping on”

— Чего вам удалось добиться в проекте OLPC, а где вы потерпели неудачу?

— Честно говоря, не совсем понял этот вопрос. Но основная идея проста — нужно продолжать «продолжать».

Anatoliy Levenchuk

(scientific advisor, System Management School)

Вопрос 21


original
21) There were major changes in connectivity modeling. Do you find it the spark of the finally coming next computer revolution, or do you still await for the classic computer revolution (which is still in the limbo state)? Do you find it bad to mix up symbol and connectivity-based computing?

— I don’t think I understand the first question. As to the second, I think it’s important for any kind of “correlative modeling” (such as with neural nets, so-called “deep learning” etc) to be coupled with “cognitive modeling” which uses reflective models and simulations of knowledge not just reactions. (Minsky’s “Society of Mind” book is still a good guide to all of these different paradigms.)

To me, the classic computer revolution is one that is supposed to provide a combination of intellectual amplification not just outside the human mind, but to help better form the human mind. In other words, it’s what happens “between the ears” that counts — and the pioneers wanted this to be “much better” than what was happening with most human development. (I’d say that today, for most people who use computers as conveniences and social communication, what’s happening between the ears is retrograde.)

— За последние пять лет коннективистское моделирование сделало огромный шаг вперёд. Считает ли Алан Кей, что это часть наконец-то начавшейся очередной компьютерной революции, или он всё ещё ждёт классической компьютерной революции (которая всё никак не начнётся) и не смешивал бы символистский и коннекционистский компьютинг?

— Мне кажется, я не совсем понял первый вопрос. Что же до второго, то, как я думаю, для любого вида т.н. «корреляционного моделирования» (такого как нейронные сети, «глубинное обучение», и т.д.) очень важно быть в паре с «когнитивным моделированием», которое использует рефлективные модели и симуляции знаний, а не просто реакции. (Книга Мински «Society of Mind» — все еще отличное введение во все парадигмы этого рода).

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

Вопрос 22


original
22) What’s your take on Julia programming language as the next gen scientific computing programming language, coming after Fortran-Matlab-Python?

— I don’t know how to criticize a language that has lots of features without trying to do a major project in it (and I haven’t tried Julia). I think scientific models eventually require simulations — and these eventually imply loosely coupled objects — and it’s hard to see in the descriptions of Julia whether these are part of what’s optimized as a center of the design.

— Как вы относитес к языку Julia, который сейчас потихоньку выходит на роль ведущего языка scientific computing после фортрана-матлаба-питона?

— Хм, не думаю, что у меня есть идеи о том, как критиковать язык программирования, да еще и со столь богатым функционалом, не попробовав написать на нем хотя бы один большой проект (а я не пробовал писать программы на языке Julia). На мой взгляд, научные модели в конечном счете нуждаются в симуляциях — а они, в свою очередь, нуждаются во слабо-связанных объектах — и судя по документации к языку программирования Julia, не очень-то понятно, насколько эти слабо-связанные объекты являются центром всего языка, или не являются.

Вопрос 23


original
23) What’s the biggest achievement of VPRI in the last year/five years?

Take a look at the Viewpoints “Writings” page and see for yourself.

— Что вы считаете главным достижением VPRI за последний год/5 лет?

— Посмотрите на сайте моего института Viewpoints Research Institute раздел «Writings», и судите сами.

Pavel Luksha

(Educator, systemic social innovation catalyst, futurologist, founder of Global Education Futures Forum (www.edu2035.org))

Вопрос 24


original
24) We are already deep in the information age, and impact of new technologies has become evident even for the mass public. People voice various significant risks of emergent technologies such as autonomous robotics and machine learning, from massive global destruction of jobs to civilizational existential risks. Yes, these threats have been with us for a while (similar discussions occurred even in early 1970s), but now they are evident and accumulating. In this context, suppose we talk of «positive» future scenarios in which humans and technosphere do not compete with each other, but coexist and cocreate in positive and productive ways. What are your top picks for «skills for complex society» (individual and maybe collective) that need to developed massively, in order to increase the probability of this scenario, and for humanity to realize the opening opportunity for evolutionary leap forward?

I think an approach to this question might best start with the amount of new clean energy (both with regard to emissions and to heat created) that can be made available via science and technology. This will establish goals for dealing with all of the basics in equitable ways (including population).

Under such circumstances, the biggest skills needed will be “systems awareness” along many dimensions (including not just cooperation, but understanding that systems shouldn’t be “gamed”), and skills that deal with “growth”, avoiding boredom, and finding excitement without the need for greed, war, power, etc.

This will be a very tough collection of new things for human beings to learn fluently. And as you said, these issues have been around for a long time. There has been some excellent writing about them e.g. many of Bertrand Russell’s books starting about 100 years ago dealt with many of these issues.)

— Мы находимся в фазе активного разворачивания «цифровой цивилизации». Стало ясно, что возникающие технологии, такие как автономная робототехника и машинное обучение, несут существенные риски для человечества — от массового исчезновения рабочих мест до угрозы разрушения цивилизации как таковой. Конечно, эти угрозы не новы (подобные дискуссии проходили ещё в 1970-х), но теперь они становятся все более реальными, и риск растет за счёт ускорения технологического прогресса и взаимного влияния технологий друг на друга. В этом контексте, давайте рассмотрим позитивный сценарий будущего, где люди и техносфера не конкурируют друг с другом, а продуктивно сосуществуют и совместно творят. Какие ключевые компетенции (индивидуальные и, возможно, коллективные) нужно массово развивать людям, чтобы повысить вероятность именно этого сценария — а в перспективе, реализовать возможность эволюционного скачка на его основе?

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

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

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

Вопрос 25


original
25) The project of creating tools for «augmented intelligence», including input and output interfaces, that you at PARC and Doug Engelbart at SRI have been implementing since 1960s, has only found partial way into massive ICT applications. What would be the main avenues for future development of interfaces (and maybe complementary skills of children and adults?) that would help complete this unfinished revolution? As part of the question: what do you think of the potential of neural interfaces? Do you envisage them as one of the indispensable components of human-machine interfaces as the complexity of social life and technosphere increases further into 21st century?

I don’t view neural interfaces as indispensable (first we need to get human brain-minds working better, etc.) The current day shows us what improved communications technologies wind up being used for if humans aren’t helped to improve their brain-minds!

Both Doug and I (and others) thought then that enormous changes to general education would be needed to make use of the new tools and media (what would a person use a violin for if they didn’t learn how to play it?)

And, given that, it’s clear that what his and my groups did 40-50 years ago was just a bare start at what’s needed. It’s definitely time for another pass at these problems. (Bret Victor is a really great young thinker about these issues)

— Проект создания инструментов “дополненного интеллекта”, включая создание новых интерфейсов “человек-компьютер”, который с конца 1960-х вы реализовывали в PARC, а Дуглас Энгельбарт в SRI, во многом стал основой современных ИКТ — но очень многое из тогдашних идей и подходов всё ещё не реализовано в массовых решениях. Какими, по вашему мнению, должны стать основные направления развития интерфейсов (и, возможно, навыков детей и взрослых) которые смогут двинуть дальше “незаконченную революцию”?
И как часть вопроса: что вы думаете о потенциале нейроинтерфейсов? Считаете ли вы, что они станут необходимым компонентов интерфейсов “человек-машина” по мере усложнения нашего общества и техносферы (скажем, к середине 21 века)?


— По мне, так нейроинтерфейсы не столь незаменимы, как может показаться (и вообще, для начала нужно, чтобы человеческие умы научились работать эффективнее сами по себе). На сегодняшний день видно, что даже самые эффективные технологии коммуникаций, используемые людьми, вовсе не помогают их умам стать эффективнее!

И Дуг, и я, и наши коллеги, — все мы полагали, что чтобы новые инструменты медиа принесли максимум пользы, необходима грандиозная трансформация общего образования (в конце концов, что может сделать человек со скрипкой, если он не знает, как на ней играть?)

Таким образом, то, что мы с нашей группой сделали 40-50 лет назад, это лишь малая толика того, что должно быть сделано. И сейчас отличное время для новой попытки решить эти проблемы (Брет Виктор — потрясающий молодой мыслитель в этой сфере).

Вопрос 26


original
26) So far, technologies have been able to make only limited transformative impact on education. And, as you have yourself stated in one of your interviews, «music is not in the piano», it is not the matter of technologies but of the way in which they are applied. If you were to nominate top three necessary changes in the *social* context of new technologies to make impact on the next generation of learners, what would these be?

Yes, “the music is not in the piano”, but because of the piano we can wind up with great music that wouldn’t have happened otherwise. The great music happened in the minds of artists who contemplated some of the musical possibilities of the new instruments. (And some of the instruments happened because of some of the new possibilities for music in the minds of the composers!) It’s hard to think about any of these areas without considering how co-evolution of ideas, works, tools, and media all intertwine.

Many of the inventions that contribute to “civilization” are “anti-genetic” in several senses (a) they are not found “naturally” in traditional cultures, and (b) they often oppose a genetic tendency that is thought to be natural (for example: revenge, inequality, etc.)

If we look for “natural things” that get us into trouble, we can find many: for example: stories, desire for status and power, envy, desires for revenge, etc. Take a look at Anthropology’s list of several hundred “human universals” (Donald Brown etc.) and pick your favorites to be opposed by better forms of education.

— Не смотря на обещанную “цифровую революцию” в образовании, новые технологии всё ещё оказывают довольно незначительное влияние на модели массового образования. Как вы сами сказали в одном из интервью, “музыка находится не в пианино”, вопрос не в технологиях, а в том, каким образом они применяются. Можете ли вы назвать три ключевых изменения в социальном контексте применения технологий, необходимые для того, чтобы следующие поколения начали действительно учиться по-другому?

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

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

Если поискать те вещи, которые «естественны» для человека, и которые создают нам неприятности, то можно найти немало таких вещей, например: «истории», «стремление к статусу и власти», «зависть», «стремление к мести», и т.д. Посмотрите на список нескольких сотен человеческих универсалий (“human universals” см. книгу Дональда Брауна и т.д.), и выберите методики обучения для работы над теми из них, что вас заинтересовали.

Вопрос 27


original
27) Strategically — especially given your role in the constructivist «movement» as one of its key «ideologists» — what is in your opinion a preferred way of human beings to learn into the 21st century? Should they, for instance, learn more from self organized technology intense learning environments, or from and within groups of their peers organized as «communities of practice», or within more traditional institutional set-ups such as schools and universities «augmented» with certain technological and social innovations, or?

— I’m not much of an ideologist or any kind of “ist”. The real questions here have to do with (a) what needs to happen to the many parts of the brain-mind to achieve fluency in some pursuit? And (b) what are the best ways to get those changes to happen?

An important societal case is © how to deal with teaching and learning the subjects that the society has decided that everyone shall learn, whether they want to or not?

I’ve talked and written about some of this elsewhere. But for here, the simplest place to start might be to read Montessori’s books (they are all good). The one she did towards the end of her life — The Absorbent Mind — is particularly good.

— С учётом вашей роли как одного из идеологов “конструктивистского" движения в образовании — как вы считаете, каким будет предпочтительный способ обучения людей в 21 веке? Например, будут ли они в основном учиться в самоорганизуемых цифровых средах под управлением искусственного интеллекта, или же в разного рода “сообществах практики” и проектных командах, где они могут учиться у своих коллег и сверстников — или они будут продолжать учиться в более традиционных форматах, в школах и университетах (с учётом того, что они будут обновлять содержание и форматы учебных программ), или же ещё как-то?


— Я не очень-то и идеолог (и вообще "-лог"). Вот над чем действительно стоило бы задуматься:

  • a) Что должно произойти со множеством составляющих человеческого мозга-разума, чтобы он стал хорошо разбираться в том или ином деле?
  • b) Что нужно сделать, чтобы добиться таких изменений?
  • c) Очень важный момент в контексте общества в целом. Как нам быть с обучением и изучением предметов, которые общество считает необходимым изучать в независимости от того, хочется ученикам это изучать, или нет?

Я много рассказывал об этом и писал… Но для начала, лучше всего стоит начать со чтения книг Монтессори (они все весьма хороши). Та книга, которую она написала ближе к концу своей жизни — The Absorbent Mind — особенно хороша.

Petr Levich

(Head of Science, Technology and Society Department at Moscow Technological Institute, Founder at Future Foundation)

Вопрос 30


original
30) What’s your opinion on the following possible approach:
What if we’d build a hackathon-like environment where any kind of technical experiments are allowed, w/o requirement to apply found solutions, or find a business model; where people would live and seek for the new meanings in the constantly changing and full of complexity world world? Would you be interested to participate in the creation of such an environment-space?

This is partly what Engelbart wanted to do.

One thing to ponder is that “improvisation” is quite different from “composing”, especially as you enter more and more developed areas. The pop culture likes to improvise and to consume improvisations, but is much less inclined towards the planning etc needed for more elaborate compositions. “Hackathons” are much too much about “doing” and not enough about “thinking”.

Как вы считаете, целесообразно ли создать пространство с разрешением на эксперимент в технической области, такой постоянный режим хакатона, но без обязательности применимости и наличия бизнес модели, где люди бы жили и искали новые смыслы в быстроменяющемся сложном мире, прототипируя новые технологии на себе? Интересно ли было бы вам поучастсовать в создании такого проекта?

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

Ilya Sobol

(Inventor, entrepreneur, process/experience designer, making evangelist and maker)

Вопрос 31


original
31) What is you creative process? Do you use special methods to create ideas? Or its just periodical insights and matter of luck? Or may be you have a task to design and in process of problem solving this task you usually find unexpected solution? Or may be you have your own creative method?

“Luck” is a complex idea, but it does at least stand for “things happening you can’t control”, and so it’s a big factor in most creative processes in many ways. I answered this a little in question 15.

— Как вы придумываете новые идеи? Это озарения, удача и случайность или вы всё-таки формулируете для себя какие-то задачи, решая которые, придумываете? Или у вас свой способ?

— «Удача» — это сложная идея. Она частично стоит за «вещами, которые происходят вне нашего контроля», и она является немаловажным факторов в большинстве творческих процессов. Я еще немного написал об этом в моем ответе к вопросу №15.

Вопрос 32


original
32) If your creative process based on problem solving approach, what was the problems you tried to solve when you found dynabook concept?

— My process is much more based on “problem *finding*” than problem solving (there’s more in other parts of this document). The Dynabook was an extremely simple “vision” that matched up with what I thought was wonderful about what Seymour Papert was doing. In other words it was a “fit” into the qualitative universe of how to learn difficult to learn things.

— Если новые идеи, это результат решения задач, то какие задачи или вопросы вы ставили перед собой, когда придумывали ноутбук /ООП/ и тд?


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

Dmitriy Sudakov

(Education consultant, leader of Atlas of emerging jobs (atlas100.ru/en))

Вопрос 36


original
36) What do you think could be the next big step in the personal computing? We had PCs and laptops, then tablets and phones. What’s next?

How about really learning to use any of these?

- Что вы видите следующим «большим шагом» развития персональных устройств? Мы перешли от компьютеров к лаптопам, далее планшетам и смартфонам. А что дальше?

— Как насчет того, чтобы научиться эффективно использовать хотя бы эти инструменты?

Igor Trapeznikov

(Neuroscientist, cyborg and lifelogger. CEO AIcoda Co. LTD)

Вопрос 38


original
38) What made you so curious about life, and things, in your childhood?

Most children start off somewhat curious, but are willing to accept stories as answers. I think I might have been a bit more curious than most, and wasn’t willing to accept stories as answers. I think a very big factor was that I more or less accidentally learned how to read fluently at a very early age, and reading lots of books really opens up one’s world view, and this really boosts curiosity.

— Что в детстве послужило развитию вашей любознательности?

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

Вопрос 39


original
39) What do you think people lack in terms of knowledge and technologies?

I’ll come back to this one. The simplest answer is that “we can’t learn to see until we realize we are blind”, and most people don’t realize they are blind. This is a kind a meta-knowledge that — like context — makes all the difference in how one approaches learning and knowledge.

— Чего по вашему мнению сейчас не хватает человечеству в плане знаний и технологий?

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

Shapelez хороший человек. Он очень хорошо подсуетился, и поэтому у нас есть блок корпоративных вопросов. Делайте как Shapelez.

Qrator Labs (DDoS mitigation and network availability)



Alexander Lyamin

(founder and the CEO of Qrator Labs)

Вопрос 40


original
40) In the interview of 2008, Donald Knuth said: «it looks more or less like the hardware designers have run out of ideas, and that they’re trying to pass the blame for the future demise of Moore’s Law to the software writers by giving us machines that work faster only on a few key benchmarks! I won’t be surprised at all if the whole multithreading idea turns out to be a flop, worse than the [Itanium] approach that was supposed to be so terrific — until it turned out that the wished-for compilers were basically impossible to write.»

This year even consumer processors being sold are 8-cores, top mainstream processors are dozens-core. So the processor industry took a wrong turn, according to Knuth. How do you evaluate the current state of the industry and what do you think is going to happen in the nearest decade?

Interesting question. There are certainly many good ideas for hardware that have been around starting in the early 60s that haven’t been used, so *some* hardware people didn’t run out of ideas. However, the chip manufacturers (e.g. Intel and Motorola) were never interested in ideas (or really even in software).

The next set of answers here are too long for this forum — but they are along the lines of *not* trying to compile bad languages into multiprocessors, but to create good languages and let the hardware designs optimize those good ideas.

I certainly agree that the industry took a wrong turn — but the first one goes all the way back into the 60s before CPUs could be done on an integrated circuit.


— Дональд Кнут в интервью от 2008 года сказал: «Для меня всё выглядит похожим на то, что разработчики аппаратного обеспечения исчерпали все идеи и пытаются свалить вину за близкую кончину Закона Мура на авторов ПО, предоставив машины работающие быстрее только в определённых ситуациях и с конкретными бенчмарками. Я нисколько не удивлюсь если вся многопоточная идея окажется пустышкой, хуже, чем подход Itanium который должен был быть «таким потерянным», пока не выяснилось, что желаемый компилятор невозможно написать в принципе.» В этом году даже обычные потребительские процессоры стали 8-ми ядерными, топовые mainstream процессоры исчисляют свои ядра десятками. Т.е. индустрия процессоростроителей «took a wrong turn», according to Knuth.

А как вы оцениваете происходящее и что по вашему мнению должно и будет происходить с процессорами в ближайшее десятилетие?


— Хороший вопрос. Множество неплохих железных идей, начавшихся в ранние 60-е так никогда и не были использованы или воплощены в жизнь, так что некоторые инженеры до сих пор вынашивают какие-то идеи. Тем не менее, производители чипов (такие как Intel и Motorola) никогда не были заинтересованы в идеях (на самом деле, даже в программном обеспечении).

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

Я, безусловно, согласен с тем, что (процессорная) индустрия повернула не в ту сторону — и первый такой был совершён ещё в далёкие 60-е до того, как CPU стали производиться в виде интегральной системы на чипе.



Alexander Azimov

(network architect Qrator Labs)

Вопрос 40


original
41) We are moving from the world where we were using technology to the world where technology is using us. And context advertisement is most evident and harmless example. Do you see ongoing risks in this field?

In the 19th century, the American writer Thoreau wrote that “we become the tools of our tools”. This has been studied quite a bit by a few people since the 50s — such as Marshall McLuhan — and it is a big problem which incurs deep risks.

— От мира, в котором мы используем те или иные технологии мы двигаемся в сторону мира, в котором технологии используют нас. Контекстная реклама — наиболее очевидный и безобидный пример. Какие риски вы видите в этом поле?

— В 19-м веке американский писатель Торо сказал, что «мы становимся инструментами наших собственных инструментов». Этот феномен изучался некоторыми людьми с начала 50-х годов, такими, как Маршалл МакЛюэн, и я вижу в данной тенденции большую проблему, влекующую за собой потенциально высокие риски.

Andrew Leskin

(software engineer Qrator Labs)

Вопрос 44


original
44) Where to, from your point of view, the whole OOP development is going? Do you agree with the statement that OOP is becoming something in the middle between the functional and object-oriented programming? Is there a chance for evolving some new paradigm?

In the way I thought about OOP (and what I meant by it) there is no conflict at all with functional programming. Take a look at the idea of “fluents” by John McCarthy, and “pseudotime” by a variety of researchers from Strachey onwards. It’s just that most people want to do imperative programming, and forced what they decided to call OOP into something that is essentially Abstract Data Types, not OOP.

— Куда на ваш взгляд движется развитие ООП? Согласны ли вы с утверждением, что ООП вырождается во что-то среднее между объектно-ориентированным и функциональным программированием? Возможно ли движение в какую-то иную, новую парадигму?

— В том, как я думал об ООП (и что я под этим имел ввиду) нет совсем никакого конфликта с функциональным программированием. Посмотрите на идею «флюентов» en.wikipedia.org/wiki/Fluent_(artificial_intelligence) Джона МакКарти и «псевдовремя» сформулированное несколькими исследователями следом за Стрейчи. Дело просто в том, что люди хотят программировать императивно и в итоге вынуждены называть объектно-ориентированным программированием то, что является на самом деле абстрактными типами данных, а не ООП.

Anton Orlov

(software engineer Qrator Labs)

Вопрос 45


original
45) Thinking of the latest machine learning progress could we expect any change in the way computer programs are written in the nearest future? Is there a chance computers would help a man in writing those programs? How could we move this way?

Yes, I’ve given a few talks along this lines. They are on YouTube but I don’t post the talks and I don’t keep track of them. If I have time I’ll try to find one that says a few words about this.

— Учитывая прогресс в machine learning, можно ли рассчитывать, что способ написания компьютерных программ изменится в ближайшее время? То есть, смогут ли компьютеры сами существенно помогать человеку в написании программ? Как двигаться в эту сторону?

— Да, на эту тему я уже неоднократно высказывался — на YouTube есть записи, но я не публикую собственные выступления и даже не слежу за ними. При наличии времени я постараюсь найти наиболее релевантное, содержащее пару слов по теме заданного вами вопроса.

Meklon

(Linux-admin, medicine researcher)

Вопрос 56


original
56) What do you think about computers in early childhood (3-7 years)? Many parents forbid their children to use computers and other gadgets.

What do you think about books in early childhood? What do you think about TinkerToys in early childhood. These are all good ideas if the books are good and the tools are good.

— Как вы относитесь к тому, чтобы погружать детей в работу с компьютерами с самого раннего возраста? Многие очень родители очень жестко ограничивают это минимум до 7 лет.

— Как насчет чтения в раннем детстве? Или конструктор TinkerToys? Это прекрасные идеи, если книги хорошие и инструменты хорошие.

Ivan Ponomarev

(Java-programmer)

Вопрос 58


original
58) As one of the key authors of Smalltalk language and OOP paradigm, what do you think about the fact that all the languages that are recognized nowadays are not purely object-oriented, but tend to be multi-paradigm? Is it because the power of pure OOP was never fully realized, or is it just the way programming languages evolve? (There are people e. g. in Java language community who are fighting for 'pure' OOP principles for the sake of code cleanliness, sort of 'back to the roots', what do you think about this?)

Mulitparadigm is generally good. “Bad-paradigm” is almost always bad. Imperative programming with data structures (and using “setters” in “OOP”) is a very bad way to program. But combining good ways to program is good. Religions tend to be bad even when they are trying to be good, because they have a hard time tolerating multiple perspectives — and there are also religions based around ideas that are not good. So getting religion out of computing would be a very good thing. The real questions are about: how to make systems where “simple things are simple, and complex things are possible” and that includes being able to change one’s mind after the fact and having the resulting changes be a reasonable amount of effort.

— Как один из авторов языка Smalltalk и парадигмы ООП, как вы относитесь к тому факту, что получившие распространение языки программирования не придерживаются чистого ООП, являясь по сути мультипарадигменными? Это результат того, что возможности чистого ООП оказались недооценены, или всё так и надо?

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

Artiom Zheltov

(futurologist)

Вопрос 60


original
60) How did Xerox PARC developers get tasks to do? How did they identify/foresee problems that they've solved with the tech they've developed at PARC?

The researcher organization at Parc was “flat”, no one was told to do anything. Because Xerox “counted heads” when budgeting (a researcher counted the same as a technician) we had only a few technicians (we used the head count for researchers). We all came from the ARPA-IPTO research projects, and carried Licklider’s and other’s visions with us. There were “admired personalities”. There was a weekly meeting of all to sort things out. Interests were offered, pledges could be made. For recreation many of us would spend 20-30% of our time as “hands” for someone else (as a programmer or soldering, etc.) This was very soothing.

In practice there were always a number of projects going on — they tended to orbit around the “admired personalities” and “exciting projects” (e.g. Butler Lampson, Chuck Thacker, the Alto, Ethernet, etc) — and these led to “grouplets” that persisted for varying lengths of time. My group — the Learning Research Group — persisted for most of 8 years.


Вопрос 61


original
61) There's a hypothesis that the stuff you've invented/developed wasn't really needed at that time. They were nice to have, awesome futuristic things. But 40 years later they became the foundational element of people's lives. If so, what kind of nice to have, awesome futuristic things do you see as something that solves problems that look irrelevant or not yet important today?

I would say that what we invented *was* needed at the time, it’s just that almost no one realized this. Try thinking about what is needed right now but no one can see it

— Существует гипотеза, что те вещи которые вы создавали или изобретали еще не были востребованы в свое время. Они были чем-то, чем было приятно обладать, потрясающими футуристическими штуками. Но 40 лет спустя они стали краеугольным камнем в жизни людей. В этой ситуации, как вам кажется, какие потрясающие футуристические вещи, неактуальные в наши дни, смогут решить какие-то проблемы в будущем?

— Я бы сказал, что то, что мы изобрели было актуально в свое время, просто почти никто этого не осознал. Постарайтесь представить, что именно так необходимо сейчас, но не приходит никому в голову?

Спасибо.

Публикации на русском:


«American business is completely fucked up because it is all about competition. Но наш мир создан для взаимовыгодного сотрудничества, и это именно то, чему надо обучать людей. Лучшая аналогия — это командные виды спорта.»



P.S.


Думаю, Энгельбард порадовался тому, как Алан Кей отвечал на вопросы в режиме совместной правки документа.



P.P.S.


Какой вопрос Алану Кею задали бы вы?
Поделиться с друзьями
-->

Комментарии (28)


  1. Rinz
    31.07.2017 11:48
    +4

    Довольно интересно было почитать автора ООП и моего любимого языка Smaltalk, спасибо автору. )


    1. CrazyFizik
      31.07.2017 13:19
      -3

      Вы используйте неправильный ООП и у него неправильный код.

      Краткое содержание части этого интервью, посвященной ООП :-)

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

      Но если посмотреть еще и с 3-й стороны, то Smalltalk — это чисто учебный язык. Языки используемые в продакшене на протяжении всей своей истории существования, это: Fortran (охоспади, первый ЯП), Lisp, Cobol, Ada, С/С++, С#, Java, Pascal/Delphi, Matlab, Пухтон, SQL, Verilog, VHDL, Go и даже упомянутая в интервью Jullia используется в продакшене — её ещё нет в релизе, а она уже достаточно активно используется (на мой взгляд это самый перспективный ЯП из всех существующих, если, конечно, получится пересадить народ с С/С++, Fortran, Matlab и Пухтона на нее). А ещё всякий синтаксический мусор типа ПХП и Жаба-скрипта. Есть парочка убитых языков, типа Пролога и Алгола. Наверное Вы ещё с десяток сможете добавить. А вот Smalltalk в бою я нигде не видел, и сомневаюсь что его когда-либо использовали — он с самого начала не зашёл в продакшен (кстати по вполне объективным причинам).


      1. zamsky
        31.07.2017 15:10

        Ну у меня есть проект, который работает на Smalltalk 24/7/365 уже 17 лет. Причем последние 6-7 лет без моего участия. Но проектов действительно мало просто потому, что Smalltalker'ов в России в пределах 10-15.


        1. khim
          31.07.2017 21:02

          Думаю их всё-таки побольше. А проблема — действительно в условных «индусах». Вернее — в том, что люди разные, очень разные. Но им нужно как-то совместно делать проект. В результате 1000 человек совместно делают за год проект, который один Smalltalk'ер сделал бы за 10 лет (и результат был бы лучше!), но, увы, ждать столько нельзя…


        1. CrazyFizik
          31.07.2017 22:35

          Ну вот за бугром, как мне показалось чуть ли не каждый второй его знает — все его любят, но почти никто не пользуется. Так же как и Симула, потомком которого он и является, этот язык концептуально был слишком крут для своего времени… и для тогдашнего железа.

          И вот прошло… эээ… почти 50 лет и Алан Кей в интервью говорит: вы используйте императивное программирование со структурами и сеттерами и называйте это ООП, не надо так.
          image


          1. symbix
            01.08.2017 01:33

            Он говорит не о языках программирования, а об антипаттернах типа Anemic Model. Ровно о том же, только другими словами, говорят Фаулер, Эванс итд.


            1. CrazyFizik
              01.08.2017 12:29

              1. Берём любой рэндомный Паттерн (если это общеизвестный антипаттерн, то сразу переходим к п.3)
              2. Обнаруживаем что он антипаттерн
              3. Находим ему альтернативу
              4. Обнаруживаем, что альтернатива тоже антипаттерн
              5. Повторять до тех пор пока не будет обнаружена серебряная пуля.

              Ок, раз другими словами, ну тогда другими словами:

              Вы просто не умейте готовить ООП

              Употреблять в любой непонятной ситуации.


              1. symbix
                02.08.2017 02:29

                Это вы уже в демагогию сваливаетесь. Сами выдвинули утверждение и сами опровергаете. Я вообще не о том.


                Сформулирую свою мысль иначе: изначальная формулировка ООП, которую дал Алан Кей (про объекты и сообщения) вполне совместима с более современными паттернами и методологиями (SOLID, DDD, CQRS...), а отклонения от его изначальной формулировки вполне соответствуют известным антипаттернам.


      1. hogzie
        01.08.2017 00:34
        +1

        У вас удивительная способность все смешать в кучу, навешать лейбаков, добавить ксенофобии по отношению к индусами. Логика при этом проигнорирована напрочь. Например, ваши же выводы должны записать Алгол в индусский язык. :D Что такое нафиг «продакшен» по отношению к языку!? Смоллток использовался во многих проектах в реальной жизни. В Японии на нем целые CAD'ы писали, когда Verilog даже не существовал в планах. Не говоря о том, что он многие идеи и конструкции из Смоллтока перекочевали в другие языки. ObjC тому пример.


        1. CrazyFizik
          01.08.2017 12:17
          -1

          В Японии на нем целые CAD'ы писали, когда Verilog даже не существовал в планах..

          Писали, писали, да не выписали, вероятно точно также как и вычислительные системы 5 поколения :) Когда это когда? :-) Что за CAD? Что он делал? Как назывался? Что за японцы его писали?

          «Вот был там какой-то проект, бабушка на лавочке сказала что его писали на языке Х задолго до языка Y» — плохой пример, даже не потому что это неверифицируемый треп, а потому что не смогли выдать хоть сколько-то значимого примера и не показали регулярность использования языка. Ну писали и что? Раз написали, два написали, потом отпуск кончился и пошли дальше на Жабе писать.

          ксенофобии по отношению к индусами

          Хм, с каких это пор констатация факта является ксенофобией? Индусы любят сахар (докажите что не любят), не вижу здесь ничего ксенофобского. Вы похоже что-то выдумали и давай развешивать ярлыки ;-)

          Например, ваши же выводы должны записать Алгол в индусский язык. :D

          Вы что-то путайте — это Ваши выводы, ещё и новый класс языков выдумали — индусский (говорят в Индии много языков, но официальные языки английский и хинди, но не исключаю что есть индусы которые на Алголе разговаривают). Я лишь написал, что Алгола был безвременно убитым языком, ничего более, также как был убит Пролог, кстати японцами, старожилы говорят, что это было очень увлекательное зрелище ;-) Возможно это даже были те же японцы что-то там писали на Smalltalk :-)

          Не говоря о том, что он многие идеи и конструкции из Смоллтока перекочевали в другие языки. ObjC тому пример

          Алан Кей в интервью уже все сказал про все эти Object языки в которые перекочевали идеи Smalltalk: «Это был не ООП». То что оказал некое влияние, никто и не отрицает, только разговор шел о:
          Что такое нафиг «продакшен» по отношению к языку!?

          Капитан очевидность подсказывает, что это значит, что на языке пишут что-то более серьезное нежели чем «Hello world» и учебных примеров. Пишут и выпускают продукт на этом языке, иногда даже коммерчески успешный. Например, на Фортране писали математику ещё до того как Алан Кей пришел в Xerox, пишут аш с 1957 года, и продолжают писать до сих пор т.к. другая альтернатива — это Си, и Вы не поверите, но на Си пишут самые настоящие ОС (просто офигеть!), а на VHDL вот уж 35 лет описывают интегральные схемы. А вот на Smalltalk написали VisualWorks — среду для того что бы писать на Smalltalk, вероятно некоторые попали в рекурсию и так до сих пор и не вышли…


  1. Sirion
    31.07.2017 14:01
    +9

    Мне кажется, в начале статьи очень хорошо смотрелась бы небольшая справка на тему того, кто такой Алан Кей. Предвижу, что в меня полетят помидоры после такого заявления, но всё же это не общеизвестная информация.


    1. Serge78rus
      31.07.2017 16:20
      +1

      Но существование Википедии — это то общеизвестная информация.


      1. Sirion
        01.08.2017 08:49
        +1

        В хабрапсто нужно оптимизировать скорость чтения, а не объём)


    1. MagisterLudi
      31.07.2017 17:27
      +2

      добавил


  1. Sinatr
    31.07.2017 14:52

    Что за Danila Kornev в 9 вопросе? А все, понял, начались вопросы от конкретных людей?


  1. potan
    31.07.2017 16:54

    Интересно узнать его отношение к доказательствам корректности программ, в частности к ЯП с зависимыми типами.


  1. masai
    31.07.2017 21:15

    Julia, который сейчас потихоньку выходит на роль ведущего языка scientific computing после фортрана-матлаба-питона

    Очень смелое утверждение на мой взгляд.


    1. CrazyFizik
      31.07.2017 23:40
      +1

      Нормальное утверждение. Сейчас все серьезные приматы так или иначе на нем работают.
      Вообще в мире всего на двух (трех) языках пишут программы с серьезными вычислениями — это C/C++ и Fortran, сейчас в этот клуб вступила Julia и стала третьим (четвертым, если разделять C и Fortran) языком для высокопроизводительных вычислений.
      Никто на Пухтоне, Жабе или Матлабе не будет поднимать вычислений, где надо брать петафлопные рубежи. Математика в Матлабе самая быстрая из этих трех, а Julia быстрее Матлаба, гхм… в моих задачах примерно в 38 раз, а учитывая что синтаксис там такой же нативный для приматов как и Матлабе с Фортраном, то это становится слишком заманчиво что бы проигнорировать такой язык.

      Единственная проблема, шо крайняя версия языка, гхм...0.6 и некоторые инструменты находятся еще просто в зачаточном состоянии. С другой стороны это не мешает его использовать, например, для система управления воздушным движениям.


      1. 3lnc
        03.08.2017 17:42

        Никто на Пухтоне, Жабе или Матлабе не будет поднимать вычислений, где надо брать петафлопные рубежи.

        Только вот scientific computing "петафлопаными рубежами" не ограничивается


  1. Halt
    01.08.2017 08:58
    +1

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

    Интересно услышать его мнение относительно системы типов языка Rust. Именно в контексте проблем с «плохими» языками и многопоточными системами. С моей точки зрения, это единственный на данный момент язык, который пытается решать проблему параллельного программирования на фундаментальном уровне.


    1. rkosolapov
      03.08.2017 11:28

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


      1. Halt
        03.08.2017 12:20

        На эти вопросы хорошо отвечает пост одного из идеологов языка: Fearless Concurrency.


        1. rkosolapov
          04.08.2017 06:14

          За статью спасибо.

          В целом не совсем понятно, почему не ограничиться lexical scope (со всеми традиционными батарейками в виде HOF и так далее) и агентами (как в Oz, например, ну или даже как в эрланге), или вообще пойти по пути хаскеля (раз уж и так что-то типа GADT и pattern matching уже есть). Видимо, крестовые корни не дают возможности делать просто (для программиста), а не сложно.

          Ну да ладно, лень спорить. То, что раст не единственный, где думают про конкурентность, и то, что система типов у него хоть и не самая простая, но вполне себе обычная для 21 века (даже всяких agda не надо вспоминать, сравнения с простым хаскелем достаточно) — ну собственно я в этом убедился, ну а большего мне и не надо.


          1. khim
            04.08.2017 07:39

            Видимо, крестовые корни не дают возможности делать просто (для программиста), а не сложно.
            Вопрос не в простоте или сложности для программиста, а в возможности «положить» это на CPU. Rust следует за C++ в принципе you don't pay for what you don't use — а все «традиционные батарейки» в этом ключе сложно реализовать, как я понимаю (с другой стороны исключения таки реализовали так, что при их не использовании за них «платить» не нужно, может быть и тут можно так сделать).

            даже всяких agda не надо вспоминать, сравнения с простым хаскелем достаточно
            Хаскель — ни разу не прост. Даже C++ и rust в 100 раз концептуально проще. Именно а разрезе отображения языка на железо. Как именно многие конструкции Хаскеля отображаются в машинные инструкции — сходу неочевидно, в то время как для C++ и rust — всё понятно. Совсем другой уровень абстракций…


          1. Halt
            04.08.2017 07:54

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

            В целом не совсем понятно, почему не ограничиться lexical scope (со всеми традиционными батарейками в виде HOF и так далее) и агентами (как в Oz, например, ну или даже как в эрланге), или вообще пойти по пути хаскеля (раз уж и так что-то типа GADT и pattern matching уже есть). Видимо, крестовые корни не дают возможности делать просто (для программиста), а не сложно.

            У вас довольно своеобразное представление о том, что просто для программиста, а что сложно. Пойдя по пути хаскеля мы получим еще один хаскель. Раст же старается оставаться в рамках императивной парадигмы, понятной обывателю и удобной для системного программирования, в то же время вынося на бытовой уровень ФП-шные плюшки.

            С точки зрения теории типов, система типов раста — это что-то вроде системы F, расширенной понятиями лайфтаймов. Операторы над типами, насколько я знаю, сейчас не поддерживаются (хотя сейчас идет активная работа над специализацией и полиморфизмом высших порядков).

            Основное отличие по сравнению с хаскелем — это существование т.н. coherence rule, которое обеспечивает возможность изменения зависимостей без нарушения логики программы. То есть ситуация, когда после минорного обновления библиотеки в недрах дерева зависимостей код перестает компилироваться, практически исключена.

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

            Наконец, все это является довеском к основным задачам языка: memory safety и fearless concurrency. Вы утверждаете, что в этом ничего особенного. Назовите мне пожалуйста еще один императивный язык программирования, который статически на этапе компиляции контролирует отсутствие в программе состояния гонок и не допускает существования тухлых указателей. Притом, чтобы все это происходило без GC и VM.


            1. Halt
              04.08.2017 08:00

              Да, если есть желание разобраться подробнее именно с точки зрения системы типов, могу посоветовать научную работу по формальному доказательству корректности языка и его стандартной библиотеки: RustBelt: Securing the Foundations of the Rust Programming Language.


      1. khim
        03.08.2017 15:12

        Прочитал документацию по Расту, не вижу абсолютно ничего особенного в его системе типов, можете раскрыть мысль?
        С вероятностью 90% вы просто «пропустили мимо» самое важное. Ну как программисты на Turbo Pascal'е когда говорили с C++'шниками: а что — так сложно деструктор вызвать? А когда появились исключения, то эта мелочь (в Turbo Pascal нужно явно вызвать XXX.Done, в С++ компилятор разрушает обьект автоматически) оказалась настолько важной, что в Delphi пришлось вводить совершенно другую, ортагональную, систему типов…


        1. rkosolapov
          04.08.2017 06:17

          Зачем вы думаете обо мне плохо, не зная меня?

          У Раста система типов может показаться особенной тем, кто не в курсе про GADT, например (ну и да, в расте ADT, без G), про зависимые типы. Ну то есть кто застрял в примитивных крестоподобных системах типов.