Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

My experience with Julia was good, and the language is convenient, however two major factors made me not use it after test projects:

1. Very scarce packages ecosystem. Like there's dataframes.jl file with poor mans implementation of Pandas.

2. Recompiling everything every time. It meant that a Julia program in some script would take ~40 seconds compiling with dataframes & some other important packages.

I think if a language is to replace Python in science, it would need to either be very fast (recompilation on every run breaks this, and running Julia in a notebook/shell is interesting, but outside of pure scientific code, it should be easier to re-run it), or it should offer ergonomics. Pandas has very rough corners, especially when you need grouping with nontrivial operations, or grouped window functions. Joins aren't easy either. Any system that makes this more ergonomic, could bite a bit off Python. But I don't see such.



I think the Tidier.jl has made data in julia quite nice. TidierData leverages Dataframes.jl on the backend but with tidyverse syntax, and TidierDB.jl recreates python's ibis and Rs dbplyr. TidierDB (DuckDB is the main backend, but supports 11 other DB backends) also enables grouped window functions quite smoothly as well as joins and non equijoins.

https://github.com/TidierOrg/TidierDB.jl https://github.com/TidierOrg/TidierData.jl

of note i am biased as a tidier contributor and author of tidierdb.jl but hopefully you might be willing to give it a try.


Using https://julialang.github.io/PrecompileTools.jl/stable/ to avoid recompiling everytime is pretty convenient now. And there will be https://jbytecode.github.io/juliac/ to build small binaries. I had some good experiences with https://github.com/sl-solution/InMemoryDatasets.jl and DuckDB.jl when DF.jl wasn' t performing well.


> Recompiling everything every time.

> recompilation on every run breaks this

Your comment is exceedingly misleading. Whether and when Julia code gets compiled is up to the user.




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

Search: