Stream: ideas

Topic: Pythonic Platform Perspective


view this post on Zulip jan kili (Aug 01 2022 at 16:00):

As a high-level programmer, I've never learned Rust or Zig, and I've avoided C* langs after graduating from university. From my perspective, for most of my Roc apps, I see Roc's platforms as much "under the hood" as Python's use of C. There are alternative Python interpreters/runtimes/whatever (one time I had to use Jython for something), but that reality/choice was always an implementation detail, an underpinning, and a means to an end. I definitely see platform languages as more core to Roc's ecosystem than interpreter languages to Python's, but I just want to share this perspective that I expect many general-purpose Roc app developers will have. I don't know if the Roc team plans to support or endorse a Pythonic amount of low-level ignorance, but I selfishly hope that we do :)

view this post on Zulip jan kili (Aug 01 2022 at 16:03):

I hope that Roc becomes subjectively superior to Python in every way, so any Python script/app can be upgraded to a Roc app for performance, cleanliness, and portability.

view this post on Zulip jan kili (Aug 01 2022 at 16:05):

I hope that Roc becomes a good choice for someone's first language, as it can deliver great power while hiding the corresponding complexities.

view this post on Zulip jan kili (Aug 01 2022 at 16:06):

(I don't know Lua, but I think all of the above applies with s/Python/Lua/g)

view this post on Zulip jan kili (Aug 01 2022 at 16:09):

For example, I'd prefer to write a web scraper in Roc than in Python, and when I'm picking a Roc platform for that, I don't care what language it's written in - I only care what networking and I/O features it has.

view this post on Zulip jan kili (Aug 01 2022 at 16:12):

The same goes for a text-based adventure game.

view this post on Zulip jan kili (Aug 01 2022 at 16:13):

In order to make that app development experience as accessible as Python, though, well need to automate/boilerplate/hide platform concerns from app developers as much as possible.

view this post on Zulip Anton (Aug 01 2022 at 16:14):

I think we all agree that we don't want to bother roc users with any more under-the-hood platform stuff than necessary.

view this post on Zulip Brendan Hansknecht (Aug 01 2022 at 16:17):

I assume like with python, you will be able to opt into a lot of it, but for common platforms and for cases where it isn't significant for performance, the default will be this ability for ignorance if wanted.

view this post on Zulip Brendan Hansknecht (Aug 01 2022 at 16:17):

But for the python users like me that sometimes convert projects from python to cython to more c++ than python, that path should still be viable.

view this post on Zulip jan kili (Aug 01 2022 at 16:20):

Absolutely. I actually forgot that Cython and CPython were two different things - another example of safe ignorance :laughing:

view this post on Zulip Brendan Hansknecht (Aug 01 2022 at 16:25):

Yeah, Cython: translate python to C and compiles that
CPython: the standard python interpreter written in C


Last updated: Jun 16 2026 at 16:19 UTC