О защите детей

топ 100 блогов piggymouse04.06.2011

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

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

Женька уже месяца три как активно подсел на программирование каких-то довольно странных прилад с использованием Python и Tkinter. Прилады сильно пересекаются с его увлечением орнитологией и фотографированием птиц — он ведёт какой-то странный учёт и строит графики не пойми чего. От использования Экселя отказывается, потому что очевидно охота покодить.

Когда Жека только начинал осваивать Tkinter, первое, что он захотел сделать, были идущие на экране часы со стрелками. Код, рисующий циферблат и стрелки, он родил довольно быстро, но с обновлением возникли сложности. Tkinter был первым в жизни Жеки asynchronous message-driven GUI framework, да при этом в рамках Tkinter отсутствовало понятие таймера, на который можно бы было вешать callbacks. Тут-то я и сделал ключевую ошибку — я показал невинному одиннадцатилетнему мальчику, как запускать threads. Я при этом даже попытался поговорить с сыном как мужчина с мужчиной, объяснить все неприятности, к которым может привести необдуманная параллелизация, и убедить его в необходимости предохранения и правильной синхронизации. Но скорее всего я не смог донести до ребёнка всю опасность открывшейся перед ним части взрослого мира.

Часы счастливо пошли, а прилады для классификации птиц поначалу вполне обходились стандартными средствами Tkinter. Жека, ещё 18 мая успешно сдавший экзамены в тридцатку и с тех пор забивший вообще на всё, постепенно усложнял свои произведения и в конце концов дошёл до того, что код валидации самой толстой формы стал занимать у него более двух экранов однообразных проверок стапиццот атрибутов птицы. Я тем временем погряз в работе и дома обходился в основном end user level demos и бесстыдно забивал на code reviews.

Вчера вечером, когда я пришёл домой, Жека с радостью сообщил мне, что он решил проблему скучного вызывания стапиццот однообразных методов. Я поинтересовался, как же он это сделал. Легко, сказал Жека, я просто создал список имён методов и теперь иду по ним и вызываю из второго thread'а eval'ом. Молодец, сказал я с лёгкой гордостью за сына, самостоятельно дошедшего до data-driven metaprogramming, а нафига второй thread?

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

Зачем?!!! — изумился я, начиная подозревать нехорошее.

Ну как ты не понимаешь, с разочарованием в моих умственных способностях сказал ребёнок, пока второй thread вызывает метод, первый может делать что-нибудь полезное!

Что например? — поинтересовался я. Что он у тебя сейчас делает?

Сейчас ничего, раздражённым голосом сказал Жека, но, если понадобится, он может!

Пришлось открыть его ноутбук и посмотреть. Ребёнок действительно разрезал тело достаточно простого цикла на две части и вторую из них зачем-то выполнял в отдельном thread'е. Само собой, синхронизации там не было никакой — помогая ему написать часы, я сам специально нашёл и поставил thread-safe версию Tkinter, а мои пустые увещевания остались для него чем-то, не имеющим отношения к реальной жизни.

Я, полный стремлением загладить свою вину перед ребёнком, начал с того, как сильно мне нравится его идея со списком методов. Но, сказал я, идея со thread'ом, как бы это сказать тебе, не очень хороша. Она излишне всё усложняет. You ain't gonna need it.

Мне кажется, он не поверил.

Так необдуманное и беспечное поведение родителей может завести маленького ребёнка на неверный путь и привить ему привычки, которые принесут ему много боли и страдания в будущей взрослой жизни.

Оставить комментарий

Архив записей в блогах:
Наверняка у вас есть хотя бы одна пара джинсов. И на этих джинсах практически гарантированно есть вот такой маленький кармашек, который робко выглядывает из переднего правого кармана. Такая комбинация входит в стандартный для джинсов дизайн с пятью карманами. Но как и когда появился ...
Оказывается, чтобы придать своему животу спортивный вид с красивыми кубиками пресса, не нужно мучиться на тренировках, не нужно потеть в спортзале, в принципе, вообще нихуя не нужно делать. Достаточно заиметь такую незамысловатую приспособу и ...
Коротко почему теперь спг. У тебя в стране есть газ, ты с него живёшь, это треть твоих доходов. У вас есть свой Северный Морской путь, который теплее и теплее с каждым годом. У вас есть огромные месторождения условно на берегу севморпути. Дальше строишь на берегу завод, подводишь к нему ...
В скором времени буду продавать божественный Солярис, который в новом кузове 2017 г.в. Синий. Максимальная комплектация со всеми всеми возможными допами и двумя комплектами резины. Пробег приближается к 60000 км. В основном трасса и КАД. Дтп не было. По кузову есть пара не критичных ...
Росстат официально заявил о завершении первого этапа сплошного наблюдения за малым и средним бизнесом. Закономерный вопрос – чего ждать дальше? А дальше будет второй этап, который будет проходить с 11 апреля и по конец мая. На этом этапе ...