On 2018-10-09, Paul Rubin <no.email@nospam.invalid> wrote: > If anyone cares, Eric Raymond posted a big rant saying > basically he's giving up on Python and porting a big program > he's working on to Go. Reasons he gives are
> performance (Go is 40x faster for his app) > memory footprint (high overhead of simple Python objects cause > his 64GB 16 core box to OOM on his data) As Stephen said, it's sort of silly not to be aware of those issues going in. > the GIL (15/16th of his CPUs are unused, of course there are > ways around that but I'm summarizing what he says even when I > don't fully agree), Channels are a big selling point of Go, no argument there. Using them right is considerably trickier than it appears at first, but they have good syntax and feel lightweight. > Unicode (he says Go's uniform use of UTF8 is better than > Python's bloaty codepoint lists), Go's system for character encoding is objectively worse, IMHO. Both Python and Go require you to decode to an internal unicode storage format on the way into your program, and to encode it again on the way out. But the internal storage formats are not equally usable. The internal storage format is UTF8 in Go, but it's regarded simply as bytes by most normal operations and functions. You must carefully use a different set of functions and operators to regard the bytes as unicode code-points. So Go makes it easy to do things incorrectly, a la Python 2, which is a benefit only if you just don't care to do things correctly. On the other hand, I only used Go until it made me feel really annoyed that I couldn't build my own data types and interfaces without feeling like they were 2nd or 3rd class citizens, forced to carry around heavy, clunking chains, while the builtin types and interfaces enjoyed unfair syntax and usability privileges. I tried to be open minded about the error propogation mechanism in Go, but it remained stubbornly frustrating, especially when designing my own interface. > It is ranty and there are parts I don't agree with, but I think > it is worth reading. It is around 300 lines, followed by > several pages of reader comments. > > http://esr.ibiblio.org/?p=8161 Thanks for sharing it. -- Neil Cerutti -- https://mail.python.org/mailman/listinfo/python-list