Hacker News new | ask | show | jobs
by parnor 3570 days ago
An 'interpreter per thread' [...] your memory foot print [...] limits the number of concurrent requests the server can handle

So, in this situation, it would be useful for the interpreter to be lightweight in terms of RAM usage as well as code size. Presumably, though, it is still not necessary to be as frugal as MicroPython, which can get by with as little as 8KB of RAM and is commonly used with 128KB [1]?

A lot of people who use python would expect your implementation to act like the mainline. [...] it would almost be better to create a new language than to always be explaining "no, that functionality doesn't work" [...] just don't call it [Python]

In order to work within tens of kilobytes of RAM, MicroPython does some things differently from CPython [2]. I wonder if its developers spend much time explaining the differences between the two implementations? Or do users expect differences in the language runtimes because of the obvious differences in the hardware on which they run?

On the other hand, I imagine MicroPython would have significantly fewer users if it were advertised as "a Python-like language" rather than as "an implementation of Python".

[1] https://github.com/micropython/micropython/wiki/FAQ

[2] https://github.com/micropython/micropython/wiki/Differences

1 comments

Gave this some thought, pretty sure your conjecture is correct about number of users, and you don't want to waste the effort (it will be large). My only suggestion is to weigh the fact that cpython is embeddable, if a bit large, and consider how that would cannabalize uptake of your effort. Whatever you decide, good luck, and have fun with it!