Live data from Hacker News

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

github.com

31–34 of 34 posts

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

#31

We talked to a lot of teachers, and it's a real problem going from block based programming to syntax heavy scripting - there's a chasm there which from a teaching standpoint is sometimes tricky to breach and keep students engaged with. We've gone for a different approach with Construct 3 which is so far resonating well in education, by mixing our block based programming system with Javascript itself helping to smooth…

What was the reasoning behind choosing Javascript as the language, rather than Go or something else?

The entire editor is built in HTML5, and the exported games export to HTML5. It was the obvious choice.

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

#32
post #30
post #29

Earlier quoted context omitted.

> "this" refers to the Sprite that invoked the function Sure, "this" is always what invoked the function. Why not just pass in the sprite to the function though and use the argument instead? That makes the learning more general for all languages and not javascript specific. IMO, there is no value in using "this". I don't think OOP should be taught in the early stages of learning programming. Here is a simple example…

sprite.addTo(stage); stage.addSprite(sprite); Are both ok. First is more intuitive cause everything else is of shape sprite.doThing In Scratch the IDE does the creation/association. So the design choice here is - should a Sprite be “magically” added to Stage upon construction. I chose not to because removing a Sprite is also a thing and symmetry is important. But those are semantics - the whole thing is indeed OOP be…

> the whole thing is indeed OOP because... Scratch is OOP.

Right. I guess that's the core of my problem. I don't think you should be teaching beginning programmers OOP. It pollutes their minds too early and they don't appreciate the separation of data and code. And yes, I am biased because I dislike OOP.

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

#33

Earlier quoted context omitted.

I am curious - what languages do you think would be better for kids to start with?

I am actually not sure. Depending on the age, from those I know, I would prefer Python, but it has its own disadvantages, especially that it doesn't run (properly, yet) on mobile or web. If I were to teach Programming to a particular age group, especially with students that aren't self-selected for interest, I would hope for a compelling and engaging experience, as free as possible from sources of frustration that ar…

TypeScript? Dart?

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

#34

Earlier quoted context omitted.

I am actually not sure. Depending on the age, from those I know, I would prefer Python, but it has its own disadvantages, especially that it doesn't run (properly, yet) on mobile or web. If I were to teach Programming to a particular age group, especially with students that aren't self-selected for interest, I would hope for a compelling and engaging experience, as free as possible from sources of frustration that ar…

TypeScript? Dart?

Typescript certainly not. In a first programming language I would prefer a type system that goes as far out of your way as possible.

Python and Javascript do that, to an extend. You don't see the types in the code, and 99% of the time it's ok to have a vague notion of what value is what type. Especially for limited domains. Of course TypeScript can be used without any annotation or checking. But strict TypeScript, Dart, C# and Java are impossible to use without a lot of head space devoted to the formal type system.

I consider myself an experienced programmer, but TypeScript gives me headaches sometimes, especially if I try to be explicit about type annotations.

Post reply on HN