Комментарии 54
Можно уточнить: паскаль был задуман как язык для обучения программированиюБолее 40 лет назад. С тех пор появилась Java, Greenfoot (BlueJ) и не только они.
Требования к ПО тоже многократно выросли.
Как они выросли? См. вики:
Технически раздутое программное обеспечение чаще всего ассоциируется с понятием «расползание возможностей», или «ползучий улучшизм»[2] («feature creep, creeping featurism/featuritis» (англ.)), которое обозначает тенденцию разработчиков добавлять в программный продукт больше и больше возможностей в попытке «не отстать от конкурентов», однако приводящую фактически к созданию более медленного и менее эффективного изделия[6].
А паскаль можно выучить за школьный курс, поставить галочку и перейти к другому языку если интересно.В том и дело, что учить для галочки, и учить с возможностью применения — это очень разный подход и разный результат.
Если школьник понимает, что учит «для галочки» и нигде это потом использовать не будет, как и многие другие школьные предметы, то и отношение будет такое же и результат околонулевой — только убивать интерес к программированию.
вряд ли там найдешь подробное руководство по всем финтам из itertools или как правильно написать mixin.Ничего страшного, расширить и углубить знания всегда проще, чем учить язык с нуля.
В связи с этим меня заинтересовала фраза из статьи:
Мой сын заинтересовался программированием на Python
Заинтересовался не просто программированием, а именно на Python? Почему? — Воля Ваша, уважаемый автор, но язык вперед программинга выглядит ИМХО как запряжение телеги вперед лошади.
(Это только частный вопрос. А в целом ИМХО статья м.б. полезной, чтобы сорентироваться в доступных книгах на заданную тему).
программирование в целом уже освоено раньше
Действительно:
Многие авторы комментариев прочли статью как рекомендацию учить ребёнка программированию впервые именно на Питоне
И я так понял. Наверное, чтобы небыло такой «непонятки» стоило написать, нпр., «получилось так, что я или школьный учитель моего ребенка или воспитатель дет.сада и т.д. стали учить его Питону, теперь нужны книжки, чтобы продолжить на этом ЯП» — тогда «непонятки» бы небыло.
Прямо сегодня интерес к Python возник из-за «рекламы» в школе «Яндекс.Лицея» — и в общем-то сегодня это вполне подходящий выбор для обучения программированию с нуля. А если в итоге ваш ребёнок выберет профессию программиста, то остановится на одном языке всё равно не получится — учиться придётся всю жизнь, всё новым и новым актуальным языкам/фреймфоркам/и т.д.
Всё правильно. Потому что надо не учить язык, а учиться программировать. Развивать абстрактное мышление, доводить до автоматизма процесс декомпозиции задач, проводить параллели со структурами данных в реальном мире и пр.
Учить любой язык программирования, неважно насколько он актуален сейчас или будет потом, совершенно бесполезно в любом возрасте. Потому что программирование — это способ выражения своих мыслей, а не языковые конструкции.
Правда, зачастую эту мысль, в сущности довольно очевидную, мало где озвучивают и зачастую из "уметь писать на языке X" делают вывод "выучиться программировать", что в целом не совсем правда. Хотя, написав множество программ в процессе освоения некоторого языка, можно выработать привычки и в конце концов научиться программировать.
И в этом ключе достаточно просто понимать, что не важно, что использовать для обучения. Будь то питон, паскаль или ещё какой-нибудь 1С. Да, это в некоторой степени влияет на скорость обучение и т.д., но концепции почти везде более-менее одинаковые.
Да и питон постарше сегодняшних выпускников вузов будет, которые могли его впитывать с молоком матери. Так что рано хоронить его пока.
Мой сын заинтересовался программированием на PythonСам, самостоятельно, внезапно? ;) Вот бы поинтересоваться, почему именно Python?
Конечно С лучше с точки зрения понимания, как это работает, но для ребенка, на мой взгляд, сложно.
Потом взять arduino, а не топовый игровой комп и поморгать светодиодом, включить моторчик, подёргать рычагами раскачивая маятник, померить температуру, включить выключить утюг поддерживая заданную температуру, сыграть мелодию, определить время восхода и захода солнца, собрать тетрис…
Необходимо наиграться что бы потом появился интерес разбираться с математикой и физикой, алгоритмами, структурами данных и приёмами работы с кодовой базой. И только потом можно травмировать психику php, python-ом, scala-ой, javascript-овыми гигабайтовыми монстрами и крос браузернй несовместимостью.
Начинать лучше с C, lua
Не лучше, это потеря времени.
C вполне себе язык для начального освоения принципов программирования, алгоритмов и способов сборки. Главный плюс здесь простота и контроль над происходящим. lua более высокоуровневый язык и тоже очень прост в освоении и очень полезен например для преобразования текстов, вычислений и еще кучи всего.
Далее можно переходить на arduino и моргать светодиодами, используя C с классами. Это наглядно и можно пощупать результат руками, взять с собой и похвастаться перед другими. Тут главное заинтересовать, и использование инстинктов вполне себя оправдывает. И необходимо создать среду с ограниченными ресурсами, нельзя сразу начинать с программирования gpgpu. На hiend компе много других развлечений и ваше программирование будет на заднем фоне. Надо есть слона по частям. Minecraft именно по этому и заходит так успешно, потому что ребёнок может похвастаться перед остальными и показать «смотри как я могу». Но minecraft это очень однобокий путь.
Но если вы считаете что «учить то что будешь непосредственно использовать» то взгляните наиболее популярные профессии в России это водитель, кассир и охранник. Вы предлагаете не заморачиваться и натаскивать только эти
Мозг у всех очень разный и точные науки не всем по силам, так что если ребёнку это не интересно то ищите что-то другое.
Человеку нужна простота и что бы легко можно было найти работу по этой области айти, первому чему нужно учить ребенка или студента это PHP + Laravel или Java, ему это с головой это хватит что бы найти работу в будущем и будет получать больше чем программист на С и Lua.
Все остальное попросту не так важно.
Здесь нужно быть прагматичным и не учить С, Lua ради самих языков, нужно учить то что легко дается и на что самое большое количеств вакансий.
а где tcl/tk?
По-моему Scratch дает хороший старт ребенку (7-8 лет). Потому что сразу получается игра, мультик или графика. Ведь главное увлечь самим процессом. Дальше уже можно потихоньку осваивать настоящий ЯП. Книгу Э. Свейгарта в электронном варианте смотрел. Некоторые игры взял в качестве учебных пособий для своего ребенка, их можно вначале на том же Scratch реализовать.
Вот эта книга: Д. Голиков Scratch и Arduino. 18 игровых проектов для юных программистов микроконтроллеров. — СПб.: БХВ-Петербург
Но стоит это уже дороже, чем просто книга. В итоге, я думал-думал и так ничего не купил пока :) Может быть, кто-то уже попробовал Scratch c Arduino? Если да, то как оно зашло?
Еще есть какая-то онлайн-книга англоязычная довольно популярная, но что-то ссылку я на нее потерял. Возможно, те, кто в теме, подскажут.
Там куча полезности, конечно, но удивило, что это здесь.
Python для ребёнка: выбор самоучителя