Pull to refresh

Comments 54

Я думаю что когда ребенок подрастет к своему совершенолетию то python уже будет неактуальный.
Очень интересно, поделитесь мудростью, на какой язык лучше ориентироваться?
Очень интересно, поделитесь мудростью, на какой язык лучше ориентироваться?

Для детей? Лучше никакой, пусть игры играют и с друзьями на улице гуляют нежели кодом глаза выжигать и становится очкастым задротом неудачником.
Мы учились на паскале и он уже неактуален. и…?
UFO just landed and posted this here
Можно уточнить: паскаль был задуман как язык для обучения программированию, но оказалось, что его возможности больше. В частности, и сейчас для описания новых алгоритмов зачастую используют Pascal-like псевдо-код.
Можно уточнить: паскаль был задуман как язык для обучения программированию
Более 40 лет назад. С тех пор появилась Java, Greenfoot (BlueJ) и не только они.
ИМХО возраст не помеха. Нпр., теореме Пифагора гораздо больше лет, но ее всегда будут применять. Если в паскале удалось воплотить действительно верные основные принципы кодинга, то м.б. к нему (паскалю) вернутся. М.б. что-то добавят и назовут иначе. Вопрос в том: удалось ли сделать ЯП, который сильно лучше паскаля?
Нпр., теореме Пифагора гораздо больше лет, но ее всегда будут применять.
Отличный пример. Учитывая то, как много изменилось в (школьной!) математике за прошедшее время и как много — в информатике.
Да паскаль так же неплох как и был. Просто нужно делать уточнение: эти детские учебники, на самом деле, не питону учат, а учат как кодить на примере питона. Я не читал, но вряд ли там найдешь подробное руководство по всем финтам из itertools или как правильно написать mixin. А паскаль можно выучить за школьный курс, поставить галочку и перейти к другому языку если интересно.
ИМХО Паскаль и сейчас был бы неплох, т.к. задает приоритет надежности исходного кода, а последующие языки гнались за производительностью кодера. В результате сейчас имеем кучу кривого ПО, которое сбоит и ведет к реальным авариям на земле и в небе.
Ну тёплое с мягким тоже мешать не надо. Сложность ПО и архитектур нынче в разы, если не на порядки сложнее, чем 20-30 лет назад, когда паскаль был в моде в универах.
Не на ровном месте ПО раздувается. Требования к ПО тоже многократно выросли.
Требования к ПО тоже многократно выросли.

Как они выросли? См. вики:

Технически раздутое программное обеспечение чаще всего ассоциируется с понятием «расползание возможностей», или «ползучий улучшизм»[2] («feature creep, creeping featurism/featuritis» (англ.)), которое обозначает тенденцию разработчиков добавлять в программный продукт больше и больше возможностей в попытке «не отстать от конкурентов», однако приводящую фактически к созданию более медленного и менее эффективного изделия[6].
А паскаль можно выучить за школьный курс, поставить галочку и перейти к другому языку если интересно.
В том и дело, что учить для галочки, и учить с возможностью применения — это очень разный подход и разный результат.
Если школьник понимает, что учит «для галочки» и нигде это потом использовать не будет, как и многие другие школьные предметы, то и отношение будет такое же и результат околонулевой — только убивать интерес к программированию.
вряд ли там найдешь подробное руководство по всем финтам из itertools или как правильно написать mixin.
Ничего страшного, расширить и углубить знания всегда проще, чем учить язык с нуля.
В той или иной мере, в школе всё учится для галочки.
Да. И до сих пор на Delphi-7 сюда на Хабр пишу — и меня (мой Паскаль) читают :) Шутка: если писать на другом языке, то найдется читатель, который встанет в позу «я не знаю этот язык», а про такой простой язык, как Паскаль, каждый сказать такое просто стесняется.

В связи с этим меня заинтересовала фраза из статьи:

Мой сын заинтересовался программированием на Python


Заинтересовался не просто программированием, а именно на Python? Почему? — Воля Ваша, уважаемый автор, но язык вперед программинга выглядит ИМХО как запряжение телеги вперед лошади.

(Это только частный вопрос. А в целом ИМХО статья м.б. полезной, чтобы сорентироваться в доступных книгах на заданную тему).
Сегодня именно на Python — из-за рекламы в школе «Яндекс-Лицея», программирование в целом уже освоено раньше :-) Многие авторы комментариев прочли статью как рекомендацию учить ребёнка программированию впервые именно на Питоне и спорят с этим тезисом — однако этого утверждения в статье нет, это просто обзор литературы по конкретному языку, чтобы другим родителям было проще решать аналогичную задачу, если она у них появится. Выбор языка для первого обучения ребёнка — это всегда ваш выбор для вашего ребёнка, и есть много других статей, которые описывают возможные подходы к этому выбору.
Спасибо за ответ, но я опять не понял: как можно было освоить «программирование в целом» без ЯП?:

