Live data from Hacker News

Scratch is a big deal

bryanbraun.com

281–290 of 306 posts

Re: Scratch is a big deal

#281
I just tried Scratch to make a quick little animation and I must say that it's actually pretty amazing. I've known about it for close to a decade but never really tried it out. I just spent a few minutes playing around and I was amazed by how easy it was to program a simple little animation.

Re: Scratch is a big deal

#282
post #40

I never find the time to dive into it, but for years I carry the thought that somewhere in the general direction of “take the visual programming module of Scratch and make it talk to a cleanly designed high-level API of our business application” lies the key for tremendous feature development productivity, at least for some kinds of features — where from then on, our Product Managers simply go like “oh I know, let’s…

I thought this was what MuleSoft was designed to be, though I haven't kept track of what it looks like now

Same as it did 10 years ago. Same as IBM's garbage in the 90s. Only difference now is the IDE is both prettier and slower, there's more testing, and there's way more interfaces.

The solution to the problem never got better, it just got prettier. Oh, and the problem just got harder.

Re: Scratch is a big deal

#283

Earlier quoted context omitted.

Look I was teaching myself Z80 machine code on a ZX-Spectrum when I was 11. No internet to help me out and nobody I knew could help me. Just one book. And yet I learned how to hand compile Z80 assembler to machine code and make fun little games. So don’t underestimate the capabilities of kids to solve hard problems :)

That's different. You were learning from first principles, using the lowest level primitives, and how putting them together made it possible to do an almost infinite number of things. That is powerful and intoxicating. With Scratch you are given a limited set of blocks that are designed for a limited set of solutions. It is at the same time not particularly powerful nor does it feel like you can grow your solutions t…

Yep I agree. I don’t think learning Scratch is a good way to learn programming. The intentions are good but IMHO misguided. Scratch is too “abstracted away” from what is really going on. Learning about the lowest possible abstraction (machine code) made it easy for me to understand everything else in programming. And the humble BASIC programming language taught a whole generation of kids how to program. So I think it is fair to state that BASIC is a proven way to teach kids the “real” stuff. Perhaps Python might be a better choice today?

Re: Scratch is a big deal

#284

Earlier quoted context omitted.

> My 7yo was making a number guessing game, and to display a two-digit number we had to make two sprites that had 10 "costumes" (0-9) then do modular math to select the costume for each digit So if your kid is cool with this kind of clever workaround for the limitations of some piece of crap, you have a future software engineer.

Exactly! I think the value of these programming environments is in helping you find new ways to think about problems. Having constraints/limitations can be one way to force that creative rethinking to happen sooner rather than later. Obviously you need to find a good balance though as causing frustration and helplessness would have the opposite effect. I’ve an anecdote of my own that I still think about semi-regularl…

I agree. My best memory during my school days is still the supreme satisfaction I had of implementing a complete gaussian elimination algorithm in assembly using only the puny number of registers in an 8051.

Re: Scratch is a big deal

#285

Earlier quoted context omitted.

Exactly! I think the value of these programming environments is in helping you find new ways to think about problems. Having constraints/limitations can be one way to force that creative rethinking to happen sooner rather than later. Obviously you need to find a good balance though as causing frustration and helplessness would have the opposite effect. I’ve an anecdote of my own that I still think about semi-regularl…

Seriously, I remember programming in constrained environments, for example in a calculator, and how that seemed to boost my creativity. I wonder if something is not lost (in terms of learning) by having such hugely powerful systems with any non-trivial functionality a simple library download away.

This is why professors try to limit what students can use in their assignments. And then students (and the internet) turns around and chastises the professors for putting restrictions which the students will never encounter in real life.

Re: Scratch is a big deal

#286

Earlier quoted context omitted.

Exactly! I think the value of these programming environments is in helping you find new ways to think about problems. Having constraints/limitations can be one way to force that creative rethinking to happen sooner rather than later. Obviously you need to find a good balance though as causing frustration and helplessness would have the opposite effect. I’ve an anecdote of my own that I still think about semi-regularl…

Seriously, I remember programming in constrained environments, for example in a calculator, and how that seemed to boost my creativity. I wonder if something is not lost (in terms of learning) by having such hugely powerful systems with any non-trivial functionality a simple library download away.

It is.

Constraint begets creativity.

A box needs to be defined in order for one to think outside of it.

Re: Scratch is a big deal

#287

Earlier quoted context omitted.

This is genuinely amazing - I'd love to give it a try. Any chance any of the work your team put into it is open source?

This was actually built between 2012-2013 - it is quite a tangle of old and rusty (but very reliable) PHP code and IE9-era, 'jQuery-esque' JavaScript. Realistically this can't be usefully made open source (and if it were it would probably have to be rewritten in order to be more generally useful). That said I would be very interested in an open source re-implementation of this using modern techniques!

Please let us know if you decide to open source it! Very cool :)

Re: Scratch is a big deal

#288

Earlier quoted context omitted.

I remember having to unpack the jar but I don't remember the function names being obfuscated or anything like that. Then again, this was a while ago.

If you used the Forge development environment, then it did the deobfuscation for you. They have it set up so well you basically don't even realize it happened.

This was definitely pre-forge but I might not be remembering correctly around the obfuscation

Re: Scratch is a big deal

#289

Earlier quoted context omitted.

Normal code that's compact and easy to follow is usually that way because it was written by somebody with a lot of experience. I've seen plenty of shit-piles called "code".

There are better and worse programs in every language, including Scratch. However, Scratch blocks physically take up more pixels on screen, so you can't see as much information at once. Also, in most languages, you don't have to worry about the two-dimensional layout of your code.

> in most languages, you don't have to worry about the two-dimensional layout of your code

I bet most people saw your comment and thought of things like befunge [0] (and scratch of course), but I smiled when I thought of fortran 77...

[0] https://en.m.wikipedia.org/wiki/Befunge

Re: Scratch is a big deal

#290

Earlier quoted context omitted.

That's different. You were learning from first principles, using the lowest level primitives, and how putting them together made it possible to do an almost infinite number of things. That is powerful and intoxicating. With Scratch you are given a limited set of blocks that are designed for a limited set of solutions. It is at the same time not particularly powerful nor does it feel like you can grow your solutions t…

Yep I agree. I don’t think learning Scratch is a good way to learn programming. The intentions are good but IMHO misguided. Scratch is too “abstracted away” from what is really going on. Learning about the lowest possible abstraction (machine code) made it easy for me to understand everything else in programming. And the humble BASIC programming language taught a whole generation of kids how to program. So I think it…

One of the game changers from back in the day, which makes teaching 'real' programming much easier, is the proliferation of very good interactive online learning environments, like Khan, Udemy, etc.
Post reply on HN