БЕСЕДА 18. ПОЧТИ ПО БЕККЕТУ*
(Из книги "ШКОЛА ПУТИ, ИЛИ ПЕРИПАТЕТИКА СТАНОВЛЕНИЯ ЛИЧНОСТИ")
- Паап! Хочешь, я расскажу тебе про язык программирования Пайтон,* - спросил сын, едва мы вышли из дома.
- Подожди пока. Сейчас свернём на большую улицу, где можно идти вдвоём и рядом, тогда и начнёшь.
- Итак, язык Пайтон создан для того, чтобы... - начал свою лекцию мой девятилетний просветитель через полсотни шагов, я же думал, как закрепить лямки наших рюкзаков, которые сползали с моих плеч. Ещё не хотелось бы поскользнуться и упасть на ставший льдом снег, утрамбованный с утра и до обеда несколькими сотнями ног. Нужно не сбиться с ритма, иначе можно и опоздать в школу. Как там нас учил наш сенсэй, ступать словно шипами на подошве протыкаешь гранитную гладь. Вроде бы получается...
- После того, как установишь на свой ПК программу через обычный инсталлятор, нужно скачать и использовать дополнительные модули. Хотя и без них можно работать.
- Подожди. А вот скажи мне, пожалуйста, - пытался хоть немного вникнуть в излагаемую мне тему, понимаю, что в противном случае отключусь от повествования и буду всю дорогу думать о своём. - Все эти модули, оболочки, виртуалбоксы* - это как языковая среда, без которой твой Пайтон обойтись не сможет?
- И да, и нет. Это его рабочая среда, но он сам может с её помощью создавать намного больше, другие среды. Почему я его выбрал, чем он мне нравится? Он - очень прошарен, * продуман. Представляешь, если ты допускаешь ошибку при написании кода или решении задачи, то Пайтон сообщает тебе об этом. И не только. Он показывает, где ты ошибся, предлагает варианты исправления.
- Представляешь, сынок, в жизни... Например, когда пишешь текст в программах телефона или компьютера, так сказать, в рабочей среде, то виртуальная машина тебе подсказывает красным подчёркиванием, что допущена орфографическая ошибка или используется неизвестное слово. А если такое сообщение будет в отношении жизненных ситуаций? С набором предложений как поступить, активными ссылками, которые будут раскрываться, это помогло бы людям избегать глупых недоразумений и личных трагедий? Через ваши импланты прямо перед глазами или сразу в мозг...
- Папа, Пайтон - это просто мощный язык программирования и всё.
- Вот и я об этом же! Мы всегда хотим большего. Может быть так, что слова несут в себе несколько смыслов, а машина знает только один перевод или знает всё, но не знает какой использовать? Или знает все смыслы и переводы, но предложит тот, вариант, который сама посчитает верным?
- Знаешь, папа, Пайтон учится. Он уже может распознавать по другому записанные слова. Например, слово "принт"* можно написать и как "прин", и как "принтт". Всё равно будет выполнена единственно верная команда.
- Отсюда, можно сделать вывод, что авторы включили в разработку все свои возможные ошибки. Они вложили всё, что сами знали и могли. А дальше? Сможет ли язык довести до восстания машин? *
- Вот опять ты говоришь непонятно.
- Извини, отвлеклись. Что ты там говорил про дополнительные модули?
- В принципе, уже сейчас возможности базового Пайтона позволяют обходиться без дополнительных модулей. Но их создают для удобства. Не надо ничего придумывать - бери готовое и создавай что-то своё.
Продолжение лекции сопровождалось нагромождением терминов и понятий, которые сын мне старался простыми и доступными словами пояснить. Я же вспоминал его недавнее радостное сообщение, что он написал программу, которая рассчитывает размер периметра и, скоро будет, определять площадь. Я сам видел её работу на своём компьютере. Может быть в тот момент мне, взрослому человеку, считающему и умножающему в уме двузначные числа, это казалось детской забавой, но внутренне я понимал, что это начало какого-то важного пути в жизни сына, и тоже был искренне рад его достижению. Мысли витали от одной темы к другой, главная, из которых была "только бы не бросил, не свернул, не испугался бы испытаний, ошибок и разочарований"…
- И вот поэтому, если ты хочешь, я могу в твоём центре преподавать Скрэтч* и Пайтон. Мой учитель говорит, что я уже знаю на уровне шестого класса и выше, - заключил мой маленький гид в мир компьютерных технологий и виртуальных языков, забирая у меня рюкзак.
- Это хорошо, - очнувшись от своих мыслей, произнёс я. - Но учительство требует и особых умений - как преподавать свои знания, передать свой опыт, как влюбить в свой предмет ученика, который может быть совсем не хочет учиться.
- Это и некоторым учителям нужно уметь, - сказал сын, остановившись перед входной дверью.
- Именно, поэтому мы всё время сами учимся.
- Эх, я понял. Выхода у меня нет, - открывая дверь, сказал мой третьеклассник. - До вечера!
- Спасибо за твой рассказ! До вечера!
04.03.2023.
=====================================
* Сэ́мюэл Бáркли Бе́ккет (1906-1989) - французский и ирландский писатель, поэт и драматург. Представитель модернизма в литературе. Один из основоположников театра абсурда. Получил всемирную известность как автор пьесы «В ожидании Годо», одного из самых значительных произведений мировой драматургии XX века. Лауреат Нобелевской премии по литературе 1969 года. Большую часть жизни прожил в Париже, писал на английском и французском языках.
У него есть рассказ, в котором пожилые супруги вместе ужинают, ведя, как им кажется, беседу, диалог. Но на самом деле, на просто идут синхронно два отдельных монолога.
* Пайтон/Python (в русском языке чаще встречается названия пито́н) — высокоуровневый язык программирования общего назначения с динамической строгой типизацией и автоматическим управлением памятью, ориентированный на повышение производительности разработчика, читаемости кода и его качества, а также на обеспечение переносимости написанных на нём программ. Большинство компонентов Python взяты из естественного языка, который мы используем для общения. Это облегчает изучение Python по сравнению с другими языками. Интерпретируемый язык Python компилирует код построчно — что позволяет легко идентифицировать ошибки. При этом можно создавать сложные приложения с меньшими усилиями и большей удобочитаемостью, используя Python, которые будут в десять раз короче других интерпретаторов и языковых платформ, а, значит, быстрее.
* Виртуал бокс/VirtualBox – это программный продукт, специальное средство для виртуализации, позволяющее запускать операционную систему внутри другой. Оно поставляется в двух версиях – с открытым и закрытым исходным кодом. С помощью VirtualBox мы можем не только запускать операционную систему, но и настраивать сеть, обмениваться файлами и делать многое другое. При этом самостоятельно ограничивая размер реальных ресурсов, которые может использовать виртуальная машина, т.к. вместо физического жёсткого диска используется его логический раздел. В среде, которую эмулирует (т.е. создаёт образ) Virtual Box, имеется оперативная память, процессор, видеокарта и другие аппаратные устройства, которые на самом деле являются виртуальными.
* прошарен - от слова "проша́ренный" - жарг. разбирающийся в чём-либо, хорошо понимающий, знающий что-либо. Однако, есть и другой смысл выражения. Shared - это значит, что к данному ресурсу открыт доступ по сети. Например, если диск или даже отдельный каталог компьютера, подключённого к сети, объявляется как shared, другие пользователи сети видят содержимое диска (каталога) и даже иногда могут его изменять.
В данном случае, по смыслу будет выражение "продвинутый в чём-либо" , "хорошо разработанный".
* принт/print (буквально означает «печатать») - функция в языке Python предназначена для вывода заданных объектов на стандартное устройство вывода — обычно экран, также может отправлять их в файл (в программировании «напечатать» часто означает не только распечатать что-нибудь на принтере, но и вывести текст на экран и даже набрать на клавиатуре).
* Идея «восстания машин» имеет давнюю историю, берущую начало от страха человека перед тем, что творения его рук могут выйти из повиновения (Голем, Галатея, позже роботы и Терминатор). Первые примитивные самодвижущие механизмы, казалось, нарушали саму суть мира. В связи с этим они изначально окутывались неким мистическим ореолом, связанным с необузданными силами природы и с царством мёртвых. Однако, человечество пройдя разные этапы развития, дойдя до постиндустриального общества, убеждается вновь и вновь, что единственным врагом человека является человек.
* Скрэтч/Scratch – это язык программирования, разработанный для детей и подростков медиа-лабораторией Массачусетского технологического института (MIT Lab) и основанный на принципе перетаскивания визуальных блоков, чтобы дети могли легко создавать онлайн-игры, мультфильмы и многое другое самостоятельно. Название произошло от слова scratching - техники, используемой хип-хоп-ди-джеями, которые крутят виниловые пластинки вперёд-назад руками для того, чтобы смешивать музыкальные темы.