1

What does “playground” mean when people use this word in articles or tutorials?

For example, there is an article with this title: "Kotlin Playground" (Kotlin is a programming language and this is an article for teaching Kotlin)

And there is a sample project for teaching a concept with this name: "androidx-savedstate-playground"

A related word I have seen used in relation to coding and IT is “sandbox”. However it seems to me that this is used rather differently, not in a particularly educational context. Are they the same?

11
  • 2
    Why should it not be an area to play in? To play with Kotlin or Android?
    – Andrew Leach
    Jun 23, 2019 at 10:05
  • 5
    It's probably similar to "sandbox". A physical sandbox is a place for children to play, experiment and learn safely with sand: a "sandbox environment" for software is an virtual area where programmers can experiment, test and learn safely without causing problems in a live environment.
    – BoldBen
    Jun 23, 2019 at 10:45
  • 2
    It means exactly what the word implies - an outdoor area provided for children to play in, especially at a school or public park. and as children do most of their learning while playing( when young). Just replace the word outdoor with virtual . Jun 23, 2019 at 10:46
  • I find the question confusing. Either it means exactly what the definition of the word says it means—even if figuratively (which we can probably assume)—or, if it doesn't, you'd have to ask the author what it means, if it's not apparent from the context. Jun 23, 2019 at 16:48
  • @JasonBassford Please read the answer by David Jun 23, 2019 at 23:26

2 Answers 2

4

Playground appears to be a relatively new term in relation to programming. Clearly it derives the normal meaning of playground, e.g. that in the Oxford dictionary online:

playground

NOUN

  1. An outdoor area provided for children to play in, especially at a school or public park.

I managed to find an academic paper by Marina Bers, entitled Coding, Playgrounds and Literacy in Early Childhood Education: the Development of KIBO Robotics and ScratchJr from a conference held in 2018, in which she writes:

“What is a playground? Playgrounds are environments designed to engage children in all domains of development (personal, social, moral, language, cognitive, motor, etc.) while having fun. Playgrounds are open-ended…”

and then she goes on to consider this in a coding context:

“The framework of coding as playground provides a way to understand the kind of developmentally appropriate experiences that programming environments must promote: problem solving, imagination, cognitive challenges, social interactions, motor skills development, emotional exploration, and making different personal and moral choices. Within this coding playgrounds, the programming language or symbol system to be manipulated, is a major component of the experience, but not the only one. Like in the playground, there are slides and swings and sand boxes and so forth.”

Difference from standard meaning

Although derived from the standard English meaning of the word, the significant difference would seem to me to be the specific educational intent. Thus, you might send your children to a playground to get them out of the house, so that they can enjoy themselves, so that they are safe from traffic and so that they don’t hit cricket balls through people’s windows. You know it will be good for them to get some fresh air, some exercise, to interact with others, but that is subsidiary and not directed or aimed at a particular educational goal. In contrast, in the educational use this latter has primary place.

Specific usage for programming education

I am not familiar with the Kotlin language, but encountered ‘playgrounds’ in relation to Apple’s Swift programming language. As can be seen from Apple’s page describing Swift Playgrounds, they fit this description reasonably well:

  • They are aimed at children (or novices)
  • They are designed for enjoyment
  • They have preprepared frameworks (swings and roundabouts, as it were)
  • They provide a challenge and encourage learning
  • They are ‘safe’ (in that the learner can’t break anything)

Difference from sandbox

Someone commented that playgrounds are probably similar to sandboxes. However, although sandboxes may be considered as a component of a playground (a safe area), the term sandbox is often used in a different sense in IT. Thus, eBay provides a sandbox for experienced users to test online commerce sites, that they have already constructed, by providing dummy credit card credentials that allow one to check the working of the whole buying process, without the collateral of using a real card. As eBay states:

The Sandbox allows you to test applications developed with the eBay API in a simulated environment.

Apparent conflict between usage in Swift and elsewhere

The answer provided by @Dianna suggests that the usage for Kotlin is different. The link she provides is currently dead, but a related site states:

Kotlin Playground is an online sandbox to explore Kotlin programming language.

And her answer emphasizes the online nature as the distinctive feature of a playground. Similar usage is found in this recent (2018) blog posting.

Over the past couple of years several coding playgrounds have popped up, much to our delight. These are web applications that allow real-time previews of client-side codes: HTML, CSS, and JavaScript.

Although here the sandbox aspect is de-emphasized.

This is clearly not the same as Apple’s Swift usage in that Swift Playgrounds run on the iPad and do not (currently) run online. However, more important, and relevant to the poster’s reference to tutorials, there is no pedagogic implication.

Rather than arguing that one definition is right and the other wrong, I think in linguistic terms (the focus of this site) it is perhaps better to regard this as a new technical term the precise meaning of which is still in flux. Whether or not Apple invented the term, one imagines that its usage is likely to persist. Whether it displaces the other usage remains to be seen.

0

The essential meaning, below, of the software term 'playground' is informed by experience as a professional software engineer.

To quote the official Kotlin programming language site, https://play.kotlinlang.org referred to above:

"Kotlin Playground is an online sandbox to explore Kotlin programming language."

Both 'sandbox' and 'playground' terms have precise meanings.

The difference between a programming 'sandbox' and a 'playground' is that the 'playground' is an online flavor of 'sandbox'.

NOTE -- Child (or child-within) oriented programming teaching environments may also use the term 'playground' with similar effect but in a different and expanded context than the question asked.

Descriptions of programming sandbox and playground.

A programming sandbox is an especially crafted software environment for running, testing and debugging software programs, which detects and restrains the side effects of the program being tested.

Conceptually, the sides of a child's playground sandbox constrains the sand to within its borders so that a child may play freely and (implied) safely in its sands... entirely within that restriction.

In programming, if one's work product goes terribly wrong within a sandbox, the sandbox will not allow software side effects to change or destroy data on the computer running the sandbox.

A programming playground is intended to not only prevent damage to the testing machine, it should also contain any potential side effects from damaging data and machines elsewhere on the web.

Description of side effects:

Simply, if developing an Alexa script to turn on a light, the side effect of the script is that the light stays on even after the script has finished running. If developing a photo printing routine, the side effect is the photo in the printer's out tray.


Example: When writing a hard disk drive formatting utility, the side effect is an empty, freshly formatted HDD that remains after the utility has stopped. A sandbox allows the developer to work on software without unintentionally formatting the development system's HDD as she works unawares. (It happened.)

A sandbox would have allowed software debugging to run normally until it intercepted the call to perform a write operation on the HDD and, instead, often presents a console message informing the dev'r that the call happened.

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.