программирование в целом уже освоено раньше


Действительно:
Многие авторы комментариев прочли статью как рекомендацию учить ребёнка программированию впервые именно на Питоне


И я так понял. Наверное, чтобы небыло такой «непонятки» стоило написать, нпр., «получилось так, что я или школьный учитель моего ребенка или воспитатель дет.сада и т.д. стали учить его Питону, теперь нужны книжки, чтобы продолжить на этом ЯП» — тогда «непонятки» бы небыло.
Программирование осваивалось с младшего школьного возраста постепенно, в несколько этапов — но мой опыт в области обучения детей программированию ограничен и поэтому по вопросу о том, как учить ребёнка программированию и какой язык выбрать как первый, я предлагаю вам обратиться к другим статьям. Если же в какой-то момент вам потребуется выбрать книгу для ребёнка именно по Python — то надеюсь, что эта статья вам поможет. Спасибо за комментарий!
К сожалению, печатные книги всегда отстают от острия прогресса — выучить сегодня язык программирования будущего (каким бы он в итоге не оказался) по самоучителю не выйдет, их просто ещё ни одного не написали :-)
Прямо сегодня интерес к Python возник из-за «рекламы» в школе «Яндекс.Лицея» — и в общем-то сегодня это вполне подходящий выбор для обучения программированию с нуля. А если в итоге ваш ребёнок выберет профессию программиста, то остановится на одном языке всё равно не получится — учиться придётся всю жизнь, всё новым и новым актуальным языкам/фреймфоркам/и т.д.
Питон может быть и будет не актуальным, но понимание условных ветвлений, циклов, структур данных, функций и вообще осознание того, что компьютер можно заставить делать что-то более сложное чем просто реакция на тычек пальцем или мышкой — останется актуальным.

Всё правильно. Потому что надо не учить язык, а учиться программировать. Развивать абстрактное мышление, доводить до автоматизма процесс декомпозиции задач, проводить параллели со структурами данных в реальном мире и пр.


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


И в этом ключе достаточно просто понимать, что не важно, что использовать для обучения. Будь то питон, паскаль или ещё какой-нибудь 1С. Да, это в некоторой степени влияет на скорость обучение и т.д., но концепции почти везде более-менее одинаковые.


Да и питон постарше сегодняшних выпускников вузов будет, которые могли его впитывать с молоком матери. Так что рано хоронить его пока.

UFO just landed and posted this here
Мой сын заинтересовался программированием на Python
Сам, самостоятельно, внезапно? ;) Вот бы поинтересоваться, почему именно Python?
Прямо сегодня интерес к Python возник из-за «рекламы» в школе «Яндекс.Лицея»
Какие-то странные комментарии. Основная задача — это познакомить свое чадо с программирование в целом, изучить основы; язык — дело второе. Хоть питон, хоть паскаль, хоть джаваскрипт… Просто с питоном легче играться, он не ограничен api браузера и устаревшим тулингом.
Начинать лучше с C, lua и только потом уже переползать на всякую жуть и абстракции типа c++,java,c#,rust,python,erlang,go,php,perl,javascript…

Конечно С лучше с точки зрения понимания, как это работает, но для ребенка, на мой взгляд, сложно.

Ребёнку сложно с абстракциями работать, ему надо учится на конкретных примерах что бы построить модели для дальнейших обобщений. Сначала надо учиться на примерах, и желательно на таких которые можно пощупать. Более того чем проще инструмент для изучения тем лучше. lua собирается tcc и вся граматика lua помещается на 1 странице и занимает это всё несколько мегабайт.
Потом взять arduino, а не топовый игровой комп и поморгать светодиодом, включить моторчик, подёргать рычагами раскачивая маятник, померить температуру, включить выключить утюг поддерживая заданную температуру, сыграть мелодию, определить время восхода и захода солнца, собрать тетрис…
Необходимо наиграться что бы потом появился интерес разбираться с математикой и физикой, алгоритмами, структурами данных и приёмами работы с кодовой базой. И только потом можно травмировать психику php, python-ом, scala-ой, javascript-овыми гигабайтовыми монстрами и крос браузернй несовместимостью.
Это у вас теоритические размышления или вы действительно своего ребенка научили через lua? Вот я собираюсь уже на 5 заход пытаясь найти вариант, который бы смог конкурировать и той же просто игрой в minecraft.
Начинать лучше с C, lua

