2009-07-18 2 views
18

Мой сын с энтузиазмом программирует простые игры в Scratch. Однако Scratch - очень простая среда программирования (даже без подпрограмм), и я вижу, что скоро ему нужно будет перейти к чему-то еще.Что научить после царапин?

Кто-нибудь знает о хорошем языке обучения, который упрощает графику, но предоставляет «реальные» функции программирования, такие как структуры данных, функции, массивы и списки?

Бонусные баллы, если они работают под управлением Linux (Ubuntu). Ответ на форму «язык Foo с библиотечным баром» также является опцией.

+0

Сколько лет вашему сыну? –

+0

8 лет, но, похоже, унаследовал от меня программиста. –

+9

Жаль, что слышу это, но есть еще хороший шанс, что он может продолжить продуктивную жизнь, не зацикливаясь на звездном походе. – JohnFx

ответ

14

Как насчет lua?

Существует красивый графический «двигатель» под названием LOVE, который полностью программируется в Lua. У него хорошая документация, и это не очень сложно.

Есть также несколько других подобных двигателей с использованием Lua:

Был еще один 2д движок, но я могу» Найти его сейчас, это было подобно ЛЮБВИ, но с немного другим подходом к вещам.

Я бы рекомендовал ЛЮБОВЬ для начинающих, так как это очень просто, имеет хорошие учебные пособия, и, самое главное, вы можете сразу сделать приятные вещи.

Также lua обычно используется в качестве игрового скриптового языка. Например, все дополнения для World of Warcraft написаны в lua, на самом деле весь интерфейс написан в lua. Это означает, что очень легко найти ответы на вопросы, связанные с игрой в lua. Кроме того, если у вас есть игра, в которой lua используется как язык сценариев, вы можете легко добавить к ней свои собственные материалы.

Я написал это с точки зрения игры, но есть довольно много проектов, которые используют lua в качестве языка сценариев.

Вы также можете попробовать python, но он не имеет так хорошо из коробки, готов к использованию и легко учиться/понимать инструменты.


Также здесь ссылка на Lua manual.

+0

lua + LOVE выглядит вероятным. Единый подход к структурам данных упростит объяснение, а структуры управления (помимо функций) похожи на Scratch. Определенно возможно. –

+0

Обновлен список. Вы можете/должны также предоставить ему простой шаблон и, возможно, некоторые вспомогательные функции, потому что некоторые вещи в основном программировании игр не являются «базовыми», такими как игровые состояния (интро, игра, игра и т. Д.) И анимация. Lua довольно динамичен, поэтому вы можете настроить его, чтобы он стал проще, и вы можете предоставлять функции, которые упрощают вещи, которые трудно понять для него. Я сам начал с программирования вокруг своего возраста с Zbasic и позже Qbasic. –

+0

Так lua ​​+ LOVE получает работу. Lua выглядит легче, чем Ruby, и вы можете взять первую демо-программу и использовать ее в качестве скелета для чего-то более сложного (что у нас есть сегодня). Просматривая документы, я вижу, что он также получил простой физический движок для обнаружения столкновений и связанных вещей, что тоже круто. –

0

Ну, есть почтенный Logo - не уверен, о структурах, но вы получите списки, функции с параметрами, и график очень прост , Есть много хороших реализаций. Логотип даже был уподоблен «lisp без всех круглых скобок».

+0

Любые версии Linux с открытым исходным кодом? В прошлый раз, когда я посмотрел, все было коммерческим. Также обычная черепаховая графика больше не будет ее вырезать; ему нужны спрайты и прочее. Мне нравится идея введения FP раньше, но я знаю, что отсутствие легкой спрайтовой графики убьет ее для моего сына. –

5

Посмотрите на Processing.

Это сила путешествия - это графика, анимация и визуальная манипуляция. Он также работает под Linux.

