first and foremost i want to apologize to @jens and @bh for being so critical, rude, and inconsiderate towards snap and anyone whos put their time in to making it into what it is. i want you to know though, i do appreciate snap, a whole lot, ever since the day i discovered it. its seriously one of the coolest, most satisfying, and intuitive environments to learn, experiment, create, and just mess around and see if something interesting happens. and i cant emphasize those three points enough,
ever since i started making bigger more polished projects in scratch, i dreamed about making custom c blocks, custom reporters, lists containing other lists, local variables, etc etc etc. how cool would that be. and here's snap, doing all that, and also, doing things ive never even dared to dream of, like having freakin' variables in the block that you can set in the definition and drag from the block instance to use further down in your script?? i love that. i love all of the cool extra and even experimental features added and that i would get to learn how they all worked and ultimately how i could use them to do cool stuff. like continuations, which even though i dont really use them, i remember trying to understand them, not getting it, getting frustrated, over and over until i started to see how they actually worked and what purpose they served, and that alone was super rewarding and i think opened my mind a little bit towards programming in general and taught me a new way to think about potential solutions to problems i might face in the future.
and my god snap just hits so many sweet spots for me. i always found scratch incredibly satisfying, and you guys maintained that quality very well with all the new features added on top of what was already there. i think if you dropped someone completely unaware of scratch, into snap, they wouldnt be able to tell that it was an extension of another language. it all feels like it fits together seamlessly. like you should be able to do all this 'extra' stuff, you should be able to make c blocks, reporters, nested lists, local variables, and maybe its just from being unable to do it before, but having that all just work, just pick what you want and its there, its like music.
and intuitive i think is pretty self explanatory. you literally see the sequence in front of you and can move parts around any way you want.
so i feel bad for making it seem like it just wasnt enough. after doing all this and all people can say is 'you forgot..' or 'why didnt you add...' and talk and talk about all the things you didnt do. which im sorry for contributing to that detriment. the truth is, at least for me, i get so excited about little things like the color input, the if else variadic block, this new custom primitive thing dont get me started, i guess in my head, if i were to make snap, i wouldve done things in a different order. which is wrong for me to expect your priorities to align with mine. i guess the reason i was upset is that it seemed like you were just withholding features, like we can see the color input in the pen blocks but thats not for us to use.. kind of like how scratch was frustrating in the same way, having features that we just dont get to get our hands on. but i get it. it takes time. and if you really wanted to you could change the input token in the console/dev mode. you can do all the things that dont have their own ui or dialog box or whatever, if you really want to. and i do, thats another thing i really do appreciate about snap, that i can make stuff like this just because i want to see it work and what it would look like. i think thats about it thanks.