Не лучше, это потеря времени.
Почему вы так считаете?
Потому что это лишнее и неактуально и человек не будет использовать те знания. Нужно учить то что будешь непосредствено использовать.
Надо начинать с математики и алгебры. Не зная таблицу умножение нечего соваться в криптографию.
C вполне себе язык для начального освоения принципов программирования, алгоритмов и способов сборки. Главный плюс здесь простота и контроль над происходящим. lua более высокоуровневый язык и тоже очень прост в освоении и очень полезен например для преобразования текстов, вычислений и еще кучи всего.
Далее можно переходить на arduino и моргать светодиодами, используя C с классами. Это наглядно и можно пощупать результат руками, взять с собой и похвастаться перед другими. Тут главное заинтересовать, и использование инстинктов вполне себя оправдывает. И необходимо создать среду с ограниченными ресурсами, нельзя сразу начинать с программирования gpgpu. На hiend компе много других развлечений и ваше программирование будет на заднем фоне. Надо есть слона по частям. Minecraft именно по этому и заходит так успешно, потому что ребёнок может похвастаться перед остальными и показать «смотри как я могу». Но minecraft это очень однобокий путь.

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

Мозг у всех очень разный и точные науки не всем по силам, так что если ребёнку это не интересно то ищите что-то другое.
Я имел виду что человеку ненужно учить С или Lua потому что на этих языках вакансий мало.
Человеку нужна простота и что бы легко можно было найти работу по этой области айти, первому чему нужно учить ребенка или студента это PHP + Laravel или Java, ему это с головой это хватит что бы найти работу в будущем и будет получать больше чем программист на С и Lua.
Все остальное попросту не так важно.
Здесь нужно быть прагматичным и не учить С, Lua ради самих языков, нужно учить то что легко дается и на что самое большое количеств вакансий.
И откуда ребёнок знает, что он будет использовать? Вы прямо всю систему образования перечеркнули сейчас.
Зря выгоните на tcl очень удобный язык
Хочу поделиться своим опытом с обучением дочки.
По-моему Scratch дает хороший старт ребенку (7-8 лет). Потому что сразу получается игра, мультик или графика. Ведь главное увлечь самим процессом. Дальше уже можно потихоньку осваивать настоящий ЯП. Книгу Э. Свейгарта в электронном варианте смотрел. Некоторые игры взял в качестве учебных пособий для своего ребенка, их можно вначале на том же Scratch реализовать.
Кстати, а давайте еще обсудим, какие книги по Scratch лучше для данного возраста (7-8 лет). Их сейчас тоже очень много. Я начал изучать этот вопрос и многообразие вариантов меня немного дезориентировало. Вот, например, есть такой товарищ Денис Голиков (его статьи на эту тему тоже есть на хабре), пишет свои книги по Scratch, так оказалось, что еще в комплекте с книгой можно и arduino-конcтруктор купить.
Вот эта книга: Д. Голиков Scratch и Arduino. 18 игровых проектов для юных программистов микроконтроллеров. — СПб.: БХВ-Петербург
Но стоит это уже дороже, чем просто книга. В итоге, я думал-думал и так ничего не купил пока :) Может быть, кто-то уже попробовал Scratch c Arduino? Если да, то как оно зашло?
Еще есть какая-то онлайн-книга англоязычная довольно популярная, но что-то ссылку я на нее потерял. Возможно, те, кто в теме, подскажут.

Поделитесь пожалуйста на чем вы в итоге остановились?

UFO just landed and posted this here
«Python для детей» — звучит как «физические формулы для детей» или «сопромат для детей». «Музыкальная нотация для детей» тоже, вроде, не встречается. Гораздо лучше — «занимательные опыты по физике», конструктор с примерами моделей.
Почему именно Python? Как по мне это синтаксически сложный не выразительный язык, C# в синтаксисе попонятнее со скобочками и полными именами функций.
Я это уже видела. Это взято отсюда www.pvsm.ru/python/297120
Там куча полезности, конечно, но удивило, что это здесь.
Это взято отсюда
Наоборот. Там статья «позаимствована» отсюда. Внизу находим:
Автор: MaximSF Источник
удивило, что это здесь
Аудитория подходящая, охват больше. В чём причина удивления?
Там бывал далеко не каждый из тех, кто регулярно бывает здесь.
В конце приведенной вами статьи указан источник на хабр. Будьте внимательнее.
Могу посоветовать книгу «Укус питона» или Byte of Python, все очень кратко и понятно, всего 159 страниц и 600+ килобайт. Думаю ребенок под руководством взрослого справится без проблем.
Обратите внимание — в обзор собраны книги по Python 3, упомянутая вами книга (и несколько других, тоже интересных) оставлены за рамками этого обзора из-за использования в них второй версии языка. Необходимость подержать каждую книгу в руках была вызвана в том числе как раз этим обстоятельством — очень редко на сайтах издательств или книжных магазинов упоминается такая «малозначительная» деталь, как версия языка, используемая в книге-самоучителе.
Only those users with full accounts are able to leave comments. Log in, please.