Live data from Hacker News

Show HN: Goboscript, text-based programming language, compiles to Scratch

github.com

31–40 of 65 posts

Re: Show HN: Goboscript, text-based programming language, compiles to Scratch

#31
This is great! I'd also like to mention pytch.org which takes a slightly different approach to the same problem, essentially recreating most of Scratch within python, and teaching learners how they'd go about writing code to do the same sort of stuff they would have done with Scratch, and then to extend it with python stuff that isn't possible in Scratch.

Thinking of it now, I wonder if the two approaches could be combined?

Re: Show HN: Goboscript, text-based programming language, compiles to Scratch

#32

I love teaching Scratch to kids. Some years ago, I used to do "CoderDojo", which is like a hobby club where kids can learn programming. Some kids go to soccer, others to art academy — and these kids learn programming. Super cool to teach. However, most kids get stuck after they master Scratch. Especially kids around the age of 8–10. They learn Scratch. It's awesome. They make some advanced games and really get the ha…

Flash circa 4-7 era had a really nice scripting environment for ActionScript where you could select instructions via a drop-down and edit fields for each instruction (with the fields being of dynamic input types). I've never seen something like these days, but for a 12 year old me it was really fun and simple to use. It also came with an integrated offline manual.

Maybe you could try something like that?

Re: Show HN: Goboscript, text-based programming language, compiles to Scratch

#33
post #23
post #11

Earlier quoted context omitted.

It sounds like you want the ability to instantiate a scratch block that contains a text box, which in turn contains the function body for the block? It would then be possible to incrementally write as little or as much as desired in text. Getting fancy, that block could use a backend interpreter/compiler of choice, so the language could be Squeak, Python, C, an LLM generator, ...

> It sounds like you want the ability to instantiate a scratch block that contains a text box, which in turn contains the function body for the block ? That is the escape hatch from all visual development environments. Having seen Talend and W4 in action, I know the end state of the process: a single block with everything in it - I'm barely caricaturing here. Maybe the specific needs of early learners will keep the s…

I’m familiar with the Grasshopper visual scripting environment for the Rhino CAD system, and what you’re describing happens there as well…but I don’t really perceive it as a negative. Users who aren’t comfortable with text programming continue to use the visual method, and users who are tend to migrate their more complicated functions to single blocks. There’s a limit of complexity beyond which the visual programming becomes an impediment to understanding. It’s OK if moving things to a text-based block will make the internal logic of that block inaccessible to some number of users, given that those users would struggle to understand the visual version of the function as well.

Re: Show HN: Goboscript, text-based programming language, compiles to Scratch

#34

I love teaching Scratch to kids. Some years ago, I used to do "CoderDojo", which is like a hobby club where kids can learn programming. Some kids go to soccer, others to art academy — and these kids learn programming. Super cool to teach. However, most kids get stuck after they master Scratch. Especially kids around the age of 8–10. They learn Scratch. It's awesome. They make some advanced games and really get the ha…

I still think Scratch has some brilliant ideas that aren't quite captured into traditional text-based programming languages. The fact that the types are rigid out to the editor (i.e. the editor will let you have a partially-formed program but not an invalid program because it does static type checking per-edit and rejects edits that don't pass) is quite a powerful feature tucked into a toy / educational language.

Re: Show HN: Goboscript, text-based programming language, compiles to Scratch

#35

I love teaching Scratch to kids. Some years ago, I used to do "CoderDojo", which is like a hobby club where kids can learn programming. Some kids go to soccer, others to art academy — and these kids learn programming. Super cool to teach. However, most kids get stuck after they master Scratch. Especially kids around the age of 8–10. They learn Scratch. It's awesome. They make some advanced games and really get the ha…

have you tried showing them LabVIEW? it ticks tons of boxes:

- graphical

- more advanced (inherently parallel, more useful async data structures like events and queues)

- interfaces with tons of cool hardware

- built in network programming

- pretty powerful debugging

- free with community edition

Once they have the basics down, you could transition them out to a text based language slowly, even using the c/Matlab based text nodes to start

