Тут регулярно бывают обсуждения на тему выбора ЯП для детей. На этот вопрос ответил Брайан Керниган
Вкратце -- для детей до 8-10 лет scratch хорош, далее уже лучше питон -- легко начинать и многие концеации изученные в питоне потом легко применять в др. ЯП.
Здравствуйте, Sharov, Вы писали:
S>Вкратце -- для детей до 8-10 лет scratch хорош, далее уже лучше питон -- легко начинать и многие концеации изученные в питоне потом легко применять в др. ЯП.
Но почему не Go-то? Язык крайне простой, и при этом статически типизированный, в отличии от. И обладает великолепной обратной совместимостью языка и стандартной библиотеки между версиями, в отличии от.
Здравствуйте, graniar, Вы писали:
G>А не рано ли таких детей учить программированию? G>Мало что-ли у нас профессиональных деформаций формируется в зрелом возрасте?
Ну вообще в качестве игры можно придумать простейшие языки и главное, что бы можно было сразу видеть результаты.
Даже не языки, а какие то конструкторы, но с переменными, методами итд.
и солнце б утром не вставало, когда бы не было меня
Re[2]: Брайан Керниган про язык программирования для детей
Pzz>Но почему не Go-то? Язык крайне простой, и при этом статически типизированный, в отличии от. И обладает великолепной обратной совместимостью языка и стандартной библиотеки между версиями, в отличии от.
Го? Для детей? Как первый язык?
Во-первых, питон сильно более близок к нативному языку. Никаких лишних скобок — ни круглых, ни квадратных, ни фигурных.
Во-вторых, интерпретируемый язык. То есть поменял, запустил тут же. Никакой компиляторной магии. В самом начале это сильно облегчает понимание. И не отталкивает, что крайне важно.
В-третьих, с него очень легко начать. В линуксе он уже есть из коробки. В винде легко ставится. И тогда ты уже заходишь в консольку, и сразу можешь выполнять какие-то команды. В файле тоже можно написать несколько команд — и это уже готовая программа. Не надо объяснять, что такое функция, потому что в го должна быть main(), не надо объяснять что такое компиляция. В питоне все просто: вот команды, они будут выполняться одна за одной.
Короче, питон — это самое лайтовое для вкатывания.
Патриот здравого смысла
Re[3]: Брайан Керниган про язык программирования для детей
Здравствуйте, DiPaolo, Вы писали:
DP>Го? Для детей? Как первый язык?
Да.
DP>Во-первых, питон сильно более близок к нативному языку. Никаких лишних скобок — ни круглых, ни квадратных, ни фигурных.
Зато отступы.
DP>Во-вторых, интерпретируемый язык. То есть поменял, запустил тут же. Никакой компиляторной магии. В самом начале это сильно облегчает понимание. И не отталкивает, что крайне важно.
go run test.go
Никакой компиляторной магии.
А потом, когда программа разрастается, и оказывается, что нужны внешние библиотеки, в go можно сказать import, прям указав путь на гитхабе. И никакой магии с установкой пакетов, конфликтами между ними и т.п.
И еще, программой на go можно поделиться, просто перекинув исполняемый файл. И на машине получателя питон или какой-либо рантайм стоять не обязаны. Можно даже из линуха в венду программу собрать, или наоборот.
DP>В-третьих, с него очень легко начать. В линуксе он уже есть из коробки. В винде легко ставится. И тогда ты уже заходишь в консольку, и сразу можешь выполнять какие-то команды. В файле тоже можно написать несколько команд — и это уже готовая программа. Не надо объяснять, что такое функция, потому что в го должна быть main(), не надо объяснять что такое компиляция. В питоне все просто: вот команды, они будут выполняться одна за одной.
Здравствуйте, graniar, Вы писали:
G>А не рано ли таких детей учить программированию? G>Мало что-ли у нас профессиональных деформаций формируется в зрелом возрасте?
Хех, есть такой момент...
По-хорошему вначале научить бы в шахматы, в карты там даже, без отрицательных коннотаций... В общем,
начать бы с основ логического мышления, а не с заучивания кейвордов...
Но, в реальности, моему сыну десять, есть дикий интерес что-то устанавливаль и накручивать на Линукс,
при этом проявляет тонкую логику в обьяснении почему какой-нибудь драйвер не устанавливается, и что нужно делать.
А к шахматам и вообще к чистой логике интереса не видно никакого...
Кстати, про себя помню, что классе в 7-ом первый раз познакомился с программированием на уроке информатики. Нужно
было запрограммировать какую-то игру, типа змейка что ли, на каком-то языке типа бейсик или питон или типа того.
После нескольких недель творческих мук, когда все дети уже написали и отладили эту змейку, я принес преподавателю
некий фреймворк, где (это была вообще первая моя программа) были сконструированы натуральные числа, массивы, вот-вот
напрашивалась уже монада ИО, и т.д. Преподаватель информатики был милостив, и вычистил все эту лабуду заменив на пару
элегантных вложенных циклов фор. Урок был выучен, фор так фор, классы так классы, иострим так иострим, даже очень хорошо.
И вот, лет чераз 20, познакомившись с Хаскель, меня терзают смутные сомненья...
_> моему сыну десять _> А к шахматам и вообще к чистой логике интереса не видно никакого...
Я считал, что карточные игры и шахматы, это для маленьких, лет пять-шесть когда.
А после того, как писа́ть научат в школе, это уже интеллектуальный прорыв над уровнем начала 19 века,
и с этого момента человек закономерно к играм уже интереса иметь не будет, когда кругом столько всего другого.
Здравствуйте, Эйнсток Файр, Вы писали:
ЭФ>А после того, как писа́ть научат в школе, это уже интеллектуальный прорыв над уровнем начала 19 века,
Так в начале 19 века писа́ть так же в школе учили, поэтому непонятно о каком прорыве над уровнем начала 19 века речь.
ЭФ>и с этого момента человек закономерно к играм уже интереса иметь не будет, когда кругом столько всего другого.
Мысль состоит в том, что обладая письмом человек утрачивает интерес к играм. Не знаю... мне казалось, что это дополняющие друг друга виды деятельности.
Здравствуйте, Pzz, Вы писали:
Pzz>Но почему не Go-то? Язык крайне простой, и при этом статически типизированный, в отличии от. И обладает великолепной обратной совместимостью языка и стандартной библиотеки между версиями, в отличии от. Pzz>Зачем вообще нужен Питон?
Ну вот он объясняет, что есть такая штука как colab(jupyter notebooks), где уже можно с что-то делать имеющимися
данными -- https://youtu.be/h8LTEFNLZ6M?t=191. Т.е. как-то ошутимо просто менять мир. Почти как scratch, только
уже вполне серьезный и боевой ЯП. Основные понятия типа циклов и переменных изучить можно.
_>По-хорошему вначале научить бы в шахматы, в карты там даже, без отрицательных коннотаций... В общем,
Шахматы ничуть не лучше имхо.
_>Но, в реальности, моему сыну десять, есть дикий интерес что-то устанавливаль и накручивать на Линукс, _>при этом проявляет тонкую логику в обьяснении почему какой-нибудь драйвер не устанавливается, и что нужно делать. _>А к шахматам и вообще к чистой логике интереса не видно никакого...
Тут сложно сказать, что хорошо, что не очень. Многие дети вон в играх зависают. Тоже что-то развивается.
Наверное, самое главное — гармоничное развитие, чтобы всего было понемножку.
С такими вещами, как программирование или сисадминство, засада в том, что они считаются полезными, и от них не будут оттаскивать детей, как от игр.
_>И вот, лет чераз 20, познакомившись с Хаскель, меня терзают смутные сомненья...
А я, будучи первокурсником, на ассемблере изобретал бинарные деревья. Наверное у меня украли идею и сделали на ее основе std::map.
Ой, их же раньше придумали, я просто о них не знал. Или может все-таки воры воспользовались машиной времени?
G>Шахматы ничуть не лучше имхо.
Возможно и не лучше, мне просто шахматы запали почему-то, фигуры прикольные... в сухом остатке
игра с приятно ощутимым множеством состояний, кстати, не совсем частично-упорядоченным.
G>Наверное, самое главное — гармоничное развитие, чтобы всего было понемножку.
Согласен, лет до 14-и наверно есть смысл подбрасывать в поле зрения всякие диковинные штуки.
G>А я, будучи первокурсником, на ассемблере изобретал бинарные деревья. Наверное у меня украли идею и сделали на ее основе std::map. G>Ой, их же раньше придумали, я просто о них не знал. Или может все-таки воры воспользовались машиной времени?
Еще в 90-х годах в образовании использовался метод `reinvention', т.е. создавали обстановку в которой обучаемый
сам того не подозревая заново открывал какой-нибудь закон, теорему, и т.д. Может хорошие учителя были.