Live data from Hacker News

Show HN: Blocklike.js Educational Library – So kids can level up from Scratch

github.com

1–10 of 34 posts

Re: Show HN: Blocklike.js Educational Library – So kids can level up from Scratch

#3
post #2

There’s also what seems to be a better scratch than scratch: https://snap.berkeley.edu

As well as the relatively new MakeCode from Microsoft[1], multiple projects based on Google's Blockly[2] and obviously everyones goto: Code.org

With the above, and with Scratch 3.0 finally ditching Flash, I think the absolute-beginner-basic-concepts niche is covered. BlockLike is an attempt to imagine what the next step in a progression could be.

[1] https://www.microsoft.com/en-us/makecode

[2] https://developers.google.com/blockly

Re: Show HN: Blocklike.js Educational Library – So kids can level up from Scratch

#4
excellent. this is a needed step.

the first block programming tool i used is etoys.

it has an interesting feature, where each piece of blocks has a direct equivalent in smalltalk, so you can compare the block version with the code version.

the transition is therefore much smoother as you can reuse your existing block code.

in that vein it would be nice if blocklike had an import function to load scratch projects.

at least for simpler projects this should be possible, and it would further enhance the transition.

Re: Show HN: Blocklike.js Educational Library – So kids can level up from Scratch

#6
post #4

excellent. this is a needed step. the first block programming tool i used is etoys. it has an interesting feature, where each piece of blocks has a direct equivalent in smalltalk, so you can compare the block version with the code version. the transition is therefore much smoother as you can reuse your existing block code. in that vein it would be nice if blocklike had an import function to load scratch projects. at…

> in that vein it would be nice if blocklike had an import function to load scratch projects.

I actually played with a basic React app to do that and I scraped it for two reasons:

1) Practically Scratch projects are very visual beyond the code. They contain a whole lot of assets. After conversion, just the asset loading parts of the code looks scary. It is not really workable. (As a side note, Scratch IDE encourages duplication, and this also increases the complexity of the converted code).

2) Conceptually. The idea is to learn how to write code. So, use the exact pattern, but write it yourself...

Re: Show HN: Blocklike.js Educational Library – So kids can level up from Scratch

#7
A few years ago I tried to make a project that would let kids write in a written language which would be parsed and translated into the XML Snap (a scratch alternative) uses. Then I'd embed the Snap runtime to run it. The basic parts worked, but I ended up giving up on the project.

Re: Show HN: Blocklike.js Educational Library – So kids can level up from Scratch

#9
I feel that the most significant edge provided by these kinds of pedagogical languages is they bridge the years for when the hands can't use the keyboard very well -- in other words, it's not a very interesting edge.

I also think that typing the words out has an effect on fluency even though it seems like a menial form of practice.

Re: Show HN: Blocklike.js Educational Library – So kids can level up from Scratch

#10
post #8

It's a shame they decided to involve one of the worst parts of JavaScript and hardest to explain in all the examples: "this". I've written a lot of JavaScript code that doesn't use it and it's really easy to understand.

I agree that "this" may be hard to explain (especially, say if you find yourself interviewing at AMZN and some middle manager shouts at you over video to explain what "this" means) but in BlockLike it is, by design, pretty straight forward - "this" refers to the Sprite that invoked the function.

"this" is me, the BlockLike Sheep (friend of Scratch Cat).

There is a lot of discussion about the more technical details of the implementation in the FAQ (https://www.blocklike.org/faq) and you can look at this example (https://www.blocklike.org/example/10-patterns/functions.html) to see what emerges out of the implementation (code prints out to console)

>I've written a lot of JavaScript code that doesn't use it and it's really easy to understand.

In the example below the concept of a function that can be shared by two Sprites is introduced. (Scratch Blocks can not be shared by two Sprites).

https://codepen.io/BlockLike/pen/JpjVOp?editors=1010

It can be rewritten without using "this" (obviously). But can you make it easier to understand? Can you make it better at explaining the concept it does?

There is a reason JavaScript has "this" and I think this might be the reason ;)

Post reply on HN