![]() |
Image courtesy of GetWallPapers.com |
Programming is like art in that it is possible to develop beautiful creations. Yet, this is not up for interpretation as programming requires precise and specific syntax for a program’s code to be deciphered by a computer. Throughout the years, technology has produced ways to make it easier for programmers to create and integrate code for various technological uses. The methods they developed are known as programming languages.
What Is Programming Language?
Programming languages are used to
develop computer software, medical devices, online game servers, smartphones
and watches, smart cars, etc. Just like any other language, programming
languages allow you to communicate; as words and grammar are to human language,
code and syntax are to programming languages. Also, just like human language,
programming languages have many different versions like Python, Java, JavaScript,
C#, C++, Ruby, HTML, and many more.
Why Use Programming Languages?
Programming languages make it easier for people to communicate with computers without
needing to understand machine or assembly language. Machine language, a
low-level language, is a binary language understood by a computer. Assembly
language can combine letters and symbols, unlike machine language which only
consists of 0s and 1s. Assembly language, a low-to-mid-level language,
uses an assembler to translate the assembly language into machine language so
that it may be understood by a computer. To learn more about machine and assembly
language, please visit the following link – Difference
Between Assembly Language And Machine Language - GeeksforGeeks.
Programming languages today are
classified as high-level languages. According to, Frank Vahid, Susan Lysecky,
and Nkenge Wheatland, authors of Technology and Literacy, “A high-level
language is a programming language having higher-level instructions than
assembly language, enabling greater programmer productivity.” Essentially, high-level programming languages are user-friendly, allowing programmers to save time by using them instead of learning more archaic programming methods. One of the new languages that I am learning
more about is Scratch.
What Is Scratch?
![]() |
Image courtesy of Scratch.mit.edu |
Scratch is a programming language developed
by MIT to teach children the fundamentals of programming, or coding. In
addition to learning how to code, “Scratch promotes computational thinking and problem-solving
skills; creative teaching and learning; self-expression and collaboration; and
equity in computing (About Scratch, n.d.).
As this was my first time using the
programming language Scratch, I wanted to familiarize myself with the content
first. freeCodeCamp is an online
platform run by a nonprofit organization that provides information related to
learning programming languages. They are an excellent free source for anyone
that wants to begin learning how to program or improve their programming skill.
They also have a YouTube page which is where I was able to locate a video tutorial
for Scratch.
To become more familiar with Scratch
before attempting to make use of the language, I watched the video tutorial. The
representative for freeCodeCamp walks you through developing a Flappy Bird-style
game using the Scratch method. Having learned that this language and its platform
were developed for children as young as eight-years-old, I was amazed by the versatility
of the language. The depth of possibilities seems almost endless, and it is
certainly worth exploring in more depth.
Jeffrey The Jellyfish, A Program Made by Scratch
My program was not nearly as complex as the Flappy Bird tutorial program. This program features an underwater background with a single jellyfish named Jeffrey. It begins with Jeffrey contemplating his plans for the day and continues as he is startled to notice that there is a presence near him.
All images were captured from the program.
Jeffrey then progresses the interaction by introducing himself to the viewer and then follows up by asking the viewer their name. At this point, the user is prompted to provide input from their keyboard to give their name to Jeffrey.
Once the player inputs their name for Jeffrey, he then states the name back to the user and proceeds to ask them if they would like to play with him. The interaction from this point can go one of two ways. If the viewer replies “yes”, Jeffrey becomes elated and his color becomes white, almost translucent. However, if the viewer replies otherwise, Jeffrey becomes angry, and his color turns dark red. After either answer, the program then executes a stop event and the program ends.
At the end of the program,
depending on the viewer’s answer, Jeffrey is either happy and returns to his
original color or remains angry and red. One of the things I would change is
specifying the input conditions required to make Jeffrey angry. I realize now
that Jeffrey will respond angrily to the user if they input anything other than
“yes” as opposed to being upset by “no”.
If you would like to experience this short interaction with Jeffrey the Jellyfish, here is a link to that project. Scratch Project Link: https://scratch.mit.edu/projects/748382520
Experience Programming With Scratch
Right from the beginning, my
experience with Scratch was very different from what I expected given my
experience with other programming languages. Scratch handles many of the more
complex tasks for you as it has already created several “blocks” that
contain functions/instructions. It’s like a create-your-own avatar game except
the avatar is a program and your customizations are not skin and eye color,
hair, and outfits, but instead backgrounds, music, characters, and motion.
Compared to machine and assembly
languages, Scratch is very much a high-level language because of its ease of
use and shortcut programming style. It has an ease of use that surpasses Python
which is to be expected since, again, it was designed for children. Instead of
spending a considerable amount of time typing and maintaining syntax to code,
Scratch utilizes blocks. Blocks are visible segments of code that have preset
functionality and require very little typing on the user’s part. To gain a
better understanding of what I mean by “blocks”, scroll to the bottom of the
page to view the screenshot of the code. Each color segment is a block.
Users can create variables and set
the function or ability of the variable at the time of its creation. The name
and function of a variable are then populated within a block. It is possible to
assign/change values of variables, grab user input, store input, and recall
input to output information to the screen just like with other languages. The
syntax is determined by the function of the block and the order of code
execution is determined by the order in which the blocks are dragged and
dropped by the user.
Final Thoughts
Scratch is definitely designed for
children. It will help them to develop the fundamentals of programming and
problem solving, but it has the potential to be a more widely used language in
the future because of its simplistic use and time-saving structure. It does
have limitations in that it seems as though you can only use the language within
the platform itself for the features of the language to function properly. I would
also like to learn more about how and if the use would be capable of limiting
input, such as when asking the player to input their name.
Comparatively, languages like Python
have a broader scope of integration into other coding platforms, like Unity,
Unreal Engine, Visual Studio, etc. For developing applications and large-scale
games I would definitely use more complex languages over Scratch, however, I
would use Scratch to develop smaller-scale games or teach children the concepts
of programming. If I had to guess whether Scratch would be more popular than a
programming language such as Python, I would say no. However, this is also relative
to the person using the language. Among a group of people that do not know how
to code, Scratch is an easy win.
References:
- About Scratch. (n.d.). Scratch. https://scratch.mit.edu/about/
- Difference Between Assembly Language And Machine Language. (2020, May 11). GeeksforGeeks. https://www.geeksforgeeks.org/difference-between-assembly-language-and-machine-language/
- Scratch Tutorial for Beginners - Make a Flappy Bird Game. (n.d.). [Video]. YouTube. https://www.youtube.com/watch?v=x14G4DCk4nY
- Vahid, F., Lysecky, S., & Wheatland, N. (2019). TEC 101: Fundamentals of Information Technology & Literacy. zyBooks. https://learn.zybooks.com/zybook/TEC101
No comments:
Post a Comment