6 ms·
Julia is hands down much better than either of these languages. Don't waste your time.
by adamnemecek 7y ago
Julia is hands down much better than either of these languages. Don't waste your time.
- jhbadger 7y agoIt's a matter of ecosystem of packages. R has a huge number of packages for many fields. Python has fewer, but might work for particular use cases. I was excited for Julia, and played around with it since 0.2, but it really hasn't generated very many packages of note in my particular field (bioinformatics).
- adamnemecek 7y agojulia has really good interop with both of python and R as well as cpp, matlab, mathematica and others. Also it's not just about the numbers.
- randomvectors 7y agoSo you're telling us not to waste our time with R or Python... but to constantly interop with R and Python?
- adamnemecek 7y agoI mean if there are packages that you need then be my guest. But like if you are starting a new project, julia is a more productive language.
- s_Hogg 7y ago> julia is a more productive language Source for this, please?
- adamnemecek 7y agohttps://news.ycombinator.com/item?id=20240155 https://news.ycombinator.com/item?id=20240155
- ddragon 7y agoIt would really still depend on the support libraries around the task you want to write, if you really need more performance for the parts that those support libraries don't cover (and beyond what you get with PyPy or Numba) and which language you have more experience with. If you're really going down to the FFI, it's hard to think it wouldn't be more productive, but that's not what a true beginner like the target of this book would do. Though it's quite nice to quickly extend some tool for your purpose without compromising anything or to understand how something works thanks to being written in high level code. Syntax-wise, Julia's Common Lisp-like feature set gives the language a lot of power, but normal use will probably be just on par with Python in terms of productivity.
- ivirshup 7y agoI love Julia, but feel the interop story could use some work. If I want to have my python package depend on some Julia code, how easy is that? Last time I checked (a few months ago), it was pretty difficult.
- ChrisRackauckas 7y agoYou can get it done with a little bit of user interaction: https://github.com/JuliaDiffEq/diffeqpy https://github.com/JuliaDiffEq/diffeqpy
- Der_Einzige 7y agoPretty sure that Python has a larger total ecosystem of packages than R.
- jhbadger 7y agoI mean fewer (and less developed) in the context of data analysis and statistics where it is a competitor to R. Every time I consider using Python after getting frustrated with the more ugly features of R as a language, I take a look at what's available in Python, as from a language point of view it is a bit nicer (as is Julia). But then I see what I would have to reimplement myself if I switched, so I don't.
- mruts 7y agoI whole heartedly agree. Python is garbage for data science. If an industrial grade NN library was written for it, plus some quant libraries, I think most people would switch. I work in finance doing data science-y things and have yet to meet anyone who doesn’t think that Python is a pile of garbage. People used to make the easy to learn argument, but Julia is even easier. And more elegant, extensible, and faster.
- adamnemecek 7y agoPlus a good package manager, insanely good interop, one good ide, etc etc.
- huac 7y agoYou, uh, don't like PyTorch and TensorFlow? I can't tell if this is sarcastic.
- pjmlp 7y agoThey are written in C++.
- huac 7y agoare you suggesting that data scientists use C++ for day to day work? those libraries have first-class wrappers in Python (there is R support, but not at the same level).
- pjmlp 7y agoHaving worked at CERN, many do in fact use C++ for day to day work, hence why CINT and ROOT exist. However my point was that with Julia, those libraries would have been written in Julia. All the Python libraries that one throws around for these use cases are C, C++ and Fortran libraries, that happen to have Python wrappers. Any programming language can have wrappers for them, there is nothing written in Python per se.
- randomvectors 7y ago
- thomasfedb 7y agoWhat's a good resource for a R user looking to jump over to Julia?
- adamnemecek 7y agohttps://learnxinyminutes.com/docs/julia/ https://learnxinyminutes.com/docs/julia/ https://juliaobserver.com https://juliaobserver.com The website is decent. Read the standard library https://github.com/JuliaLang/julia/tree/master/stdlib https://github.com/JuliaLang/julia/tree/master/stdlib search github for cool projects https://github.com/JuliaInterop/RCall.jl https://github.com/JuliaInterop/RCall.jl
- locoman88 7y agoThat's an opinion my friend, not a fact. If you want to be taken seriously, be sure to be careful in your assertions and always have hard data to back them up
- s_Hogg 7y agoSo? This whole argument over which programming language is the best all seems a bit tools-first to me. I used to program in R and was a package owner, but switched to python because it had stuff I needed (TF before it ever got ported to R). Nowadays I program in python because it has all I need. If something comes out in Julia that makes the cost of picking up another language worth it then I'll do it without a second thought. Until then, why bother? The don't waste your time argument can cut both ways, you know. To clarify: I see no inherent reason to not program in Julia or any other language. But you work with whatever gets your job done efficiently and right now that's neither of those languages for a lot of people.
- adamnemecek 7y ago> This whole argument over which programming language is the best all seems a bit tools-first to me. Not really, syntax and semantics are adjoints.
- s_Hogg 7y agoExactly: you're talking about semantics. In a great many cases, they aren't a first-order issue - which is where my objection to a blanket "don't waste your time" claim comes from.
- adamnemecek 7y agoWhat is there besides semantics?
- krapht 7y agoUh, adoption by the community at large? The best program is the one you didn't have to write because a package existed for it already. Just because a language has a foreign function interface doesn't mean it's easy to interact with other libraries. R, Python, Matlab, and C++ are the big dogs in scientific programming, and the inertia behind having a large community behind than will continue to drive adoption.
- kensai 7y agoJulia is indeed coming hard to bridge and surpass these two languages. I really hope it succeeds since it is really very well designed.