Re:I built a hardware processor that runs Python
by IshKebab on Monday April 28, 2025 @01:04PM
(#43823614)
Very cool! Nobody who really wants simplicity and determinism is going to be using Python on a microcontroller though.
Re:I built a hardware processor that runs Python
by rangerelf on Monday April 28, 2025 @03:24PM
(#43825013)
That's funny, there's a huge community of people doing just that:
https://circuitpython.org/awesome
Re:I built a hardware processor that runs Python
by actionfromafar on Monday April 28, 2025 @01:18PM
(#43823769)
Hm, why not though. People managed to do it with tiny JVMs before, so why not a Python variant.
Re:I built a hardware processor that runs Python
by IshKebab on Monday April 28, 2025 @03:25PM
(#43825025)
Java is statically typed and a lot saner than Python, and JavaCard is a fairly restricted subset. Apparently real cards don't typically support garbage collection.
IMO JavaCard doesn't really make sense either. There's clearly space for another language here, though I suspect most people would much rather just use Rust than learn a new language.
Re:I built a hardware processor that runs Python
by actionfromafar on Monday April 28, 2025 @05:22PM
(#43826261)
That's fair, except a little reminder that for most people Rust is the new language. :)
You're right that dynamic typing makes high-frequency execution tricky, and modern OoO cores are incredibly good at hiding latencies. But PyXL isn't trying to replace general-purpose CPUs — it's designed for efficient, predictable execution in embedded and real-time systems, where simplicity and determinism matter more than absolute throughput. Most embedded cores (like ARM Cortex-M and simple RISC-V) are in-order too — and deliver huge value by focusing on predictability and power efficiency. That said, there’s room for smart optimizations even in a simple core — like limited lookahead on types, hazard detection, and other techniques to smooth execution paths. I think embedded and real-time represent the purest core of the architecture — and once that's solid, there's a lot of room to iterate upward for higher-end acceleration later.