Hacker News new | ask | show | jobs
by heavyset_go 2176 days ago
This is quite a bit of alarmism without acknowledging somewhat recent facts. Python's parser is being updated to allow for richer grammars, the community has embraced gradual typing, and the project hasn't been very conservative for years now. The withdrawal of Guido as BDFL is quite a step in that direction.

Beyond the GIL and the lack of multi-line lambdas, Python is still a pleasant language to start new projects in.

2 comments

> Python is still a pleasant language to start new projects in.

I'm going to have to disagree with this, Python's packaging and project management is always a pain, and trying to get teammates setup previously with virtual-env/pipenv has always been rockier and slower (performance wise) than it ought to be. Julia has a much, much saner start, as does Rust.

I would disagree about it being pleasant, but let's ignore that. What advantages does Python have over Julia? Julia is even simpler than Python at this point, especially for researchers. A lot of non-programmers I know have been switching to Julia, as it's really easy to "write math" in it.
I really want Julia to succeed and take place of Python/R/other. But Python has lots of packages and tutorials/book. You can do lots of things in Python. It will be very hard to replace it because of the need to rewrite lots of things and need to learn other language. Many people do not want to learn new language if current one provides solution for a problem that they are facing today.
> What advantages does Python have over Julia?

You can get paid to write it and there is a mature library ecosystem around it.

Why is the ecosystem important when you can just use pyjulia to call any python library you want? In regards to pay, many Python programmers aren't actually paid to program.

And regardless, I wasn't aware that getting paid to program in a language made the actual language itself better.

> Why is the ecosystem important when you can just use pyjulia

Now you need to package a Julia application and Python application dependencies, instead of just a Python application.

Also, pyjulia is a Julia binding for Python, used for calling Julia code from Python.

The Python bindings for Julia seem to be library specific[1], and brittle. They require an additional special snowflake layer for Python dependencies[2], bypassing PyPI entirely in favor of Conda.

This means that a lot of packages will not work, and even if they do, some will be prone to crashing and some will be out of date.

> And regardless, I wasn't aware that getting paid to program in a language made the actual language itself better.

I like Haskell, I think it is in many ways a great language. However, I'm not going to start new projects in it, nor will I recommend it to clients. It's difficult to hire for, and hard for professionals to justify adopting for reasons other than personal preferences. A big reason for that is that its ecosystem isn't as mature or diverse compared to other languages.

[1] https://github.com/JuliaPy

[2] https://github.com/JuliaPy/Conda.jl

The main package for calling Python is PyCall [1]. It uses Conda by default but you can specify your own python location.

[1] https://github.com/JuliaPy/PyCall.jl

You will need new programmers to replace old ones if they leave your company. Now instead of knowing only Python they will need to know Julia (which at the moment is not as popular as Python) so it makes much harder to find new programmers. I really want Julia to take Place of Python/R and others but I think it will not happen in near future.