Python is a terribly structured language, full of atrocities
like unicode handling, decorators/metaclasses, object system, crippled lambda, braindead "functional" style, idiotic module system (hot code updates yay! oh no it doesn't really work!)
It started out as a Christmas hack and it hasn't really evolved much from then on. The same crap in the core, just more sugar on top. A language aimed at the lowest common denominator, designed to make you think "programming is easy!" but ill-suited to solving any sort of hard problem in a graceful fashion.
Why would anyone want _any_ of that on the Erlang VM?
Thank you Brian! and the roman empire then for Bristmas, the terribly braindead idiotic system yada, yada... argument it's that I can't really see fair throw any useful kind of lens.
I don't know, I'm starting to run into a lot of difficulties writing a system than manages lots of different processes; I've ended up splitting a lot of these things into APIs now that have a rabbit a between them and the thing looks a lot better.
Language level integrated and robust process management/OTP features really are great; you only need to look at something like twisted to see that Python is not a perfect fit for managing this stuff and I'll play with other languages (probably Elixir right now) to see what I can learn.
Maybe the original poster is missing the point that having Python ideas added to a functional language would help? Or maybe I should just learn functional programming properly!
That's probably a mater of perspective, you and a lot of people seems to be building a REST API splitting functionality into independent services, and is great and a good thing, but it means the architecture needs to have complexity and failures in the right mind/context.
It's not right to bring just twisted to the discussion, I can give you tornado as completely the opposite, it's beautiful and simple and plays great with the multi-process libraries and asyncio, Python 3, etc.
The concurrency models are just different and it's probably nothing wrong with that, single threaded processing using coroutines inside and talking with other processes by message passing using zmq and not rabbit could be monitored with supervisor another great python tool... they are just different tools for different jobs that in fact work in team better that for each own, Python + Erlang.
My point is that is like comparing a mango with a sunfruit, and again there's nothing wrong with the erlang syntax.
Btw I know rabbit it's build on Erlang but again I think it's not a good Erlang example, you could used cowboy as a better OTP builded Erlang application, and again just a mater of perspective.
Yeah, suppose Twisted is stacking things in favour of my argument a bit much 🤓Tornado is better but it still has it's "this feels really weird in Python" moments. Just how I think about things I guess :-)
I'm not a erlang expert but the use of the case statement is not considered a bad practice? or was the if clause instead? and it seems to me that all is kind of glued inside some sort of a try/catch defensive programming style that the really zen of erlang is completely against.
Personally I don't see the need of use every tool in the same way, there is nothing wrong with the erlang syntax.
Why does everyone keep trying to replace Erlang's syntax? The syntax pretty closely reflects the feature set, unless you're significantly expanding that why bother, you're only going make it worse.
If "everyone" includes Elixir, I'd argue otherwise. While syntax is a part of Elixir, them much bigger deal is the addition of Macros and Protocols. I'd also weakly suggest that while the pipe operator is just syntax, it changes idiomatic usage drastically.
Python is a terribly structured language, full of atrocities like unicode handling, decorators/metaclasses, object system, crippled lambda, braindead "functional" style, idiotic module system (hot code updates yay! oh no it doesn't really work!)
It started out as a Christmas hack and it hasn't really evolved much from then on. The same crap in the core, just more sugar on top. A language aimed at the lowest common denominator, designed to make you think "programming is easy!" but ill-suited to solving any sort of hard problem in a graceful fashion.
Why would anyone want _any_ of that on the Erlang VM?