Development environments for beginners

Slashdot it! Delicious Share on Facebook Tweet! Digg!
Lead Image © Sandra Lass,

Lead Image © Sandra Lass,

Toy Box

Visual programming IDEs ease entry into software development through intriguing programming concepts, simple commands, and special help facilities. We show you five cool candidates.

Programming seems to be a complicated and daunting task, judging from the thick volumes on C++, C#, or Java sitting on bookshop shelves. The columns of cryptic commands that flicker by when leafing through any of these volumes can lead one to conclude that programming is a science for a small, close-knit community. Alice, Greenfoot, Hackety Hack, Processing, and Scratch want to prove just the opposite. These five integrated development environments (IDEs) not only help when first setting foot in programming, they can also help you quickly build complete applications. Alice, Greenfoot, and Scratch are strictly targeted to children.


IDEs typically include all the applications required for programming, such as an editor, compiler/interpreter, linker, and debugger – all under a common interface. All five environments discussed here use a visual approach. Thus, a beginning programmer loads graphical objects in a window, which can then be rotated, scaled, moved, or otherwise manipulated. With Alice and Scratch, users can simply extract appropriate cars, people, and houses from a palette into the window and combine them with existing building blocks in the desired program. Hackety Hack, Greenfoot, and Processing, however, ask you to enter commands that not only change the objects but create the graphics. These text-based environments require a bit more training and imagination but can lead to more complex results.

Because you are manipulating graphic objects, you see the results immediately. This interactivity encourages experimentation with new, unknown functions and leads to a playful environment, especially among children and young people. Even experienced programmers shouldn't snicker, however, because the IDEs lend themselves well to prototyping. In fact, the Java code produced by Greenfoot and Processing can be integrated easily into other programs. See also the "Objectives" box.


Almost all the tools presented here use the object-oriented concept that has proved especially successful in programming. The assumption is that a program consists of a few objects. Examples of these objects are an on-screen button or virtual car. The objects have properties, such as color, and use so-called methods to modify them. The car could have methods such as driving , braking , or parking .

Additionally, objects can send and receive events. If a user clicks a button, it can return the event You pressed me! . The program can trigger a timely response to the event – the car can, for example, drive away . Finally, objects have blueprints, called classes. Except for a few exceptions, object orientation works in all five IDEs consistently in the background without the user having to know anything about it.

All five IDEs provide clear and simply designed interfaces. Even novices can easily find their way around after a brief orientation. Greenfoot, Hackety Hack, and Scratch also provide a program gallery on their home pages. The applications presented there not only show what's possible but also provide ideas for your own programs.


Alice [1] comes from the Carnegie Mellon University in Pittsburgh and first appeared in 1999. Its developers put Alice under its own BSD-based license, which prohibits the use of the name Alice in any derivative works.

Alice is designed to guide users through the first steps of object-oriented programming (OOP). The IDE presents a virtual world that you can populate by dragging and dropping human characters, animals, and vehicles onto it. From a palette, you can then draw easily understandable actions (e.g., Rotate and Move ) into a program and create animations and even small games out of static scenes (Figure 1). Alice uses the usual OOP language concepts in its interface.

Figure 1: In Alice, you populate a scene with objects, such as this palm tree. The positioning in space is a bit tricky. You then pull the desired action on the palm from the right-hand side, where you select the requisite value or enter your own with Custom DecimalNumber.

Alice comes in two flavors: an older version (version 2) and the newer version 3. Its makers recommend the older version for younger children and Alice 3 for young people who want to migrate to Java later on. The functionality of both versions, however, is largely the same.

The IDE includes many ready-made objects. Thanks to its partnership with the Electronic Arts game provider, a number of characters and objects from the Sims2 game are incorporated into Alice 3. Alice 2 has a number of free additional objects included in a gallery [2]. You can import your own models into Alice 2 using the ASE file format from 3D Studio MAX. Alice 3, unfortunately, doesn't have this feature yet. Both versions have a Sound Gallery for a collection of sounds and background music.

Alice itself is written in Java and, apart from a complete JDK, uses an activated 3D acceleration via OpenGL. The IDE uses almost 600MB of the hard drive for version 3.1 and requires at least 1GB of main memory. Installation is through a wizard. The predecessor, Alice 2.3 (Figure 2), requires unpacking only. In some cases, foreign language installation doesn't work as expected.

Figure 2: The user interface for the older Alice 2.3 is a bit tidier than its successor.

After startup, you can first select a ground cover for the virtual environment. The main window then appears with the current scene in the left-hand corner. Underneath is a list of all actions available for the currently selected object in the scene. Simply drag the desired action via mouse to the right to a series of successive menus to create the processes. At the bottom of the window are additional control structures, such as loops and if/else statements, that you can drag into the processes.

Processes can be summarized in functions and procedures. To add more objects to the scene, you need to switch back into the scene. There you'll find a small gallery of available objects that you can drag and drop into the scene. To test the assembled processes, you only need to start the program; compiling isn't necessary. A new window then opens in which the application runs. Only after closing this window can you make changes in the main window.

English language course material is available for teachers, with tasks and examples [3]. The material provides some guidance as to which students can do things on their own. A classic guide or introduction to Alice doesn't exist, but many books are available. A FAQ answers questions posted by users in the official Alice forum, and teachers can subscribe to and exchange information over a mailing list.

Buy this article as PDF

Express-Checkout as PDF

Pages: 6

Price $0.99
(incl. VAT)

Buy Ubuntu User

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content