Note: This is kind of a reiteration of another thingy made by another Scratcher about why Scratch is cool... but I agree with it completely!
Sometimes people ask me... well, no one asks me, but sometimes I ask myself... why? why am I obsessed with Scratch? Why is Scratch so cool and great in my mind? Why can't I seem to work on anything else?
I do have skills with programming languages other than Scratch. However, I keep sticking with what some say is not "real" programming. Why is this? Well, I keep using Scratch for the following reasons:
Graphics. Despite its limitations, Scratch provides a simple interface for rendering raster and vector graphics out of the box. I have a mild obsession with vector graphics due to their infinitely scalable simplicity. To have a programming language with built-in raster and SVG graphics, no extra libraries needed, is pretty great!
Hosting. Scratch allows users to share millions of projects for free. Yes, there are other file hosting services, but Scratch is the only programming language I've known with its own dedicated hosting platform, and especially with one that is so diverse, safe (to the extent possible), active (looooooots of projects and events and such), and costs nothing.
Simplicity. Scratch has its challenges when it comes to creating advanced things. But it thrives on simplicity- I can tell a sprite to move forward 10 steps, and it will do just that. I can tell it to bounce when it hits the edge of the screen, and it will do just that. There's no trigonometry or other shenanigians, but just simple action.
Challenge. Yes, Scratch could have more features. Yet there's something entertaining about working around limitations which would never have been presented to you otherwise. I'd never have dreamed of scanning data from images with binary search techniques or recreating unicode functions had Scratch implemented a file system, string manipulation, and so many more features taken for granted in other programming languages.
In conclusion, Scratch is great and should be ported everywhere possible. Including ScratchJr for the same reasons as listed above, excluding the hosting part and advanced features. Yeah. :]