Что учить после царапины?
Мой сын с энтузиазмом программирует простые игры в Scratch. Однако Scratch - очень простая среда программирования (даже без подпрограмм), и я вижу, что скоро ему нужно будет перейти к чему-то еще.
Кто-нибудь знает хороший язык обучения, который упрощает графику, но предоставляет "реальные" функции программирования, такие как структуры данных, функции, массивы и списки?
Бонусные баллы, если они работают под Linux (Ubuntu). Ответ на форму "язык Foo с библиотечным баром" также является опцией.
Ответы
Ответ 1
Как насчет lua?
Есть хороший графический "движок", называемый LOVE, который полностью программируется в lua. У него хорошая документация, и это не очень сложно.
Есть также несколько других подобных двигателей, использующих lua:
Был еще 2d движок, но я не могу найти его в данный момент, он был похож на LOVE, но с немного другим подходом к вещам.
Я бы рекомендовал ЛЮБОВЬ для начинающих, поскольку это очень легко, имеет хорошие учебные пособия и, самое главное, вы можете сразу сделать приятные вещи.
Также lua обычно используется в качестве языка сценариев игры. Например, все дополнения для World of Warcraft написаны в lua, на самом деле весь интерфейс написан в lua. Это означает, что очень легко найти ответы на вопросы, связанные с игрой в lua. Кроме того, если у вас есть игра, в которой lua используется как язык сценариев, вы можете легко добавить к ней свои собственные материалы.
Я написал это с точки зрения игры, но есть довольно много проектов, которые используют lua в качестве языка сценариев.
Вы также можете попробовать python, но он не настолько хорош из коробки, готовый к использованию и легкому освоению/пониманию инструментов.
Также здесь ссылка на lua manual.
Ответ 2
Если Scratch начинает немного ограничивать, но они не готовы к сложностям кодирования текстового редактора, посмотрите на Scratch-производную "BYOB" (создайте собственные блоки). Серьезно, он превращает Scratch в взрослую среду программирования с функциями (и, следовательно, рекурсией), структурами данных, многопоточными и всем!
Там также Panther, но я был менее впечатлен им (создание новых блоков в Panther, похоже, требует кодирования их функции непосредственно в Squeak, в то время как в BYOB вы можете просто создать их в обычном стиле Scratch drag-n-drop).
Ответ 3
Взгляните на Processing.
Это тур по силе - это графика, анимация и визуальная манипуляция. Он также работает под Linux.
Обработка является открытым исходным кодом язык программирования и окружающая среда для людей, которые хотят запрограммировать изображения, анимации и взаимодействий. это используемые учениками, художниками, дизайнерами, исследователей и любителей обучения, прототипирования и производства. Он создан для обучения основам компьютерное программирование в визуальном контекста и служить в качестве программного обеспечения эскиз и профессиональное производство инструмент.
Ответ 4
Хороший обзор здесь предлагает Алису и Обувь после Scratch - у меня нет личного опыта в этом вопросе, но из обзора они кажутся достойными проверка.
Ответ 5
Это может быть чуть больше прыжка, но Python с PyGame позволит вашему ученику сделать многие из такие же программы, как он или она уже привыкли с Scratch, но с очень жестким контролем над тем, как все это работает.
- Плюсы:. Это python, который является очень простым языком для чтения и записи и обеспечивает очень богатую среду программирования, без необходимости в любом шаблоне.
- Минусы: его SDL, который использует цикл событий, который вы сами можете написать. Это может быть довольно большим препятствием для молодого программиста.
Ответ 6
Scratch написана в Squeak (который работает на Linux, Windows и Mac), поэтому я скажу, что сделайте шаг до Smalltalk! Единственная проблема - отсутствие очень хорошей книги начинающих на этом языке, что странно, когда вы рассматриваете ее происхождение. Тем не менее, основные понятия легко изучить (почти без синтаксиса), а окружающая среда стимулирует эксперименты.
Ответ 7
Вот интересный проект Microsoft, называемый Small Basic, который является хорошей, простой и бесплатной средой программирования для обучения на основе BASIC.
Нет бонусных очков из-за отсутствия ubuntu, но классный инструмент обучения.
Ответ 8
есть QuickBasic еще вокруг? Это то, с чего я начал, когда мне было 7-8, и я смог сделать полноценные игры и т.д. Без каких-либо внешних библиотек.
EDIT: ознакомьтесь с этой ссылкой о FreeBasic:
http://linux.about.com/b/2006/11/10/freebasic-open-source-alternative-to-quickbasic.htm
Ответ 9
Ну, есть почтенный старый логотип - не уверен в структурах, но вы получаете списки, функции с параметрами и графикой очень просты. Есть много хороших реализаций. Логотип даже был уподоблен "lisp без всех круглых скобок".
Ответ 10
Я бы предложил использовать CodingBat. Хотя CodingBat не предоставляет графику, он предоставляет "функции программирования" и простую практику, включающую строки, массив и логику.
Я думаю, что этот веб-сайт помогает в разработке базовой основы программирования.
Ссылка: http://codingbat.com/