frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

Open in hackernews

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

https://github.com/aspizu/goboscript
94•aspizu•4h ago
goboscript is a text-based programming language which compiles to Scratch. It allows you to write Scratch projects in text, and compile it into a .sb3 file - which can be opened in the Scratch editor, TurboWarp or be uploaded to the Scratch website.

goboscript allows you to create advanced Scratch projects with ease, you can use any text editor, use a version control system such as git. You can refactor your code using search and replace. Text code can be copy pasted, which allows you to easily reuse code or share it with others. goboscript syntax is concise and easy to read.

goboscript allows you to integrate external tooling and workflows, such as using a script to generate costumes for a text rendering engine. Or loading in images into lists.

goboscript has a powerful macro system - similar to Rust's macro system. This allows you to write macros to generate code.

goboscript is more than just an 1:1 mapping of Scratch blocks to text, it also has additional features like local variables for procedures (custom blocks).

goboscript also performs optimizations, detects problems and unused code.

Comments

arjvik•4h ago
This is beautiful, and brings back so much nostalgia!
arnavsurve•3h ago
This is hilarious yet awe inspiring at the same time. Great work
web3aj•3h ago
This is hilarious because it defeats the purpose of scratch.
sriram_malhar•3h ago
On the contrary. I think it is an excellent bridge between visual and text-oriented programming. It also introduces concepts we take for granted elsewhere: return values from functions, text-based macro substitution, local variables, structs and enums.
bvrmn•1h ago
Tell me more about scratch's purpose, please. I believe it's to teach programming. GoboScript seems a natural extension of already conventional environment to more "real" textual programming tasks.
japanuspus•3h ago
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 can leverage the rust toolchain and just suggest something along `cargo install --git ...` [0], without even publishing as a crate.

Apologies if this comes across as entitled: I just want to communicate that a single README-sentence on top of the work you already put into this would make it significantly more accessible.

[0]: https://doc.rust-lang.org/cargo/commands/cargo-install.html

AlexanderDhoore•3h ago
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 hang of it.

Then they ask to do something more — some “real programming.” And that's where the hurdles start to pop up. First problem: my kids don't speak English, so most documentation and tutorials are out of reach. Second problem: suddenly they need to learn everything about computers — source files, graphics, networking... This is too big a hurdle for them to take. Third problem: text-based programming. Most of them literally can't type on a keyboard properly. Text is also much less fun than visual programming.

What I've always wondered — and this project reminds me of it — is: can we make the transition smoother? Stay within the Scratch ecosystem, which they know, but start introducing extra concepts step by step, without the big jump.

GoboScript introduces "text-based programming" as a first step, while staying within the Scratch world. I would have liked it more if we could teach the kids a real-world programming language, like Python or JavaScript — because then they’re moving toward "real programming" step by step.

The next step would be: introduce other computer concepts like file systems or networking.

I would love to build this myself. Alas, no time. Maybe one day.

shakna•3h ago
Would something like Blockly [0] or MakeCode [1] fill that gap?

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

[1] https://makecode.microbit.org/

femto•3h ago
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, ...

