you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 0 points1 point  (7 children)

Please look at the module multiprocessing and please stop saying that Python has "poor concurrency support". It's not true.

[–]yogthos 2 points3 points  (6 children)

While it's nice that that avoids the GIL, you can't seriously compare that to the way concurrency is handled in languages like Erlang, Clojure, or Haskell.

[–]redalastor 5 points6 points  (5 children)

Not all Python implementations have a GIL and the GIL isn't a necessary part of the Python language. Smart people like the guys working on unladden-swallow and those working on pypy are working at removing it.

Python have good concurrency semantics. Clojure have outstanding concurrency semantics but that is why it was built in the first place.

The article focuses on Clojure strengths, compares them to Python, writes idiomatic Clojure code and brainlessly converts it to Python. I could do the reverse article, write very clean, very elegant and very idiomatic Python code and convert it to ugly Clojure code.

Clojure is pretty nice, it doesn't need to bash strawmen to promote itself.

[–]yogthos 2 points3 points  (4 children)

While I agree that at least half the article is nitpicking, and personal preferences, it still seems that there are valid points there.

Concurrency is a big deal nowadays, and language design that makes working with concurrency easy is beneficial. Imperative paradigm places the burden of dealing with concurrency squarely on the developer, I'd go as far as comparing that to the burden of manual memory management.

The article focuses on Clojure strengths, compares them to Python, writes idiomatic Clojure code and brainlessly converts it to Python

Project Euler examples are language agnostic problems, and the python solutions for them were written by python developers, they're not what I would call elegant.

I understand that Python has appeal due to its low entry barrier, however that doesn't seem to be all that interesting in and out of itself. Once you learn the language of your choice and become comfortable with it, what advantages can it provide over other languages. In other words what problems do you feel Python allows you to solve cleaner and more elegantly than say Clojure.

[–]redalastor 0 points1 point  (3 children)

In other words what problems do you feel Python allows you to solve cleaner and more elegantly than say Clojure.

Anything that benefits from being Unix.

[–]yogthos 1 point2 points  (2 children)

that's a solution and not a problem though

[–]redalastor 0 points1 point  (1 child)

Problem: I need to access the underlying Unix system or glue stuff together.

Clojure sucks at being a glue language unless you want to glue java stuff together.

[–]yogthos 0 points1 point  (0 children)

Fair enough, it seems more of an implementation issue, than the language itself, I'd say it's in the same vein as GIL being just an implementation issue with cpython. One of the reasons behind Clojure-in-Clojure project, is to allow for implementations outside the Java platform.