Hacker News new | past | comments | ask | show | jobs | submit login

Yes, but it's not an exclusive design goal. Other goals are listed on that page and you can see how design tradeoffs happened. You don't prioritize simplicity over all and make concurrency a core pillar!

And certainly I think they pulled it off. Go through the lessons here to see what I mean in nothing stands out as beginner unfriendly here, but it's also not black boxing much in the way Python would. https://dev.epicgames.com/documentation/en-us/uefn/learn-the...




> And make concurrency a core pillar!

For such a core pillar they are extremely light on details. All you can see in the docs is they basically have:

- green threads (maybe? no idea, no details on how async is executed)

- "async calls" are blocking. Literally the equivalent of `x = await y()`

- to have non-blocking calls you can use `Task = spawn(function)`, and then can optionally wait on it with `Task.await()`

- there are a few syntax sugars on top (like `race` aka `Promise.race`). And some of them make no sense (`branch` is literally `spawn`, why does it even exist?)

That... is not a "core pillar". It's a lazy minimal bare-bones implementation of decades-old ideas.

Edit. Compare with a language where it actually is a core pillar: https://erlang.org/download/armstrong_thesis_2003.pdf


Disagreeing with some of the decisions they've made in regards to concurrency doesn't negate it from being a core pillar. Neither does wanting more information on why they've made the decisions that they have. This is common sense.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: