Hopscotch (programming language): Difference between revisions

Content deleted Content added
BG19bot (talk | contribs)
m WP:CHECKWIKI error fix for #62. Left off http://. Do general fixes if a problem exists. -, replaced: <ref>www. → <ref>http://www. using AWB (11700)
added notice about forum closure
 
(95 intermediate revisions by 66 users not shown)
Line 1:
{{Short description|Programming language}}
{{Multiple issues|
{{notability|date=September 2013}}
{{unreferencedmore citations needed|date=SeptemberJune 20132016}}
{{Primary sources|date=July 2019}}
{{Tone|date=December 2024}}
}}
'''Hopscotch''' is a visual [[visual programming language]] developed by Hopscotch Technologies, designed to allow young or beginner [[programmers]] to develop simple projects. Its simple [[User interface|UI]] allows its users to drag and drop blocks to create [[Script (computer programming)|scripts]] of whichthat can be played when activated. Although the language is easy to use, to develop more advanced pieces of code is almost impossible and requires more powerful languages. The use of the language is through aan tablet[[iPad]] or phone[[iPhone]] supporting Hopscotch.<ref name="Hanselminutes PodcastPodcast2">[http://www.hanselminutes.com/417/i-am-teaching-my-daughter-to-code-with-hopscotch-fitzgerald-steele Hanselminutes Podcast, Show #417], Apr 04, 2014, titled "I am teaching my daughter to code with Hopscotch - Fitzgerald Steele", 30 -minute interview with father whose daughter tried Hopscotch app on iPad.</ref>
 
'''Hopscotch''' is a visual [[programming language]] developed by Hopscotch Technologies, designed to allow young or beginner programmers to develop simple projects. Its simple UI allows its users to drag and drop blocks to create scripts of which can be played when activated. Although the language is easy to use, to develop more advanced pieces of code is almost impossible and requires more powerful languages. The use of the language is through a tablet or phone supporting Hopscotch.<ref name="Hanselminutes Podcast">[http://www.hanselminutes.com/417/i-am-teaching-my-daughter-to-code-with-hopscotch-fitzgerald-steele Hanselminutes Podcast, Show #417], Apr 04 2014, titled "I am teaching my daughter to code with Hopscotch - Fitzgerald Steele", 30 minute interview with father whose daughter tried Hopscotch app on iPad.</ref>
 
==Software development==
The idea sprang from an already existing programming tool, [[Scratch (programming language)|Scratch]], where the user drags blocks into scripts in succession to create a script. ThisThe is[[Software founddeveloper|developers]] muchof easier by children than typing out the code manually like other programming languages tend to use. Though the developersHopscotch wanted to take a step back from Scratch, and makemaking it slightly easier to grasp toand abilityuse tothe use,concepts. thereforeHopscotch's removingnotion manyof blocksevents, and addingrules somecombining ofconditions theirwith ownactions, inis hopesimilar to make it easier to use[[AgentSheets]].
 
Hopscotch includes basic programming blocks and functionalities such as [[Variable (computer science)|variables]], [[Sprites (computer graphics)|sprites]] (called objects) and text objects, as well as features considered more advanced such as self-[[Variable (mathematics)|variables]], [[Function (mathematics)|maths functions]] and more.
The idea sprang from an already existing programming tool, [[Scratch (programming language)|Scratch]], where the user drags blocks into scripts in succession to create a script. This is found much easier by children than typing out the code manually like other programming languages tend to use. Though the developers wanted to take a step back from Scratch and make it slightly easier to grasp to ability to use, therefore removing many blocks and adding some of their own in hope to make it easier to use.
 
== Editor ==
The most recent version of the application allows users to change their avatar's profile picture, in it's special beta testing service, Hopscotch Beta, the "avatars" will be changed, and new "shapes" will come out.
[[File:Hopscotch_iPhone_editor.png|thumb|Hopscotch iPhone editor]]
[[File:Hopscotch_ipad_editor.jpg|thumb|223x223px|Hopscotch iPad editor]]
The Hopscotch app uses a [[Visual programming language|block-based programming UI]]. Most code blocks can have [[Number|numeric]], text, or math inputs, allowing for both static and dynamic outputs. The editor work area is based on a [[Grid graph|grid]] divided into X and Y [[Coordinate system|coordinates]].
 
=== Editor history ===
==References==
The Hopscotch Editor is available on [[iPhone]] and [[iPad]]. The iPhone version only supported viewing projects until early 2016,<ref>{{Cite web|title=Help us test the *new* iPhone app!|url=https://forum.gethopscotch.com/t/help-us-test-the-new-iphone-app/10154|access-date=2018-05-06|website=Hopscotch Forum|date=22 March 2016 |language=en}}</ref> when an update supporting editing and account functionality was released. The Hopscotch iPhone projects play in an iPhone format even on the iPad and web player. A version for Android is not planned for release (as of 2021).
 
=== Event blocks ===
Event blocks are conditional triggers that activate when a specific set of parameters is reached, triggering any associated Code blocks within the activated Event block. As of September 26, 2023, Hopscotch contains 40 Event blocks, including interactions, comparisons, and collision detection.
 
=== Code blocks ===
Code blocks are individual actions triggered upon the activation of Event blocks, activated in descending order. Code blocks fall into six categories: Abilities, Movement, Looks & Sounds, Drawing, Variables, and Controls. Abilities are containers for Code blocks, creating a function which can be duplicated and reused within a project. Movement blocks control the positioning and rotation of objects. Looks & Sounds blocks control the scale and appearance of objects, text manipulation, sound playback, and transparency of objects. Drawing blocks paint preset colors to the background layer of a project, with additional options for stroke width and [[RGB color model|RGB]]/[[HSL and HSV|HSB]] support for custom colors. Variable blocks handle data storage and modification, with support for [[String (computer science)|strings]] and numerical inputs. Control blocks provide miscellaneous functionality, such as if/else conditionals, message passing, and waiting a set amount of time.
 
== Player ==
[[File:Hopscotch_iPad_player.jpg|thumb|Hopscotch iPad player, playing project]]
 
=== In-app player ===
The Hopscotch player activates the blocks in the scripts upon activation of their individual triggers.
 
=== Webplayer ===
The player is also available on the web (known as the "Webplayer"). The web player brings Hopscotch projects to almost any browser. It is designed to work the same as the in-app player, though it has a different coding layout than the app. The web version of a project is only accessible via its unique link that is formatted like this: <code><nowiki>https://c.gethopscotch.com/p/</nowiki>'''project ID'''</code>
 
Both the in-app and the web player are written in [[JavaScript]].
 
There is also currently a version being developed as of 2024 for easier access to Hopscotch through a computer.
 
== Subscription ==
Currently, there is a Hopscotch subscription. It costs $79.99 a year or $9.99 a month. The subscription allows access to adding photos or drawings, 30 “seeds” (the form of Hopscotch currency) a month, custom avatars, user variables, and more. In order to make an account, you must purchase the subscription to post or create a draft. Teacher accounts do not need the subscription, nor does signing up through the Webplayer.
 
== Hopscotch Forum ==
The Hopscotch Forum is the official online forum for Hopscotch, for users to discuss Hopscotch projects, programming, and view update information for changes made to the Hopscotch app. Users may also host or participate in Competitions or Events, and collaborate on projects.
 
As of December 2024, the Hopscotch Forum has transitioned to a Discord server and placed it on read-only mode.
 
== Languages ==
Supported languages: [[English language|English]], Simplified [[Chinese language|Chinese]], [[Spanish language|Spanish]].
 
== References ==
{{Reflist}}
<ref>http://www.gethopscotch.com</ref>
 
== External links ==
* {{Official website}}
{{Authority control}}
[[Category:Visual programming languages]]
[[Category:Educational programming languages]]
 
 
{{prog-lang-stub}}