Re:Efene: an Erlang VM language that embraces the Zen of Python
by armitron on Friday November 27, 2015 @06:52PM
(#10639415)
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?
Re:Efene: an Erlang VM language that embraces the Zen of Python
by badwolf93 on Saturday November 28, 2015 @10:18AM
(#10641245)
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.
Re:Efene: an Erlang VM language that embraces the Zen of Python
by andy_ppp on Friday November 27, 2015 @07:58PM
(#10639576)
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!
Re:Efene: an Erlang VM language that embraces the Zen of Python
by badwolf93 on Friday November 27, 2015 @08:43PM
(#10639671)
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.
Re:Efene: an Erlang VM language that embraces the Zen of Python
by andy_ppp on Saturday November 28, 2015 @06:53AM
(#10640830)
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 :-)
Re:Efene: an Erlang VM language that embraces the Zen of Python
by badwolf93 on Friday November 27, 2015 @07:28PM
(#10639498)
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.
Re:Efene: an Erlang VM language that embraces the Zen of Python
by wcummings on Saturday November 28, 2015 @01:26AM
(#10640255)
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.
Re:Efene: an Erlang VM language that embraces the Zen of Python
by phamilton on Saturday November 28, 2015 @02:02AM
(#10640307)
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?
the Christmas joke starts from: http://python-history.blogspot.com/2009/01/brief-timeline-of... and https://www.python.org/doc/essays/foreword/
So it really surprises me and stuff.
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!
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.
Personally I don't see the need of use every tool in the same way, there is nothing wrong with the erlang syntax.
Only by people who see the world as black and white. There is absolutely nothing wrong with case.
All the @public at the end of the function headers really hurt the eye.
I think there's a reason 90%+ of the languages has either it above the declaration of at the beginning of the line.