4 ms·
For years I’ve seen these hype Julia articles. Yet, out of all the open source, all the companies I’ve worked for, I’ve never come across any valuable system ru
by internetslave 6y ago
For years I’ve seen these hype Julia articles. Yet, out of all the open source, all the companies I’ve worked for, I’ve never come across any valuable system running Julia. I’ve never needed open source and found that only Julia serves the need. I’m kind of tired of programming click bait that ends up on HN. Much like the “front end programming has failed” article that is popular right now. It’s all for clicks. The reality is mainstream programming paradigms are effective and work.
- jll29 6y agoI tried Julia in 2018 as my new programming language to learn that year. The syntax is clean and simple, and I remember it as a "Pascal for scientific computing" - as easy to read as Python yet faster execution. I liked the static type checking and compilation, but found it frustrating at the time that the sample code from a book I had purchased didn't work; overall, the language seemed to be still too much in flux to be entrusted with an important project, although I have spoken with fellow scientists who use it as their main language for experimentation and are happy. Python is clearly winning because most important libraries are C++ under the bonnet - or even Cython (which is used e.g. by SpaCy), and its ecosystem with IPython, Jupyter notebooks and comprehensive data science libraries (pandas, matplotlib, sklearn, numpy, ...).
- sidpatil 6y agoPython has had a much longer head start, so it's no surprise it's still widely popular. You also bring up a good point regarding Julia's changing syntax and behavior—I've encountered the same issue trying copypasted code from various tutorials online (they didn't work.) Julia's package ecosystem is rapidly catching up with Python's, at least for the packages you mentioned. I.e. Julia offers DataFrames.jl (its Pandas competitor), Plots and Gadfly (its Matplotlib competitors), and a few different ML libraries (its sklearn competitor). As for Numpy, its functionality is already offered through the base library in Julia, so there's no need for a separate package. One especially nice feature of Julia is its interoperability with other languages. For example, if you need to use Python-specific functionality, you can do so from Julia through the PyCall library. Likewise for R, MATLAB, Java, etc. (C and Fortran FFIs are already offered through the base library.)
- jakobnissen 6y agoIt's really hard for a language to grow mature enough for businesses to use it for valuable systems. You don't just need the programming language, it's also expected you have good editor support, some type checking tools, performance measurement tools and a whole bunch of battle-tested packages for common problems in programming. It's also risky as a business to begin building stuff in Julia when it's still a relatively niche language. That's not management being reactionary, that's just being pragmatic. Almost by definition, new languages just can't compete with established languages on maturity. They have to compete on other metrics - better language design, a different runtime, new capabilities, etc. and therefore will attract a different crowd - initially Over time, the bleeding edge first-movers will create basic necessities, which then attracts the programming language afficionados, who build interesting new software and nice-to-have, which attracts ordinary programmers, who then grow the community enough to give it stability and battle-tested packages, which then lets the language become "boring, old and stable". But this whole process takes ages. Look at e.g. Rust. Julia is somewhere between the "afficionado" and "ordinary programmer" stage. Of course you shouldn't use it for mission critical software where maximal stability is key. That doesn't mean the Julia hype isn't warrented.
- steveklabnik 6y ago“Crossing the Chasm” is a classic business book that explores this idea. It’s about technology adoption more generally, but I believe it applies to programming languages too.
- derstander 6y agoJulia 1.0 was released in late 2018. I think it would be irresponsible to design valuable or mission critical systems with a language still undergoing that much change. I expect we’ll start to see the sorts of valuable systems you refer to start to surface in the near future if Julia is getting traction. Full disclosure: I don’t currently use Julia but I’m interested in spending some time with it this year. I primarily use MATLAB in my day-to-day life. I like Python as a general purpose language but find the syntax of Python+NumPy a little clunky for what I do. I don’t really feel that Julia falls outside of mainstream programming paradigms anymore than something like MATLAB.
- satya71 6y agoHaha, I switched away from MATLAB to numpy many years ago because MATLAB was so clunky. To each his own, I guess.
- currymj 6y agodo you work on high-performance computing, or more generally with numerical codes for scientific/engineering simulations? this seems to be the area where Julia is getting the most traction. it's strong in some other areas too. it's not really being sold as a general purpose tool for building business systems, though. (not that it's unfit for that purpose -- just it doesn't have a strong advantage. whereas for numerical codes, optimization, and a few other things, it is actually better than most alternatives.)
- wodenokoto 6y agoJulia Computing, has a bunch of case studies. It is used in valuable systems. [1] If you compare Julia to a start-up it is in the growth phase. It isn't making money, but it definitely looks like it can disrupt status quo, and that makes it worth investing in for a lot of people. [1] https://juliacomputing.com/case-studies/ https://juliacomputing.com/case-studies/