Обработка является открытым исходным кодом языка программирования и среды для людей, которые хотят программировать образы, анимации и взаимодействия. Это , используемые учащимися, художниками, дизайнерами, исследователями и любителями обучения, прототипирования и производства. Он создан, чтобы научить основам программирования в визуальном контексте и служить в качестве программного обеспечения sketchbook и профессиональное производство инструмент.

5

Хороший обзор here предлагает Алису и Обувь после царапин - у меня нет личного опыта в этом вопросе, но из обзора они, похоже, стоит проверить.

+0

У Алисы только версии для Windows и Apple, и она не будет работать под Wine (хотя теоретически ее Java, поэтому она должна работать). Обувь - это определенно возможно. –

1

Вот интересный проект microsoft под названием Small Basic, который является хорошей, простой и бесплатной средой программирования для обучения на базе BASIC.

Нет бонусных очков из-за отсутствия ubuntu, но классный инструмент для обучения.

+0

+1: Интересно! Только установщик 5 МБ. –

2

Царапина написана на Squeak (который работает на Linux, Windows и Mac), поэтому я скажу, что подходим к Smalltalk! Единственная проблема - отсутствие очень хорошей книги начинающих на этом языке, что странно, когда вы рассматриваете ее происхождение. Тем не менее, основные понятия легко усваиваются (почти без синтаксиса), а окружающая среда стимулирует эксперименты.

+0

Я попытался поиграть с Squeak, но я не мог видеть очевидную точку «начать здесь», чтобы что-то сделать. Учебник проводит много времени в экскурсиях по окружающей среде, что, без сомнения, необходимо для чего-то сделать, но очень крутой кривой обучения для ребенка. –

+1

Вина учебника, я боюсь. Но реалистично, любой полный язык программирования с умеренно сложной IDE будет иметь кривую обучения. Переход от среды, такой как Scratch, большой. – 2009-07-19 20:13:53

4

Это может быть чуть больше прыжка, но Python с PyGame позволит вашему ученику делать много таких же программ, как он или она уже используется с Scratch, но с очень жестким контролем над как все это работает.

  • Плюсы: Это питон, который является очень простым языком, чтобы читать и писать, и обеспечивает очень богатую среду программирования, на самом деле не любой шаблонный требуется.
  • Против: его SDL, в котором используется цикл событий, который вы можете написать самостоятельно. Это может быть довольно большим препятствием для молодого программиста.
+0

Да, я думаю, что я собираюсь на Python после того, как язык Kid, такой как Scratch, является лучшей идеей и временем. Это мой опыт преподавания программирования моего племянника. –

10

Если Scratch начинает немного ограничивать, но они не готовы к сложностям кодирования текстового редактора, посмотрите на Scratch-производную "BYOB" (Build Your Own Blocks). Серьезно, он превращает Scratch в среду программирования grown-up с функциями (и, следовательно, рекурсией), структурами данных, многопоточными и всем!

Существует также Panther, но я был менее впечатлен им (создание новых блоков в Panther, по-видимому, требует кодирования их функции непосредственно в Squeak, тогда как в BYOB вы можете просто создать их в обычном стиле Scratch drag-n-drop) ,

+0

Это не сильно отличается от Sratch, а также является бета-версией. Не рекомендуется давать ребенку возможность обучения нестабильному инструменту. Эту энтузиазм можно отыграть очень быстро. –

+1

BYOB был переименован в Snap, он все еще находится в стадии бета-тестирования, пользовательский интерфейс не имеет немного пользы, но appart от этого, он действительно похож на Scratch ++. Я буду следить за этой игрушкой для своих детей (и меня тоже); – Guillaume

0

Я бы предложил использовать CodingBat. Хотя CodingBat не предоставляет графику, он предоставляет «функции программирования» и простую практику, включающую строки, массив и логику. Я думаю, что этот сайт помогает в разработке базовой основы программирования.

Ссылка: http://codingbat.com/

 Смежные вопросы

  • Нет связанных вопросов^_^