Re: Show HN: Goboscript, text-based programming language, compiles to Scratch

#36
post #8

I love teaching Scratch to kids. Some years ago, I used to do "CoderDojo", which is like a hobby club where kids can learn programming. Some kids go to soccer, others to art academy — and these kids learn programming. Super cool to teach. However, most kids get stuck after they master Scratch. Especially kids around the age of 8–10. They learn Scratch. It's awesome. They make some advanced games and really get the ha…

Would something like Blockly [0] or MakeCode [1] fill that gap? [0] https://developers.google.com/blockly/ [1] https://makecode.microbit.org/

An interesting usage of Blockly is BlockSCAD:

https://www.blockscad3d.com/editor/

which uses it to wrap up (most of) OpenSCAD for interactive 3D modeling.

Re: Show HN: Goboscript, text-based programming language, compiles to Scratch

#37

Thank you for making this! My initial take was to share this with my son who used to built all kinds of things in Scratch, but I know that the lack of simple install instructions will be a deal-breaker for him. Given that (part of) your audience will be persons like my son graduating out of graphical programming in Scratch, it might be worth spending a little time on non-dev install instructions. Even more so as you…

There are handful methods of installation documented in the documentation [1]. The easiest one being installing from git and cargo. For people who do not have the rust toolchain installed, the easiest method is to install pre-built binaries released on GitHub [2].

[1]: https://aspizu.github.io/goboscript/ [2]: https://aspizu.github.io/goboscript/install/#install-from-bi...

Re: Show HN: Goboscript, text-based programming language, compiles to Scratch

#38

Next step: create a visual programming language that compiles to goboscript.

You can kinda do this using sb2gs [1], which is a decompiler for goboscript. It turns Scratch projects into text-based goboscript projects automatically, for people who wish to work on their Scratch projects in goboscript without having to manually port their entire project to goboscript. Though, sb2gs isn't the best at decompiling everything properly, so a few manual edits are required.

[1]: https://github.com/aspizu/sb2gs

Re: Show HN: Goboscript, text-based programming language, compiles to Scratch

#39

Looks fantastic! Now it simply needs a non-Scratch runtime and a Scratch-like frontend, and we'll finally be able to teach bootstrapping to the 5-10 year old demographic.

adazem009 has been developing an alternative runtime for Scratch written in C++ [1]. It even uses compilation to speed-up the performance of Scratch projects, perfect runtime for goboscript projects.

[1]: https://github.com/scratchcpp/libscratchcpp

Re: Show HN: Goboscript, text-based programming language, compiles to Scratch

#40

I love teaching Scratch to kids. Some years ago, I used to do "CoderDojo", which is like a hobby club where kids can learn programming. Some kids go to soccer, others to art academy — and these kids learn programming. Super cool to teach. However, most kids get stuck after they master Scratch. Especially kids around the age of 8–10. They learn Scratch. It's awesome. They make some advanced games and really get the ha…

I've done some research on this. I've asked classrooms of kids the words they would use to describe programming. When they are young in elementary school, the are taught Scratch, and describe programming as fun, exciting, challenging, favorite activity, something they look forward to.

Then I surveyed older kids, when they get to middle school and they transition immediately from scratch to Python and Java using VS Code. The words students use to describe programming take a dark turn: hard, frustrating, scary, not for me, are the top sentients. Programming starts up there next to recess in terms of K-6 approval rating, but plummets to to math class status in just a few years.

I attribute the change to language a tool design. This change in sentiment happens exactly when they are taken from tools designed for kids and forced to use tools designed for professional programmers. There's a chasm between Scratch and "real" programming languages. As lauded as Python is for being a good beginner or learning language, it does not fill that gap. In fact, it's part of the problem -- people believing it's a good enough first language prevents other perhaps better suited languages from being adopted. It may be a good language for dev-brained individuals, but for other people they can get discouraged very easily by it and the tooling ecosystem. I teach graduate students who find it perplexing, so middle school students don't stand a chance.

Post reply on HN