Hacker News new | ask | show | jobs
by armitron 3861 days ago
Zen of Python? This is funny.

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?

2 comments

You're so right. Luckily, we have php.

the Christmas joke starts from: http://python-history.blogspot.com/2009/01/brief-timeline-of... and https://www.python.org/doc/essays/foreword/

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.

So it really surprises me and stuff.

you are so wrong that's not funny
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 :-)
Can you please elaborate more on "this feels really weird in Python"?