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