Первый после scratch'а: на какой язык программирования переходить ребёнку?
Ребёнок (10 лет) изучает scratch и задаёт всё больше вопросов, которые в рамках этой платформы не решаются.
Нужно двигаться дальше.
На какой язык программирования, платформу переходить?
Требования мне видятся такими:
1. Язык пригодный для первоначального обучения. Всякая экзотическая мозголомность - не годится.
2. Язык, на котором можно выразить разные современные концепции в программировании.
3. В связи с тем, что изучать язык будет "дитя scratch" - хорошо бы, чтобы в нём, хотя бы на первоначальном этапе было что-то похожее на "высокоуровневый функционал" scratch: работа со спрайтами, мультимедиа. Я думаю на стандартную библиотеку рассчитывать не приходится - может есть хорошие доступные сторонние библиотеки.
4. Промышленный язык, пригодный для создания "взрослых" приложений. Возможно под мобильные платформы.
5. Не язык-однодневка. Понятно, что к тому времени, когда ребёнок дорастёт до работы программистом (к чему у него пока есть желание) - всё сто раз изменится, но всё-таки хорошо бы, чтобы это был язык проверенный, зарекомендовавший себя в сообществе, язык "с историей". Пусть и не 40ка летней (как C). Чтобы не было такого, что изучаем-изучаем язык, а через год он заглох, "вышел из моды", не поддерживается - переходим на другой.
Я понимаю, что изучать надо не язык, а программирование, но всё-таки средство выражения в программировании, особенно на начальном этапе - это важно.
Pascal, наверно. Дёшево и сердито. Главное понять основы программирования на таких языках, а дальше уже будет проще (в том числе будет проще изучать другие языки).
1. То что для вас мозголомно, для ребенка - нет
2. ???
3. Непонятно о чем речь
4. Пром ЯП:
java, c#, c, c++, python, js, ruby
Они все не имеют 3
5. Слишком круто. Вам тода Ada, SQL, Lisp - они вполне пром, но для вас будут мозголомными
Суммируя: если четко отвечать на ваш запрос - пересечение ваших запросов на множестве ЯП дает пустое множество
Возраст ребёнка не огласили.
Я преподавал программирование детям от 8 до 14.
Детям до 10 программирование вообще не заходит. От 10 до 13 - кому как. Дальше - по интересам.
Может переключиться на HTML?
Если он хочет делать именно игры - ставьте Unity и учите язык под него, например C#. Можно Kodu поставить, но там так же быстро он упрётся в потолок.
Для них языки на самом деле все примерно одинаковые. JS например прямо в браузере можно запускать, для ребёнка это плюс, если только вы систему приведения типов в нём не попытаетесь ему объяснить )) Я бы с Python начал.
Мы в такой ситуации переходим на Python. JavaScript я не считаю подходящим для первого языка программирования ребенку. Unity и C# мне показались крутоватыми для начала.
Смартконтракты появились сравнительно недавно и технология будет быстро развиваться. Так что хвататься за конкретный язык из этой области ребенку не стоит, пока тот вырастет в программиста, язык успеет устареть.
Но тема очень интересная, если найдется экономческая игра с возможностью писать смарконтракты, играть в нее надо, эти навыки будут востребованы. В неигровой ситуации детям лучше за это не браться - там слишком много тонкостей, сложно сформировать общий взгляд на программирование.
potan, вы наверно не поняли, смартконтракты это просто часть новости, в остальном язык идеален для детей. Сейчас не могу нагглить хороших примеров. Вот тут с картинками посмотрите https://dev.to/lepinekong/red-for-hopeless-program...
5oclock, графическая часть это лишь маленькая часть возможностей Red. Но поверьте, это в разы интереснее чем в консоли что-то делать. Посмотрите язык более подробно. Он реально того стоит.
Да, действительно. Я слышал об этой реинкорнации Rebol, но увидив громкие заголовки с ней не соотнес.
В целом Rebol мне показался не слишком элегантным и не позволяющим обеспечить надежность (в плане смартконтрактов это плохо, да и детей к такому приучать не стоит - привыкнут к стилю "хуяк-хуяк и в продакшен").
Может язык будет хорош для быстрого прототипирования и анализа плохо структурированных данных (где сейчас доминирует питон), но для вхождение программирование он не очень подходит.
Да и для смартконтрактов тоже.
beduin01, я его ещё тогда, когда Вы его в первый раз упомянули - посмотрел и не понял фичи. Чем он лучше... ну например того же питона?
Сегодня посмотрел ещё раз, полистал документацию, библиотеку.
Не нашёл причины учить ему, а не, например, питону.
Или, как мне в оффлайне некоторые рекомендуют - котлину.
Elm - лучшее сочетание простоты и возможностей.
Лучше всего подходит для интерактивных web-приложений (нужно знать html, для графики придется освоить svg и webgl). Мобильные приложения сразу под андроид и ios пишутся с помощью react-native, но с web-приложениями они плохо совместимы.
После скрэтча можно взяться за App Inventor (или один из его клонов, тот же Kodular). Перейти уже на английский, перевод на русский там стрёмный. Это уже про создание приложений, но всё ещё «хватай и тащи».
А потом можно уже идти на processing. Это библиотека для Java, Javascript, Python, Java для Android. Она позволяет войти в эти языки более простым способом, через программирование игр или интерактивного дизайна. А потом уже серьёзные языки открыты.
В зависимости от целей, я бы порекомендовала перейти на Construct 2/3, не сильно отличается от Scratch, но вещь посерьезнее, привыкнет быстро, а возможности шире. Можете посмотреть, что было сделано на Constract'е