Scratch, Python, and Pete the Piranha


Pete the Piranha Scratch Project: https://scratch.mit.edu/projects/317422602/

Compelled to do so by an assignment for my INT100 coursework, I created a relatively simple game in MIT's block language Scratch. The link to the project is above but I enjoyed making the game and it appears that my wife, kids, friends, and coworkers are all fans. So it's inspired me to recreate the game as a mobile app! Will provide more info on this as work on that app progresses. 

Having made simple programs before, Scratch proved to be a bit of a headache at for two reasons.
  1. There’s a learning curve associated with the graphic user interface and the specific limitations of the language.  
  2. Having to hunt for the appropriate block(s) when I could have typed out the code was frustrating.

How did I get around these issues?

These difficulties were primarily solved by a thorough use of Google and Youtube, as well as looking at projects that other people have shared. What I gained from this experience were some insights into how modern games are coded and how variables in the program are manipulated to provide some of the mechanics for the game.

Assessment of the languages
It’s plainly evident that Scratch makes programming many simple programs significantly easier. The exercises involving Python, named for Monty Python, were my first real experience programming in the language and, to be frank, it also took some getting used to. Given my recent self-education in C++ and C#, the differences in syntax required constant attention. That said, I would prefer Python over Scratch for most software development projects given what I can only assume are numerous limitations that Scratch has as a very high-level language.

The differences in these languages stem from the era of their development. Machine language is a means of communicating with a CPU in binary. Humans have had thousands of years to develop languages comprised of thousands of symbols and phonemes in order to communicate complex messages – while communication of this nature is possible in binary it is very difficult. As such, Assembly language was developed to make it easier for programmers to instruct CPUs in a human-readable manner.  

Python is a comparatively new high-level language which utilizes indentation, common amongst programmers for increased readability, instead of curly-brackets to structure its programs and scripts into blocks and it significantly easier to work with than Assembly language. Scratch is a block programming language created to help children learn to break problems into chunks of logic and apply that logic toward the creation of programs – that is, to help children learn to think like programmers.

Machine code is used anywhere a traditional computer is in use – higher-level languages are translated into machine code. This includes assembly language which is typically found in drivers and the like. While you could accomplish in assembly anything you could with higher level languages, it becomes impractically long and difficult to debug. Python, on the other hand, can be used to create desktop programs, web applications and more. Recently, it has gained popularity as a language for data analysis. Scratch is useful for its intended purpose – helping newcomers to the art of programming learn to think in a way that enables them to create programs from code.

Which language is most popular? – That depends on how popularity is defined. 

Of those discussed, Machine language is certainly the most omnipresent (as nearly all programs are eventually converted into those ones and zeros), however Python is most likely to be selected for nearly any software development project not requiring direct processor interaction. It’s comparative ease of use without the limitations of a language like Scratch make it ideal for most development (in comparison to the languages discussed herein).




0 Comments:

Post a Comment