3 ms·
Has there been any response to "Why I no longer recommend Julia" [1]. It has made me hesitate to dive into this language. [1] https://yuri.is/not-julia/ https:
by hatmatrix 4y ago
Has there been any response to "Why I no longer recommend Julia" [1]. It has made me hesitate to dive into this language.
[1] https://yuri.is/not-julia/ https://yuri.is/not-julia/
- UncleOxidant 4y agoIt generated lots of discussion on the Julia discourse: https://discourse.julialang.org/t/discussion-on-why-i-no-longer-recommend-julia-by-yuri-vishnevsky/81151 https://discourse.julialang.org/t/discussion-on-why-i-no-lon...
- cbkeller 4y agoI considered making one but didn't really feel it was worth it; in fact, there's a bit of a catch-22 in that Julia folks seem to have accumulated a reputation of "not being able to take criticism", so I think most folks in the community just decided to take it this time. That said, if there's popular demand for a "rebuttal" of sorts I would be happy to come up with one after I get a few more things off my desk (among I'm sure many others who may be more qualified). I think it's safe to say that Julia has a notable ability to polarize people -- you tend to either love it or hate it. Personally, I can hardly even imagine using anything else at this point.
- cycomanic 4y ago> I think it's safe to say that Julia has a notable ability to polarize people -- you tend to either love it or hate it. Personally, I can hardly even imagine using anything else at this point. I think this is not true, many of us (including myself) were really intrigued by Julia and really wanted to like it, but came away a bit underwhelmed. It certainly has some neat ideas and people do very interesting stuff with it. That said it is certainly not the panacea of "write code which is as easy as python but gets you the speed of C". What is causing the current (small) backlash is the community being so strongly fanboyish and are still selling this uncritical view. Compared Julia fans, Rust proponents sound like they hate their language. The advocacy is becoming quite off putting.
- cbkeller 4y agoI think some people may expect it to be something that it's not. I'm probably a broken clock on this point but it's really a fundamentally different programming paradigm (dispatch-oriented) than most anything else, and organizing your code in a way that expects and works well with that paradigm (and what that means for how code is compiled) is, in my opinion, critical. If that works well for your problems or the way you like to think about things then great, if not then you may come away quite frustrated. Try to fight against dispatch and squeeze Julia into OO or functional or etc. paradigms and you're Gonna Have a Bad Time, in my opinion.
- sdfhdhjdw3 4y agoI would recommend Chris Rackauckas' response in the original thread.
- croes 4y agoDid you check the comments on hackernews? https://news.ycombinator.com/item?id=31396861 https://news.ycombinator.com/item?id=31396861
- hatmatrix 4y agoSorry I meant any response that mitigates these criticisms.
- Mathnerd314 4y agoWell, out of the issues mentioned, the ones still open can be categorized as (1) aliasing problems with mutable vectors https://github.com/JuliaLang/julia/issues/39385 https://github.com/JuliaLang/julia/issues/39385 https://github.com/JuliaLang/julia/issues/39460 https://github.com/JuliaLang/julia/issues/39460 (2) not handling OffsetArrays correctly https://github.com/JuliaStats/StatsBase.jl/issues/646 https://github.com/JuliaStats/StatsBase.jl/issues/646, https://github.com/JuliaStats/StatsBase.jl/issues/638 https://github.com/JuliaStats/StatsBase.jl/issues/638, https://github.com/JuliaStats/Distributions.jl/issues/1265 https://github.com/JuliaStats/Distributions.jl/issues/1265 https://github.com/JuliaStats/StatsBase.jl/issues/643 https://github.com/JuliaStats/StatsBase.jl/issues/643 (3) bad interaction of buffering and I/O redirection https://github.com/JuliaLang/julia/issues/36069 https://github.com/JuliaLang/julia/issues/36069 (4) a type dispatch bug https://github.com/JuliaLang/julia/issues/41096 https://github.com/JuliaLang/julia/issues/41096 So if you avoid mutable vectors and OffsetArrays you should generally be fine. As far as the argument "Julia is really buggy so it's unusable", I think this can be made for any language - e.g. rand is not random enough, Java's binary search algorithm had an overflow, etc. The fixed issues have tests added so they won't happen again. Maybe copying the test suites from libraries in other languages would have caught these issues earlier, but a new system will have more bugs than a mature system so some amount of bugginess is unavoidable.