News for hackers. Stuff that matters.
Re:Toit v2.0.0 by thomascountz on Tuesday November 03, 2026 @02:49AM (#50349241)

   Toit is a language for writing scripts on your computer and applications on your ESP32. A readable syntax, an efficient runtime, and tools that work together.

   Free and open source. Maintained by volunteers.
Re:Toit v2.0.0 by skrebbel on Tuesday November 03, 2026 @02:53AM (#50349258)
Even after reading that (and more of the homepage) I have no idea what this is.
Re:Toit v2.0.0 by harshreality on Tuesday November 03, 2026 @03:04AM (#50349318)
The docs -> "get started" page explains it.
Re:Toit v2.0.0 by self on Tuesday November 03, 2026 @04:38AM (#50349904)
Think of it as a runtime + scheduler that you deploy programs to ESP32 devices. It gives you the ability to run multiple programs simultaneously (with isolation) and remote updates. The language compiles to bytecode; the developers have lots of experience writing VMs for constrained devices; see https://www.theregister.com/software/2004/07/27/forgotten-la... for something that predates V8 and Dart.
Re:Toit v2.0.0 by Rohansi on Tuesday November 03, 2026 @06:02AM (#50350447)
You get almost all of that with the more common language options too (MicroPython, NodeMCU/Lua, Espruino/JS). What makes this custom language better?
Re:Toit v2.0.0 by floitsch on Tuesday November 03, 2026 @06:14AM (#50350542)
We looked at these when we started. The problem with them is that they weren't designed with constrained resources in mind and it shows. For example, objects are hash tables and method calls are thus expensive. An obligatory top level execution makes startup slow, ...

If you have a bigger machine you can optimize some of this (V8), but these optimizations typically need memory and/or a JIT. (And Python struggles to optimize even on stronger machines).

By starting from scratch (with what we learned from V8 and Dart) you can design something that feels similar but is much cleaner and faster to run.

Re:Toit v2.0.0 by vanderZwan on Tuesday November 03, 2026 @06:20AM (#50350598)
Tangent: what an appropriate username :)
Re:Toit v2.0.0 by jacobgorm on Tuesday November 03, 2026 @02:53AM (#50349259)
The people behind Toit are the original people behind the V8 VM in Chrome. They know their stuff.
Re:Toit v2.0.0 by MrBuddyCasino on Tuesday November 03, 2026 @02:59AM (#50349295)
They should write this prominently on their website. It doesn’t radiate trustworthiness/substance/reputation. Also performance and resource requirements should be prominent when targets are MCUs.
Re:Toit v2.0.0 by Imustaskforhelp on Tuesday November 03, 2026 @03:18AM (#50349410)
Also co-founding Dart. They definitely know their stuff.
Re:Toit v2.0.0 by jimbob45 on Tuesday November 03, 2026 @04:11AM (#50349734)
Dart should have enjoyed the popularity that TypeScript received. Tough to compete with Hejlsberg though.
Re:Toit v2.0.0 by latexr on Tuesday November 03, 2026 @05:15AM (#50350116)
I may be misremembering, but my recollection is that Dart was written off in large part because of Google. Distrust with them was already high as they were abusing their dominance with things like AMP, and people felt it was a bad idea to give them even more control over the web.
Re:Toit v2.0.0 by vanderZwan on Tuesday November 03, 2026 @06:40AM (#50350744)
Yeah, but Lars Bak isn't exactly a nobody when it comes to computer science either. Although I guess Bak is more famous for the implementation of programming languages than their design.

Aside: funny how Dart and TS both have Danish creators.

https://en.wikipedia.org/wiki/Anders_Hejlsberg

https://en.wikipedia.org/wiki/Lars_Bak_(computer_programmer)

Re:Toit v2.0.0 by pjmlp on Tuesday November 03, 2026 @06:46AM (#50350799)
Google politics, Dart is only around thanks to AdWords team, and Flutter.

Jetpack Compose was created by Android team exactly as counter reaction to Flutter.

Go got lucky with their internal advocacy, and the push to rewrite Kubernetes from Java into Go.

Google isn't exactly known for great programming language design, contrary to runtime implementations.

Re:Toit v2.0.0 by pjmlp on Tuesday November 03, 2026 @06:46AM (#50350793)
Dart v1.0, they had nothing to do with Dart v2.0, and the change in language semantics was the main reason folks like Gilad Bracha left the team.
Re:Toit v2.0.0 by vanderZwan on Tuesday November 03, 2026 @03:19AM (#50349417)
Those were it's creators, are they still involved after the company folded?

Because if not, that might explain the lack of marketing around it.

Re:Toit v2.0.0 by floitsch on Tuesday November 03, 2026 @03:28AM (#50349484)
Kasper and I are still working on it.
Re:Toit v2.0.0 by vanderZwan on Tuesday November 03, 2026 @06:34AM (#50350709)
Very happy to hear that! I don't work in embedded but really like the language design of Toit. Hope it'll get a second chance, it feels like it flew under the radar a bit when it came out.
Re:Toit v2.0.0 by maxloh on Tuesday November 03, 2026 @02:58AM (#50349289)
Here's a beginner tutorial for the language: https://docs.toit.io/language/toitversus

Nice syntax. It looks like how we'd design programming if C had never existed.

Re:Toit v2.0.0 by draven on Tuesday November 03, 2026 @03:12AM (#50349368)
The wikipedia page https://en.wikipedia.org/wiki/Toit is short but still gives a lot of context.
Re:Toit v2.0.0 by ilvez on Tuesday November 03, 2026 @03:31AM (#50349499)
Just a joking side note: switch n to t in the URL and you get article for food in Estonian: https://et.wikipedia.org/wiki/Toit
Re:Toit v2.0.0 by no_time on Tuesday November 03, 2026 @03:46AM (#50349578)
>In February 2019, the company raised DKK 23 million (approximately US$3.5 million) in seed funding from Swedish venture capital firm Creandum.[4] Early versions required cloud registration to deploy code to devices.[5]

DNS blackhole the domain and run.

Re:Toit v2.0.0 by unsnap_biceps on Tuesday November 03, 2026 @04:03AM (#50349694)
> The commercial cloud offering was later discontinued. Development of fleet-management tooling continued through an open-source project called Artemis, built on Supabase and PostgreSQL, which users self-host.[8]

> According to Denmark's Central Business Register, Toitware ApS ceased operating in 2024.[9] Development of the language continues as a community project on GitHub.

Seems unlikely to be a bait and switch at this point

Re:Toit v2.0.0 by no_time on Tuesday November 03, 2026 @04:16AM (#50349763)
whoops, black and white thinking burns me once more.
Re:Toit v2.0.0 by mi_lk on Tuesday November 03, 2026 @03:15AM (#50349391)
Who is using this? The company originally behind it has shut down
Re:Toit v2.0.0 by qweqwe14 on Tuesday November 03, 2026 @05:44AM (#50350319)
No one, it's just a toy language
Re:Toit v2.0.0 by floitsch on Tuesday November 03, 2026 @06:21AM (#50350611)
I think "toy language" isn't really fair. Toit has been developed for 7 years, some of which with multiple engineers working on it full time. (The blog post says 4 years, but that's just for the v2.0.0 development).

Toit doesn't have a lot of users, but it is used in production (for example by Consibio) and is definitely developed for production environments.

Re:Toit v2.0.0 by benrutter on Tuesday November 03, 2026 @03:55AM (#50349641)
Looks interesting! I can't tell really from the docs the untended use case though. It says "scripts", but also " applications".

Most importantly though (/s), is this toit as in "roof" in French, toit as in "to it", or otherwise?

Re:Toit v2.0.0 by floitsch on Tuesday November 03, 2026 @04:18AM (#50349774)
It's from Austin Powers.

"toit like a tiger"

https://youtu.be/gu31VyXlTzo

Re:Toit v2.0.0 by benrutter on Tuesday November 03, 2026 @05:18AM (#50350134)
[delayed]
Re:Toit v2.0.0 by mi_lk on Tuesday November 03, 2026 @07:06AM (#50350967)
now we're talking.
Re:Toit v2.0.0 by vim-guru on Tuesday November 03, 2026 @04:01AM (#50349679)
Looks quite nice
Re:Toit v2.0.0 by Hamuko on Tuesday November 03, 2026 @04:07AM (#50349711)
Is there some kind of an advertising blurb for why you’d want to use Toit, especially for scripting? I think the only thing I saw was “a readable language”, but I’d probably consider Python more readable than it judging from the examples.
Re:Toit v2.0.0 by ricardobeat on Tuesday November 03, 2026 @04:58AM (#50350038)
Good luck running (micro)python on an ESP32.
Re:Toit v2.0.0 by qweqwe14 on Tuesday November 03, 2026 @05:43AM (#50350316)
Lua exists :)
Re:Toit v2.0.0 by floitsch on Tuesday November 03, 2026 @07:47AM (#50351363)
A few more bullet points to encourage readers to have a look at Toit:

- Faster than Python. Depending on the benchmark up to x10.

- Can be compiled to executables. Currently `-o` just takes an interpreter and attaches the bytecodes, but Kasper also started experimenting with native output.

- Cleaner base. Objects aren't just hashtables. This can be seen as a downside as well (making the language less flexible), but in my book it's a win.

- The `--named=value` syntax is just a winner :)

Re:Toit v2.0.0 by mkl on Tuesday November 03, 2026 @08:08AM (#50351531)
> The `--named=value` syntax is just a winner

The "--" seems so unnecessary though. Wouldn't "name=" be sufficient to signal a named parameter? Or maybe Toit has expressions that use "=".

Re:Toit v2.0.0 by floitsch on Tuesday November 03, 2026 @08:18AM (#50351623)
We probably could have made it work without the `--`. Coming from Posix, the `--` feels natural, and it also allows for code completion.
Re:Toit v2.0.0 by heavensteeth on Tuesday November 03, 2026 @05:17AM (#50350124)
This seems very interesting. It almost looks/feels like Pythonic Go.

There's already another syntax example in the thread, but I want to point out the weirdest syntax I've seen yet: positional arguments look like posix command arguments:

   greet name/string="World" --greeting/string="Hello" -> string:
     return "$greeting $name"

   main:
     print (greet)                         // Prints Hello World.
     print (greet "Ada" --greeting="Hi")    // Prints Hi Ada.
Re:Toit v2.0.0 by kasperl on Tuesday November 03, 2026 @05:31AM (#50350236)
Arguments like --greeting are the named arguments:

https://docs.toit.io/language/beginner/lists-and-functions/#...

The name argument is positional here.

Re:Toit v2.0.0 by IanCal on Tuesday November 03, 2026 @07:08AM (#50350982)
Feedback for the doc writers on this then, the phrase in my head of "the name of the named argument is greeting, name is not named" is a little awkward.
Re:Toit v2.0.0 by kasperl on Tuesday November 03, 2026 @08:43AM (#50351892)
:)
Re:Toit v2.0.0 by _s_a_m_ on Tuesday November 03, 2026 @05:37AM (#50350266)
The last thing this planet needs a new programming language
Re:Toit v2.0.0 by close2 on Tuesday November 03, 2026 @06:56AM (#50350880)
I have used toit in a lot of my projects. It is a really nice language and so much cleaner than all the alternatives I have tried (Arduino, Python, Lua).

The tools just work and I got used to the language really quickly.

I did hate that it was bytecode. It just felt wrong to run bytecode on an ESP32. OTOH it just works, and I have never noticed any performance problems.

My latest project is a controller for a slave-clock: https://gitlab.com/close2/nebenuhr-toit (There is also a Garmin repository that allows me to control the clock using my Garmin watch.)

Disclaimer: I had to use toit (floitsch is my brother), but it really is a nice language and development environment.

[Edit: typos..]

Re:Toit v2.0.0 by kasperl on Tuesday November 03, 2026 @07:18AM (#50351078)
I just started working on a compile-to-native approach you might appreciate :)
Re:Toit v2.0.0 by mcphage on Tuesday November 03, 2026 @07:51AM (#50351407)
Oh, good—I've been looking for a Round one for years.
Re:Toit v2.0.0 by dofm on Tuesday November 03, 2026 @07:54AM (#50351429)
Even I (as a sort of grudging cynic) now find myself thinking in these terms:

Is this a language that an LLM can write well?

Especially a small LLM, given the scripting and friendly IoT focus, where it might be useful for a home assistant to be able to write in it.

A packageable scripting language with fewer footguns that has LLM-friendly features feels like it probably has a place in the world.

Re:Toit v2.0.0 by floitsch on Tuesday November 03, 2026 @08:10AM (#50351556)
It's a good point.

LLMs have not been trained on Toit code as much as they have on Python or JS. No question about that. Without the Toit skills (https://github.com/toitlang/ai-instructions) LLMs used to be really bad. (They might be better now, but I never bothered to remove the skill files). From that point of view, Toit isn't a good choice.

On the other hand, Toit provides containers and a fast refresh-cycle. Both are godsends for AI agents: the containers make it so that the agent doesn't accidentally bring down the whole system when there is a bug, and the refresh cycle makes iterating on programs much faster. (Something I find agents to be really good at).

Fwiw, there isn't any clever metaprogramming in Toit.

Re:Toit v2.0.0 by dofm on Tuesday November 03, 2026 @08:35AM (#50351813)
Thank you for your reply — I think it sounds like you're in a good place here.

I still definitely wish this wasn't something we had to care about still, but for a while at least I suspect it is.

I am a small/open-weights LLM enthusiast so at some point I will test this a bit more, because I tend to use LLMs close to bare-metal where prompts and skills are concerned, due to limited context. (In general I think post-training of smaller coding-oriented models like Muse Glimmer and Qwen has made long system prompts and extensive skill files far less significantly important)

Muse Glimmer (the model that happens to be running right now on my desk!) seems to have some knowledge of Toit without searching the web.

e.g. I asked it: "Could you write an embedded webserver that blinks the LED the number of times specified in a GET query string parameter?"

And what it wrote without access to documentation appears to be plausible (from what its human overlord can see from the documentation at least).

Re:Toit v2.0.0 by AbuAssar on Tuesday November 03, 2026 @08:15AM (#50351597)
I wish any product new release announcement include a brief introduction about the product itself...