brobdingnagians•2h ago
I know this is probably a bit more advanced, but this suggestion reminds me of Blueprints w/ magic nodes in Unreal Engine. There is a plugin for Magic Nodes (https://forums.unrealengine.com/t/magic-nodes/121220) where you can enter C++ into a blueprint node that integrates into the blueprint system. Similar kind of UI could work well
liotier•1h ago
> 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 system from degenerating too fast but, the moment code goes in that is not visually represented in the environment's visual paradigm, coherence goes downhill fast and one starts longing for properly managed scripts.

geokon•31m ago
This is done rather well in TouchDesigner
gibolt•2h ago
This is how I learned a long time ago with Game Maker. Everything was Gui based, but you could also add code blocks to do more powerful things.

Eventually, most things I built were nothing but code blocks.

paavope•2h ago
I had pretty much the exact same experience with Game Maker too. In retrospect, feels like a very powerful pedagogical tool. Even when I wasn't really trying to "learn coding" but rather I just wanted to make some games, I ended up learning to code

The fact that _most_ things could be done with drag-and-drop, but for some features you had to drop down to scripting, served as a really nice and gentle stepping stone to writing code.

byearthithatius•2h ago
I loved learning and then mentoring at CoderDojos. Incredible meetups where they really let kids learn in their own way with guidance of more experienced coders. Very fun and I never had a bad experience. The ones I went to were at University of Minnesota.
latexr•2h ago
Maybe something like Hedy will work better for you, instead of Scratch.

https://hedy.org/

https://youtube.com/watch?v=ztdxlkmxpIQ

felixr•2h ago
For a textual teaching language check out https://hedy.org It is multilingual (not just English) and introduces syntax gradually
tc4v•1h ago
You use case is exactly what hedy tackles, your experience is really similar to what the author of Hedy tells in conference and interviews.
_glass•1h ago
I teach programming to designers and architects at the local university. We're using Processing quite successfully, because it skips a lot of steps. My daughters are too young and are still doing Scratch (with the great micro:bit). But I think next would be Processing, or Arduino with Micropython. But yes, typing is a problem. My older daughter inputs almost all her text via voice input. At work we're doing a lot of low code for new architectures. I think agentic low code tools for kids would be nice.
chrka•52m ago
https://easylang.online/ide/
PullJosh•31m ago
The solution I built for this is Leopard. It is a Scratch → JavaScript converter. You can take an existing Scratch project and convert it to JavaScript code and then keep working, or use the Leopard library to create a new project from (ahem) scratch, following all the same conventions as a Scratch project.

Check it out! https://leopardjs.com/

sebstefan•30m ago
As a kid who didn't speak english I used the AutoIT language - not related to AutoHotKey

It's a got a fully localized offline documentation embedded in a plug-and-play IDE designed to always compile & run your code with a single F5 press, no configuration needed

The language itself is fully fledged but mostly revolves around things that kids already know.

The tutorial makes you leave the CLI stage by chapter 5, because when kids want to make software they want to make UIs, they've never used CLIs to do fun things before.

It's also centered around automating desktop tasks. Moving the mouse, typing keystrokes, downloading or opening web pages, parsing the source, identifying windows on screen, moving them around, reading pixels, playing sounds...

https://www.autoitscript.com/site/autoit/

notpushkin•5m ago
I loved AutoIT as a kid! And it was also fun playing around with stuff like https://www.perfectautomation.com/ (nice to see that it’s now freeware, and the newer replacement project is completely free / open source!).

But it was about the same time as I started digging around in Delphi 7, then discovered a RAD package pretty much exactly like Delphi, but with PHP instead (wild times), and as I was going down the webmaster route in parallel it was the thing I spent most of my days in. (That, and making bootleg Windows XP builds just for fun, of course.)

sriram_malhar•3h ago
I love it! It has features that I'd have liked Scratch to have, like return values from functions, local vars, structs etc.
ferriswil•2h ago
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.
nis251413•1h ago
Next step: create a visual programming language that compiles to goboscript.

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

https://github.com/aspizu/goboscript
94•aspizu•4h ago•26 comments

InventWood is about to mass-produce wood that's stronger than steel

https://techcrunch.com/2025/05/12/inventwood-is-about-to-mass-produce-wood-thats-stronger-than-steel/
107•LorenDB•21h ago•99 comments

Show HN: Every side project I've built since 2009

https://naeemnur.com/side-projects/
12•naeemnur•53m ago•0 comments

Seagate claims spinning disks beat SSDs on carbon footprint

https://blocksandfiles.com/2025/04/16/seagate-decarbonizing-data-report/
10•rbanffy•1h ago•5 comments

`This Printer company served you malware for months, called them false positives

https://www.neowin.net/news/this-printer-company-served-you-malware-for-months-and-dismissed-it-as-false-positives/
88•bundie•2d ago•32 comments

What does the end of mathematics look like?

https://www.awanderingmind.blog/posts/2025-05-18-what-does-the-end-of-mathematics-look-like.html
23•awanderingmind•2h ago•17 comments

New research reveals the strongest solar event ever detected, in 12350 BC

https://phys.org/news/2025-05-reveals-strongest-solar-event-bc.html
180•politelemon•3d ago•85 comments

Spaced repetition systems have gotten better

https://domenic.me/fsrs/
881•domenicd•22h ago•461 comments

Show HN: Sshsync – CLI tool to run shell commands across multiple remote servers

https://github.com/Blackmamoth/sshsync
19•blackmamoth•15h ago•24 comments

“There are people who can see and others who cannot even look”

https://worldhistory.substack.com/p/there-are-people-who-can-see-and
139•crescit_eundo•9h ago•23 comments

Ditching Obsidian and building my own

https://amberwilliams.io/blogs/building-my-own-pkms
344•williamsss•17h ago•388 comments

Emulator Debugging: Area 5150's Lake Effect

https://martypc.blogspot.com/2025/05/emulator-debugging-area-5150s-lake.html
3•rbanffy•1h ago•0 comments

Llama from scratch (2023)

https://blog.briankitano.com/llama-from-scratch/
40•sebg•4d ago•0 comments

Show HN: I modeled the Voynich Manuscript with SBERT to test for structure

https://github.com/brianmg/voynich-nlp-analysis
340•brig90•18h ago•102 comments

Layers All the Way Down: The Untold Story of Shader Compilation

https://moonside.games/posts/layers-all-the-way-down/
63•birdculture•7h ago•28 comments

Show HN: Job board aggregator for best paying remote SWE jobs in the U.S.

https://www.remoteswe.fyi
61•xitang•9h ago•42 comments

France Endorses UN Open Source Principles

https://social.numerique.gouv.fr/@codegouvfr/114529954373492878
464•bzg•11h ago•133 comments

Programming in Martin-Lof's Type Theory: An Introduction (1990)

https://www.cse.chalmers.se/research/group/logic/book/
15•todsacerdoti•2d ago•0 comments

$30 Homebrew Automated Blinds Opener

https://sifter.org/~simon/journal/20240718.html
259•busymom0•17h ago•116 comments

Charles Butler's the Feminine Monarchie, or the History of Bees (1634 Edition)

https://publicdomainreview.org/collection/history-of-bees/
3•diodorus•3d ago•0 comments

Font Activations: A Note on the Type

https://robhorning.substack.com/p/font-activations
36•prismatic•2d ago•0 comments

Spaced Repetition Memory System

https://notes.andymatuschak.org/Spaced_repetition_memory_system
224•gasull•18h ago•26 comments

What do wealthy people buy, that ordinary people know nothing about? (2015)

https://old.reddit.com/r/AskReddit/comments/2s9u0s/comment/cnnmca8/
180•Tomte•18h ago•293 comments

The Connoisseur of Desire

https://www.nybooks.com/articles/2025/05/29/the-connoisseur-of-desire-the-annotated-great-gatsby/
22•samclemens•2d ago•0 comments

K-Scale Labs: Open-source humanoid robots, built for developers

https://www.kscale.dev/
99•rbanffy•14h ago•45 comments

Show HN: Vaev – A browser engine built from scratch (It renders google.com)

https://github.com/skift-org/vaev
195•monax•16h ago•110 comments

Hyper Typing

https://pscanf.com/s/341/
85•azhenley•13h ago•59 comments

Show HN: A platform to find tech conferences, discounts, and ticket giveaways

https://www.tech.tickets/
74•danthebaker•2d ago•22 comments

Show HN: Python Simulator of David Deutsch’s “Constructor Theory of Time”

https://github.com/gvelesandro/constructor-theory-simulator
74•SandroG•13h ago•9 comments

Comparing Parallel Functional Array Languages: Programming and Performance

https://arxiv.org/abs/2505.08906
79•vok•2d ago•14 comments