Hacker News new | past | comments | ask | show | jobs | submit login

Explain?



There is basically no foreseeable way for the state-change model of language adoption to see a palpable uptick in Clojure.

Python is easier to learn. Python is more useful for data munging/cleaning (lower startup time, loads of input libraries). Python has a repl and eval so code-as-data/data-as-code is not an advantage for Clojure as it is over C-alikes. Python FFI is almost free to call into C so end-to-end performance is better than Clojure. Python has the better libraries for ANN (TensorFlow, Theano) and ML (sklearn).

Of course, you can apply "arguably" to every statement in the previous paragraph but the evidence appears to bear it out.


I currently use Python much more than any other language and regularly advocate for its use as a learning language both for formal education and for self-teaching. That said, I don't think most of the below supports your assertion that "Clojure [could definitely never] steal the machine learning niche back from Python"

> Python is easier to learn.

I have not seen a learnability comparison between Python and Clojure as first languages. Python is definitely easier to learn as a second language if you're already a trained programmer coming from the C family.

> Python is more useful for data munging/cleaning (lower startup time, loads of input libraries).

Startup time is indisputable, but also barely matters for interactive programming. In Lisps and in Python, I usually just have a repl going for days at a time.

The availability of libraries is not a "never" thing -- it's a "we'll see" thing.

> Python has a repl and eval so code-as-data/data-as-code is not an advantage for Clojure as it is over C-alikes.

You're conflating two different things that people like about Lisps here. Homoiconicity is a separate benefit from having a repl. And though I use it daily, I think Python's repl kind of blows.

> Python FFI is almost free to call into C so end-to-end performance is better than Clojure. Python has the better libraries for ANN (TensorFlow, Theano) and ML (sklearn).

Clojure is free to call into Java. And I'm sure there's a route to C if that small performance boost really makes a difference for what you're doing. Again, availability of libraries is an obstacle, but not a "definitely never" obstacle.


Well these are the hurdles that Clojure needs to get over. And it's not good enough that Python fails because R and Julia are competing with Python. So is Matlab. So to take the ML pole position, Clojure would need to gain traction beyond all of these.

So I don't have a reasonable doubt when I say "Clojure will take not the machine learning niche from Python."


I don't think it's likely. The libraries are the real issue. It's not that they couldn't emerge, it's just that they're not likely to emerge out of the current situation.


Actually, it would be even harder for Clojure to overtake Python: appearance of new ML libraries for Clojure is not enough.

Look at Torch for example. It has been a well established library, and yet because it uses Lua, its future is bleak. PyTorch, on the other hand, is gaining popularity.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: