<story><title>Blech: A language for developing reactive, real-time critical embedded software</title><url>https://www.blech-lang.org/</url></story><parent_chain></parent_chain><comment><author>girvo</author><text>Would be interesting to see how to use this with FreeRTOS. We&amp;#x27;re using Nim at work for our firmware on top of the ESP32-S3, which has been pretty lovely, but even then there are some challenges with matching how FreeRTOS wants us to work vs how doing it in Nim should be done.&lt;p&gt;The biggest challenge in embedded programming languages is this tendency for languages to &amp;quot;rebuild the world&amp;quot; rather than work with what we already have, and thats just a non-starter for most of us as the amount of IDFs, HALs, drivers and libraries out there are too numerous to throw away.&lt;p&gt;But the flip side of that, is they are typically all &lt;i&gt;very&lt;/i&gt; C-focused, and so even in a language with really nice binding of C functions (Nim, Blech too from the looks of it), you end up having to contort your Nice Language code into a C simulation most of the time, which really sucks. And don&amp;#x27;t get me started on C++ libraries&amp;#x2F;drivers...&lt;p&gt;I wish I knew what the answer was to this. Nim gets pretty close in my experience, but even it has rough edges for this stuff. Dunno, its a hard problem -- Blech&amp;#x27;s binding syntax looks decent and the rest of it&amp;#x27;s features look fantastic, so I&amp;#x27;d love to be able to reach for it, but C&amp;#x2F;C++&amp;#x27;s continued dominance and body of work makes my head spin when I think about the task all these languages have ahead of them if they are to get real traction in industry.</text></comment>
<story><title>Blech: A language for developing reactive, real-time critical embedded software</title><url>https://www.blech-lang.org/</url></story><parent_chain></parent_chain><comment><author>elromulous</author><text>From the docs:
Blech is a German word and roughly translates as bare metal. As its name suggests, a Blech program can run on pretty much anything:&lt;p&gt;* directly on “the Blech” in an embedded device,&lt;p&gt;* on top of a realtime OS,&lt;p&gt;* as a safety-critical component integrated via some middleware,&lt;p&gt;* in combination with a simulation model.</text></comment>