Hacker News new | ask | show | jobs
by pansa2 684 days ago
> Don't these things take a massive amount of effort?

Yes, RustPython has been in development since at least 2018.

> Wouldn't this be making waves much earlier in its development process?

It's been posted on HN several times before: https://hn.algolia.com/?q=rustpython

1 comments

Ah ok, it's at least comforting to know that I missed it, rather than there are superhuman developers that crank these projects out in an afternoon.
I’d wager they don’t hit major spread from opinion leaders and upvotes in social media until they are mostly usable.

It’s “I’m making a Python interpreter in rust,” claims emitted into the void with increasing engagement as it grows in usefulness.

Edit: and you can even see that in the HN search above. Every year it’s had a little more functionality and a little more engagement than the last.

Implementing a interpreter like that isn't as hard as you probably think as the standard library does a lot of the heavy lifting once you have the basics.

It's still a lot of work but the only need to make the "built in" parts of the language and that's a lot smaller subset.

Example of what im talking about: https://github.com/RustPython/RustPython/pull/3858

I've had some fun converting some of my Python scripts into Rust and it's really not that difficult with the help of modern tools once you wrap your head around Rust. Python is too huge to crank out in an afternoon, for sure, but on the human level, the translation from python to something compiled is a well trod path.
The one time cost of learning borrow rules and traits is steep, but the lifetime savings of cargo vs PIP probably hits break even after a few months.
Also if evolution has shown us anything we will all one day evolve into crab. Crab is the final form (Carcinisation).
Not to mention the change in rate of runtime errors.
I cranked out a Lua interpreter implemented in Rust in a week or two.

It only ran about 3x slower than PUC Lua... And never collected garbage either :P