- Boku (software)
Infobox Software
name = Boku
caption =
author =
developer =Microsoft Corporation
released =
latest release version =
latest release date =
latest preview version =
latest preview date =
programming language =
operating system = Windows
platform = PC,Xbox 360
language =
status =
genre = programming environment
license =
website = [http://research.microsoft.com/conferences/techfair/default.aspx#Boku Boku]Boku is a
programming environment for children that runs onMicrosoft Windows and theXbox 360 .Overview
Boku continues a lineage of
visual programming and Children's programming languages extending back to Logo in the 60s and continuing today in projects such asSqueak and Alice.Boku is different from those other projects in several key ways:
* it avoids typing entirely; users construct programs by assembling visual elements with a game controller
* rather than a bitmapped or 2d display, programs are executed in a 3D simulation environment, similar toAlice (software) Language design
Boku's programming model is novel and rigorously streamlined. It dispenses with the majority of "serious" programming conventions, including symbolic variables, branching, loops, number and string manipulation, subroutines, polymorphism ... and so on.
This simplicity is achieved by situating the programming task in a largely complete simulation environment. The user programs the behaviors of characters in a 3d world, and programs are expressed in a high-level, sensory paradigm.
The typical "hello world" of Boku is:
see - fruit - move - towards
The grammar, as it were, of this expression is:
Where
is: [ ...] And
is: [ ...] An illustrative variant of the above program is:
see - red - fruit - move - towards - quickly
Philosophy
The goals of the Boku project are primarily cultural. Boku seeks to instill in young children a perception of the computer (and the Xbox) as a malleable creative tool primarily intended for the creation and expression of original ideas. The creators of Boku are concerned about the rise of the consumptive, passive aspect of the personal computer. They seek a return to the "glory days" of personal computers with
BASIC in the ROM - a device that is primarily, if not entirely, a creative tool.An observation from early Boku design discussions with inventors of other children's programming environments is that small children were particularly disinterested in abstraction. The orientation of Boku's language towards physical senses and physical action is intended specifically to retain the active mental engagement of young children.
The aspirational goal of Boku is to provide a programming model suitable for five-year olds. In usability studies, eleven-year-olds seem much more ready to engage in productive use. We have seen children as young as seven construct unique behaviors in Boku, but this is exceptional. The problem for younger children seems to be more one of interest in planned creativity (i.e. working towards a goal) than comprehension of the language.
Another major design pillar of Boku is immediacy and seamlessness. We are targeting children (and adults) with short attention spans - we want creativity to be a continually engaging process rather than long periods of unrewarding labor interspersed with periodic reward moments. As such, the edit-compile-test cycle for Boku is well under a second. Modified programs can be tested with no more than two button clicks.
Boku is a project of the Creative Systems group in Microsoft's research division. Questions should be directed to mattmac at that company's obvious domain.
References
* [http://www.theage.com.au/news/technology/get-with-the-program/2007/03/31/1174761806975.html The Age (Australia): "Get With the Program"]
* [http://www.informationweek.com/blog/main/archives/2007/03/microsoft_resea.html Information Week: Microsoft Research Provides Sneak Preview Of 'Boku' Programming Environment For Kids]
* [http://blog.wired.com/monkeybites/2007/03/techfest_demo_b.html Wired: TechFest Demo: Boku]ee also
*
Educational programming language
*Visual programming language
* Logo
*Squeak (programming language)
*Scratch (programming language)
*Alice (software)
*Baltie
*Phrogram
Wikimedia Foundation. 2010.