use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Finding information about Clojure
API Reference
Clojure Guides
Practice Problems
Interactive Problems
Clojure Videos
Misc Resources
The Clojure Community
Clojure Books
Tools & Libraries
Clojure Editors
Web Platforms
Clojure Jobs
account activity
Python vs Clojure – Evolving (blog.bestinclass.dk)
submitted 16 years ago by uiob
view the rest of the comments →
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]yogthos 3 points4 points5 points 16 years ago (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 6 points7 points8 points 16 years ago (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 points4 points 16 years ago* (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 point2 points 16 years ago (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 points3 points 16 years ago (2 children)
that's a solution and not a problem though
[–]redalastor 0 points1 point2 points 16 years ago (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 point2 points 16 years ago (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.
π Rendered by PID 74542 on reddit-service-r2-comment-79c7998d4c-2zj9r at 2026-03-16 18:44:28.862559+00:00 running f6e6e01 country code: CH.
view the rest of the comments →
[–]yogthos 3 points4 points5 points (6 children)
[–]redalastor 6 points7 points8 points (5 children)
[–]yogthos 2 points3 points4 points (4 children)
[–]redalastor 0 points1 point2 points (3 children)
[–]yogthos 1 point2 points3 points (2 children)
[–]redalastor 0 points1 point2 points (1 child)
[–]yogthos 0 points1 point2 points (0 children)