Hacker News new | ask | show | jobs
by avbor 3430 days ago
Moving from Python to Go seems to be the thing that happens once you need your Python to be more performant.
2 comments

This is what happens when you follow the fashion driven development merry go round:

https://docs.google.com/presentation/d/1LO_WI3N-3p2Wp9PDWyv5...

Re-implementing the hot path (which is likely to be a small piece of code) in a non-garbage collected language (C or ideally Rust) is a much more sane approach than the big bang rewrite:

https://blog.sentry.io/2016/10/19/fixing-python-performance-...

Same thing for ruby and perl also.

I would have advocated to move to pony instead, since it is a much cleaner and much faster language than Go, and has guaranteed deadlock and race safety, unlike Go or rust. It also needs much less memory.

Pony is in alpha and seems to be overcomplicated at first glance
Overcomplicated?

Compare that to manual locking required for rust concurrency or c++ concurrency. Or the copying overhead you get with Go, which can still deadlock.

pony does not need any locks, just proper types. And it can copy or share state in threads. And it has nominal or structural types. Old-style inherited or new mixin OO.

It is far advanced over rust. Just distributed actors as in Erlang are not there yet.

Pony doesn't feel alpha. I've spoken a little about it before [0].

The Actor model might feel verbose, but it gives you amazing concurrency, and with Pony's compiler, safety.

Pony is fast, concurrent by default, and type safe. That's amazing.

[0] https://news.ycombinator.com/item?id=13233607