Visual programming languages for desktop and mobile

Since the late fifties, digital computers, even when they weighed several tons and filled entire climate-controlled rooms, have always received their instructions in text form. These instructions differ from spoken languages by their restricted syntax, since the machines that they are meant for must first convert them into simplified mathematical operations. Of course, with progress we have gone from machine language programming in octal or hexadecimal notation to assembler and to modern languages like COBOL, FORTRAN, C, BASIC or JavaScript which allow programmers to concentrate on finishing their projects faster instead of focusing on the intricacies of the machines themselves.

With the spread of multimedia, windowing systems and the invention of the mouse near the late seventies, some researchers wondered if it wouldn’t be more efficient if computers could be programmed by drawing easily understood diagrams instead of writing pages upon pages of text for these machines. Even though this method of programming hasn’t really been democratized yet, there are now several software programs that have been created to allow for a truly visual way of programming computers.

Apple Automator:

The most widespread visual programming software is Automator, which is distributed for free inside every Macintosh computer from Apple Corporation. With it, people can create workflows to automate simple tasks such as the resizing of photos in a folder, the automatic connection to servers and the download of files that might be there or the automatic reformatting of documents. However the extreme simplification of this software rarely enables the creation of more complex programs. To program games or more serious calculation software, other programs are needed.

Apple automator

Automator

(Image from WikiMedia)

Action(s):

An excellent alternative to Automator for Windows users is Action(s). It is programmed in JAVA, which allows independent programmers to create new components for it. The tasks that can be accomplished with Action(s) are similar to the ones that can be accomplished with Automator. This software can be obtained from: http://app.jbbres.com

Action(s)

Action(s)

(Image courtesy of app.jbres.com)

Perfect Automation:

For more ambitious users, there is Perfect Automation. People can easily create new components for it by using the Gentee programming language, which looks like the JavaScript that is used on web pages and can be written directly within Perfect Automation. However, most of the tasks can be programmed visually by using a tree-like structure. It is also possible to define complex forms, which can be handy for the input of information in simple databases or to create graphical user interfaces for programs that normally use the command line. Perfect Automation can be obtained from: http://www.perfectautomation.com

Perfect Automation

Perfect Automation

Sanscript:

For the creation of even more complex software, there is Sanscript. Here, the only limit of this piece of software will be the time that you want to spare to learn its intricacies and of course, your own imagination. Its power rivals those of text-based programming languages since it exposes all the objects and functions that the operating system provides in a visual way. With Sanscript, you can say goodbye to rigid workflows if you want: here you can really draw your programs. You will be able to freely create user interfaces and add complex components. Sanscript is thus better suited for developers which already have some experience with text-based programming languages. Unfortunately, the company has abandoned its development to concentrate on modern programming languages. But the good news is that you can obtain this program for free from: http://www.sanscript.net/

Sanscript

Sansctipt

(Image courtesy of Sanscript.net)

Game creation software:

The software programs mentioned above aren’t really suited to create games. To accomplish that, it would be better to look at software that were created specifically for the creation of games or multimedia presentations.

The software that is the most well-known amongst amateur video game programmers and that is arguably the easiest to use is GameMaker from Yoyo Games. A free version allows the creation of executable software for Windows that can be freely distributed. With it, you won’t need any external programs to draw the animations for your games. There are paid versions that allow the user to create games or multimedia software for web pages or for mobile operating systems.

Game Develop:

If you want a totally free solution to create games, you can use Game Develop from Compil Games, which also allows for the creation of games and multimedia application for web pages, Windows and Linux operating systems. However, the images and animations that you will be using inside those games must be created with external software. Once you have done that, Game Develop will be very useful for the creation of the game logic. The software comes with a few examples which will be very helpful for new users who want to create games quickly. It can be obtained here: http://www.compilgames.net/

construct classic game programming

Construct classic

Construct Classic:

Another competitor for GameMaker is Construct from Scirra. It includes a module which allows its users to create animations for their games. With it, one can create more mainstream applications. The first version, Construct Classic, is available for free and will be more than enough to create games for Windows. Its source code has even been published. The second version of Construct is commercial software and allows for the creation of games for the web. Construct Classic can be obtained from: http://www.scirra.com/construct-classic

compil games web programming

Compil games game develop

(Image courtesy from WikiMedia)

Finally, the most well known software in the Education market for teaching children how to program is Scratch. This software was developed at the renowned Massachusetts Institute of Technology and allows its users to create programs using elements that look like puzzle pieces. It’s a very fun way to teach kids and beginner programmers what are the different elements that are necessary for computer programming such as variables, conditional expressions, loops and subroutines. Scratch has also been modified with the collaboration of Google to create App Inventor, an Integrated Development environment that’s used to write software for the Android operating system for mobile platforms.

Scratch can be obtained here: http://scratch.mit.edu/

App Inventor can be obtained here: http://appinventor.mit.edu/

scratch android

scratch android