Cocoa (programming Language)
   HOME

TheInfoList



OR:

Stagecast Creator is a
visual programming language In computing, a visual programming language (visual programming system, VPL, or, VPS) is any programming language that lets users create programs by manipulating program elements ''graphically'' rather than by specifying them ''textually''. A VP ...
intended for use in teaching programming to children. It is based on the
programming by demonstration In computer science, programming by demonstration (PbD) is an end-user development technique for teaching a computer or a robot new behaviors by demonstrating the task to transfer directly instead of programming it through machine commands. The te ...
concept, where rules are created by giving examples of what actions should take place in a given situation. It can be used to construct simulations, animations and games, which run under
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
on any suitable platform.


History

The software known as Creator originally started as a project by Allen Cypher and
David Canfield Smith David Canfield Smith is an American computer scientist best known for inventing computer icons and the programming technique known as programming by demonstration. His primary emphasis has been in the area of human–computer interaction (CHI) de ...
in Apple's Advanced Technology Group (ATG) known as KidSim. It was intended to allow kids to construct their own simulations, reducing the programming task to something that anyone could handle. Programming in Creator uses graphical rewrite rules augmented with non-graphical tests and actions. In 1994, Kurt Schmucker became the project manager, and under him, the project was renamed Cocoa, and expanded to include a
Netscape Netscape Communications Corporation (originally Mosaic Communications Corporation) was an American independent computer services company with headquarters in Mountain View, California and then Dulles, Virginia. Its Netscape web browser was onc ...
plug-in. It was also repositioned as "Internet Authoring for Kids", as the Internet was becoming increasingly accessible. The project was officially announced on May 13, 1996. There were three releases: * DR1 (Developer Release 1) on October 31, 1996 * DR2 in June, 1997 * DR3 in June, 1998 When
Steve Jobs Steven Paul Jobs (February 24, 1955 – October 5, 2011) was an American entrepreneur, industrial designer, media proprietor, and investor. He was the co-founder, chairman, and CEO of Apple; the chairman and majority shareholder of Pixar; a ...
returned to Apple in 1997, he began dismantling a number of non-productive departments. One of these was the ATG.
Larry Tesler Lawrence Gordon Tesler (April 24, 1945 – February 16, 2020) was an American computer scientist who worked in the field of human–computer interaction. Tesler worked at Xerox PARC, Apple, Amazon, and Yahoo! While at PARC, Tesler's work include ...
, Cypher, and Smith, left to form
Stagecast Software Stagecast Creator is a visual programming language intended for use in teaching programming to children. It is based on the programming by demonstration concept, where rules are created by giving examples of what actions should take place in a giv ...
after retaining the rights to the Cocoa system. Apple went on to reuse the Cocoa name for the entirely unrelated Cocoa application framework, which had originated as
OpenStep OpenStep is a defunct object-oriented application programming interface (API) specification for a legacy object-oriented operating system, with the basic goal of offering a NeXTSTEP-like environment on non-NeXTSTEP operating systems. OpenStep was ...
. Sales of Stagecast Creator ended on September 30, 2014 as part of Stagecast Software's cessation of operations and support ended on December 1, 2014.


Description

Creator is based on the idea of independent ''characters'' that have a graphical appearance and non-graphical properties. Each character has a list of rules that determine how it behaves. The rules are created ''by demonstrating'' what the character does in a specific situation. Each graphical rewrite rule is a ''before / after'' rule, stating that when the ''before'' conditions of the rule are met, the ''after'' actions of the rule are performed.Repenning, A
"Bending the Rules:Steps Toward Semantically Enriched Graphical Rewrite Rules"
Proceeding of Visual Languages, Darmstadt, Germany, 1995, pp. 226-233.
For a simple example, consider a simulation showing a character walking across a field, jumping over any rocks it encounters. Such a simulation would start with the construction of the playfield, in this case a line of icons representing the grass and a few rocks. A character is then placed on the playfield and double-clicked to open a rule editor. The rule editor will start by displaying the current conditions, that is, the character is standing on the grass. Below is an area to place the various "after" conditions, in this case the user drags open the default grid to two spaces, drags the character into the new grid cell, say to the right, and closes the rule editor. If the simulation is started at this point, the character will start walking across the playfield to the right until it reaches the first rock. Since there is no rule showing what should happen when a rock is to the character's right, the character simply stops. At this point the rule editor is opened again, but now it shows the new condition that applies, the character is to the left of a rock. The actions in this case would be two steps, the first showing the character moving up and to the right, the next down and to the right. When the simulation is re-run, the character will walk to the right, and then "jump" over the rocks. In this case the character will now stop moving when it reaches the side of the screen, and a new rule could be added at that point to "wrap around" to the left side again. Additional rules can be added "on the fly" to flesh out the simulation. In this example additional rules would likely be added to allow the conditions to apply no matter which direction the character is walking, duplicating the existing set of two rules for movement to the left, and up and down. To make the simulation interactive, the "automatic movement" rules can be removed, and replaced by ones that move only when the cursor keys are held down, and jump only if the user presses space. Now the simulation becomes a simple game. Many new features were added to the system during its evolution from KidSim/Cocoa to Creator. These include the introduction of 'jars' as a means of object classification, a new z-variable that allows Creator to simulate a 3-D space (as a stack of 2-D sheets), the ability to control more than one character at a time, and the option to redraw the screen only after all moves in a turn have been made. In order to ensure Creator's cross-platform compatibility, the entire system was ported to the
Java programming language Java is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible. It is a general-purpose programming language intended to let programmers ''write once, run anywh ...
. As Cocoa, the system was a Mac-only product and included an 'Autoplayer' functionality that allowed a Cocoa simulation to be run as a stand-alone program on any Mac. With the port to Java, Creator simulations can be posted on a Web page and run as an applet.


See also

*
ToonTalk ToonTalk is a computer programming system intended to be programmed by children. The "Toon" part stands for cartoon. The system's presentation is in the form of animated characters, including robots that can be trained by example. It is one of ...
*
AgentSheets AgentSheets was one of the first modern block-based programming language for kids. The idea of AgentSheets was to overcome syntactic challenges found in common text-based programming languages by using drag and drop mechanisms conceptualizing com ...
*
AgentCubes AgentCubes is an educational programming language for children to create 3D and 2D online games and simulations. The main application of AgentCubes is as computational thinking tool teaching children computational thinking through game and simul ...
* Scratch *
Alice Alice may refer to: * Alice (name), most often a feminine given name, but also used as a surname Literature * Alice (''Alice's Adventures in Wonderland''), a character in books by Lewis Carroll * ''Alice'' series, children's and teen books by ...


References

{{Reflist, 30em


External links


Stagecast Software (archived July 8th, 2015)
Visual programming languages Educational programming languages Software for children Programming games