When utilizing Scratch
for the first time, I found the programming language simplistic. Building upon my previous experience of Visual
Basic coding, I realized that all ‘sprites’ or ‘costumes’ were objects that
could have blocks of code. I struggled
with many features of Scratch. I
struggled with the movement of my sprites on the background early in the
development effort. I also struggled
with how to reset the program. As my
program became complicated with multiple sprites interacting, I struggled with
timing and coordinating events. I
overcame these difficulties using Google to search for methods. My biggest win was learning how to broadcast
between sprites so that I could coordinate events between them. I discovered how to leverage ‘broadcast’ by
watching a YouTube video.
Through the exercise, I gained knowledge of how helpful a
completely object-oriented drag and drop programming environment can be. I also discovered how limiting this
environment was also. While trying to
coordinate events, I attempted to use ‘If-Then’ statements to determine the
location (x,y) of a sprite on the background.
I was unable to use this method to control, and as previously stated
leveraged the broadcast method. Other
capabilities that I am familiar with in Python were unavailable or at a minimum
not easy to find.
As previously mentioned, I find Python the most natural
language to read and use. Perhaps, it is
because there is something to read, the actual code, and I prefer to type
instead of dragging and dropping code elements.
With that said, Scratch has a strong use case for education and simple
graphical applications. Some of the
examples I reviewed, where quite complex and creative. However, most of the coding that I do is for
automation, and creating a suitable log file is the closest I come to
developing any pretty output. I believe
that python is the most popular programming language today. Python is versatile and runs some of the most
popular web applications, like YouTube, with Javascript as a close second.