Alternatives to Scratch

SandCastleIcon.png This page has links to outside of the Scratch website or to Wikipedia. Always remember to be safe when using the internet since we can't guarantee the safety of other sites.


Document stub.png This article or section may not have content matching Scratch Wiki editing standards. Please improve it according to Scratch Wiki:Guidelines.
Reason: This just seems to be a random collection of languages that people might use. There's not really any unifying theme or anything about their relation to Scratch, especially in the text-based language section.

Alternatives to Scratch are other programs and languages used for similar purposes. Though Scratch can be an amazing resource for learning to code and expressing one's talents, if one is very serious, he or she may need to advance to other languages. Most of these alternatives are free like Scratch, but some of them cost money to use.

In software development there are two main fields:

  • Programming — the code for the application
  • Modeling / Art — the visual interface of an application

Just as Scratch can be used to make games, animations and more, there are also other programming languages that can be used to create them.

Programming Alternatives

Learning the basic syntax

While Scratch teaches basic programming concepts, it does not teach syntax for many common languages.

Codecademy.com teaches the basics of coding in a fun and interactive way. It has interactive helping guides and built in code interpreters. It teaches several languages, one of which is JavaScript, which is often used in many game engines and webpages.

The Joy of Code tutorials teach basic Java syntax with video tutorials. The program used is Greenfoot, a Java-based game creator.

Drag and Drop Programming

  • BYOB/Snap!: Snap! is an advanced Scratch Modification with lambdas, first class data, procedures, recursion, and many other features. Version 4.0 was renamed Snap! and was rewritten in JavaScript, and is thus no longer considered a Scratch modification.
  • Stencyl: Stencyl has an interface similar to Scratch, but it has slightly more advanced editing features.
The logo of Alice.
  • Alice: Alice features 3D projects. This is much harder than 2D Scratch programming because one must learn about 3D programming: occlusion, vectors, etc. which are important topics.
  • Android App Inventor: The Android App Inventor by Google allows Android apps to be created with a simple, Scratch-like interface. In fact, it was based on Scratch and coded by a team at MIT.
  • Starlogo-TNG: Supports 3D models and terrain. Block-based, and meant for simulations and education purposes. Created by the MIT STEP group.
  • Gamefroot: An online game creation software for creating side-scrolling games. It has a drag and drop block editor for advanced scripting.
  • Pocket Code: A visual programming language and app for Android, iOS, and Windows Phone smartphones, tablets, and HTML5 enabled mobile browsers. It is inspired by Scratch and developed by the Catrobat team as free open source software.
  • Hopscotch: An iOS-based application which is similar to Scratch but is simpler and easier to use. It's somewhat based in the middle of Scratch and ScratchJr. Hopscotch is primarily for iPad, with the player being the only thing accessible on other devices.
  • Blockly: A drag and drop language made by Google. It is used on many websites. It converts the Scratch-like language to another text-based language in real time. This could be useful in learning traditional languages such as Javascript or Python.
  • BeetleBlocks: A GUI-based programming language, based off Scratch, which can be used for 3D modeling, unlike Alice.
  • GameSalad: A drag-and-drop programming software, aimed at inexperienced coders, which allows anyone to create games easily.

Text-Based Programming

Text-based programming is done through a programming language. Here are several:

Language Description Editor(s)
Java Java was originally created and popularized as a platform-independent programming language. In modern day, Java is a general purpose language.
  • Greenfoot: Greenfoot is a simple Java development environment with extensive documentation. It is focused on graphics and interactivity. It is often used with Java beginners.
  • Eclipse: A professional and widely-used Java IDE.
Python Python is a general-purpose coding language with emphasis on readability. There are also libraries available for communicating with Scratch and reading/writing Scratch files.
  • Command Line: This approach, although very advanced, does allow for the use of any Text Editor, like vim.
  • PyCharm: A cross-platform Python IDE.
C, C#, C++ C is a language originally praised for its portability. C# and C++ are based off of C. Nowadays, they are often used in operating systems and embedded systems. They are also commonly taught languages.
  • Command Line: This approach, although very advanced, does allow for the use of any Text Editor, like vim.
  • Microsoft Visual Studio: An advanced, professional program created by Microsoft designed for the languages Visual Basic, C#, C++, and F#. Though more languages may be added.
Flash Flash is a general purpose coding language. Flash provides powerful libraries for graphics and animations. It is, however, not free.
Lua Lua is a lightweight programming language which uses multiple paradigms. Lua is used in many games such as ROBLOX.
HTML & CSS Websites are coded in HTML & CSS. The basics are simple to learn.
Javascript Javascript is a language used for making interactive web applications. Any web editor should be good for JavaScript.
Logo Logo is the predecessor to Scratch, created by MIT. It is text-based, however, with commands closely resembling those of Scratch. It provides a single sprite, a turtle, which is used to draw via a set of Pen instructions. It has procedures (which may output values), recursion and first class lists. n/a

Game Engines

  • GameMaker: GameMaker is quite similar to Scratch, except it also allows the option of typing commands and features commands geared more towards making games, whereas Scratch is more open. It is a good introduction to text-based programming and debugging. It is not free, but a free version is available with less features.
  • Unity3d: Unity3d is a program that is used for the making of 3D games. It supports coding in three languages: Javascript, C#, and Boo. It may also be confusing to a beginner due to all the new features in comparison to Scratch, but with time, this should wear away.
  • Godot: Godot is an open-source game engine. Godot uses its own programming language, GDScript.

Other lists

Animation/Art Alternatives

3D Animation

See also: Three Dimensional Projects
Warning Note: Before trying 3D animation, it is recommended to master 2D animation, as some aspects of 3D animation can be confusing.
Warning Note: 3D animation software can be rigged to make 2D animations.

2D Animation

See also: Two Dimensional Objects

Other lists

See Also

  • This page was last modified on 9 December 2016, at 20:30.