qqa12

13
reputation
4

In February 2015, I got my first programming experience with Scratch. It definitely made me interested in programming, but I don’t think Scratch is a good programming tool to stick with because of the following reasons:

  • It goes out of its way to never ever display an error. "(10 + string)" = "NaN" (which will basically eat its way through your calculations), "change to Costume (doesn’t even exist)" does nothing.
  • No case-sensitivity except "change to costume (xxx)" and "change to costume (XXX)" are different. This is the only way (except the same with sound, but wtf) to check for case.
  • There are two types of variables: Variables and Lists. This basically means no lists inside lists.
  • Actually, a variable is always either a number or a string, but it can change on the fly ("set variable x to text" makes it a string, "set variable x to 123" makes it a number) and there is no way to know.
  • Technically, there is a way, because when you display variables, the decimal places will be shortened only in numbers, so you can make "var = (join (var) with (ZERO WIDTH))" to get your precious decimal places back.
  • Defining a block gives you limited possibilities, even though the features are already built in, but you need to JSON-hack to take advantage of them.
  • Working with strings is the most painful thing to do because there is no substring concept.
  • The most frustrating of all: When Scratch 3.0 came out, I instantly lost interest. The layout was changed so everything was huge, some mechanics (that, to be fair, were bugs) were removed, and JSON-hacked projects were now unable to load and straight up threw an error.

I could rant about this all day long, but this is supposed to be about me. The next thing I discovered was Python, which would go on to be my main programming language for simple, quick things until today. In 2020, I also started to learn C#, but I don’t use it that much, and Assembly, which is my main focus and the reason I am on stackoverflow.

TL;DR:

  • Scratch, but it’s actually trash
  • Python, for quick, simple things
  • C#, but not as much
  • Assembly, my main focus