5 ms·
Unless Julia can gather the uncountable amount of libraries and frameworks (and keeping the same quality) it’s doomed to be just another “me too” language. It’
by alexandernst 8y ago
Unless Julia can gather the uncountable amount of libraries and frameworks (and keeping the same quality) it’s doomed to be just another “me too” language.
It’s not about the language itself, but what can you actually make with it and with its ecosystem.
- evrydayhustling 8y agoThis. Interested in hearing Julia acolytes describe some one thing that is way easier in Julia than Python. The scope and combined power of examples like that will determine whether and where it's worth being away from python ecosystem.
- marmaduke 8y agoThe language is built from the ground up as a fast numerical language. Take LLVM as a JIT and make the most dynamical lispy fast thing on top. It runs circles around Python in terms of fast flexible computing. That said, not enough for me to switch.
- evrydayhustling 8y agoI've heard some notes like that, but with nice wrappers for vectorised operations like numpy and TensorFlow, I don't think python world has been feeling numerical as a pain point (evidently you feel similarly enough not to switch). I wonder if Julia folks have some examples where relative extra speed really moved the needle for some application.
- ChrisRackauckas 8y agoWhen writing differential equation solvers, a lot of cases are far too small for vectorization to help and lots of loops are required. Especially adaptive stochastic differential equation solvers which require using data structures (priority queues, stacks) directly in the middle of tight loops, and you have to control heap-allocations to keep it fast. I couldn't find a way how to do this in MATLAB or Python well (I mean, heap-allocated objects tend to ruin this) but Julia was a great fit.
- bluejekyll 8y agoBy this logic, no new language would ever take off. > It’s not about the language itself I would actually argue that it’s completely about the language itself. There will be a certain number of people that recognize the value of the new language. Those people will start laying the groundwork for all the libraries that they need. For those people, the early zealots, they build out the minimal set of libraries. Then you have the next group of people come along, less fanatical, but really like the language, and decide to make bets on it, where they fill in the gaps that they encounter. In the next phase you now have the basics needed for the language, a growing number of users, and the libraries start flowing in. All of this would only happen because people really like the language itself. > it’s doomed to be just another “me too” language. I have no idea where Julia is, I’ve never used it, but I dislike this attitude, because it doesn’t allow for innovation. Julia certainly seems to be gaining users, just based on how much I keep hearing about it.
- bb88 8y ago> By this logic, no new language would ever take off. And in many cases they haven't. Javascript competitors seem like a prime example of this as there are too many javascript libraries that make your life easier, and would have to be ported to a new language. What makes a language successful primarily is how easy it is to do productive things with it -- and that means easily using existing code (from some other language).
- mping 8y agoJavaScript has been a victim of its own success in many ways. It's so popular that other languages just transpile to js. In the end it runs js, but it doesn't matter much. OTOH good libraries have bindings for the source language (eg react has wrappers in scalajs, clojurescript, etc)
- newen 8y agoJavascript is clearly a special case because of browser dependency on JS. You can't apply most statements about JS's popularity to other languages.
- jlarocco 8y agoOn the other hand, somebody has to write those libraries, and each "missing" library is an opportunity for a new project. One thing I like about less popular languages is that it's often easier to get involved in the community, easier to contribute to projects, and more likely other people will use the libraries I create. I like Python, but it often feels like I'm just plugging together pre-existing libraries for everything. Good for getting things done quickly, but less fun and less rewarding.
- nur0n 8y agoJulia core devs are aware that Julia does not exist in a vacuum. It is easy to wrap existing C, C++, Fortran, and Python libraries for use in Julia. Julia has such good performance and flexibility that it will not surprise me if the most important libraries get rewritten in Julia. Most people just glue libraries together most of the time (and that's perfectly fine!), but language improvements will mostly be seen by the people who write the libraries themselves. See: - https://docs.julialang.org/en/latest/manual/calling-c-and-fortran-code/ https://docs.julialang.org/en/latest/manual/calling-c-and-fo... - https://github.com/Keno/Cxx.jl https://github.com/Keno/Cxx.jl - https://github.com/JuliaPy/PyCall.jl https://github.com/JuliaPy/PyCall.jl
- yayana 8y agoWould access to all the batteries of python, R, and C/C++ from a julia REPL suffice?
- gaius 8y agoAbsolutely. More and more now I am coming to the conclusion that it’s better to push into new problem domains with Python or R building on that ecosystem than it is to learn a new niche language for each thing. But Julia is so fast! They say. Well I reply, so is Numba on GPU and running my existing code on it is next to no effort! Writing C extensions to Python or R is easy too and I already know how to do it. A language would need to be radically better for me to switch, not just incrementally.
- danmg 8y agoMost of the good parts of python's scientific computing libraries are wrappers around fortran libraries.