Programming Languages

        I recently bought a Ryze Tello drone that is programmable using Scratch and I was excited to give it a try.  After watching multiple instructional videos online, I decided that programming it wasn’t for me and I figured I’d simply have fun flying it around using the native app on my phone.  Now, a couple months later, I have to learn how to use Scratch for this course. Here is the link to my scratch program: https://scratch.mit.edu/projects/238749190/

[Click image above to launch game in new tab]
Programming Experience

        I had a lot of fun learning how to use Scratch for the first time.  I have programmed before and understand the concept of loops, logic and if-else statements, but it was much more exciting to use the blocks to do the programming than having to actually write code.  I am not a fan of writing code, but I’ve always loved the feeling of satisfaction when the code works as expected.  I got that same feeling when my sprite jumped!

Difficulties and Solutions

        What I found difficult was figuring out how to arrange the blocks in an order that made it work the way I wanted.  I also had difficulty getting the sounds to play and stop when I wanted.  In order to get it all working as envisioned, I used the tutorials and tips built into the Scratch interface.  I also had to really think through what I was really trying to accomplish.  For the sound, I initially chose the start and stop options and then realized what I really wanted was for the volume to change so that the background music didn’t start over each time it was “paused”.

Programming Insights

        Since I’ve programmed before, I can’t say that I gained any insights about programming by doing this exercise.  However, it did remind me of how much fun programming could be – when it works.  If I were to decide to get into programming again, it would definitely have to be with an application like Scratch.  I prefer Scratch because it is much easier to use, partly because it’s closer to the way we speak in our everyday life than machine language, assembly language, and even the high-level languages like Fortran and Python.

Programming Languages Comparisons

        I found machine language to be the basis of all other languages.  Machine language uses zeros and ones (on and off) to send instructions.  Assembly language on the other hand is a little more human readable, and then it is translated into machine language using an assembler.  I find the reversal of regular speech to be the confusing part of assembly language since in normal language you might say add a and b and put the result in c.  Whereas assembly language says add, put in c, a, b.  My brain doesn’t easily function that way.  High level languages are the closest to everyday speech, yet they are not always easy to understand.  As well, they are also converted into machine and assembly language.

        Other than for use in CPUs, I’d say that machine language would be good for use in basic calculators.  Assembly language could also be used for programming calculators, and would require less knowledge of what the zeros and ones of machine language mean.  Assembly language could be used to program things that are specific to the hardware of the computer like the transistors on the CPU.  Python and other high-level languages are much closer to the language you speak and thus easier to use.  One use for a high level language like C++ is in game development especially when you’re using the same actions repeatedly and it won’t be a good idea to write the same code repeatedly.

Programming Languages Preference

        I think that Scratch and other block coding programming languages are most popular now with the proliferation of smart devices.  With these types of languages, it is easier for a person without a background in programming to bring an idea to life.  More and more games are built everyday by people who wouldn’t be able to do so had it required learning a programming language - Even a high level language like Python.

        In the end this was a fun, yet challenging first project. I might rethink my decision about not programming my drone to fly using Scratch. I just might be quite a fun experience to watch the drone complete maneuvers that I programmed.

References

Vahid, F., & Lysecky, S. (2017). Computing technology for all. Retrieved from zybooks.zyante.com

Post a Comment