Julia is fantastic with a great community. The one issue I have though is the use of greek symbols, while great for those formally trained, may have a negative impact on wider adoption for deep learning.
Julia adoption keeps climbing
221–230 of 309 posts
Re: Julia adoption keeps climbing
#222Earlier quoted context omitted.
Then Julia should stop describing itself as a general-purpose programming language.
Julia absolutely is a general purpose language and has been from the beginning. However, there are plenty of languages that are fine for building websites, whereas there are no other languages with the combination of speed and usability that Julia offers in technical computing. It's a lovely language for doing all kinds of work and I personally mostly use it for non-technical computing these days — specifically to im…
Re: Julia adoption keeps climbing
#223I teach a graduate course in optimization methods for machine learning and engineering [1,2]. Julia is just perfect for teaching numerical algorithms. First, it removes the typical numpy syntax boilerplate. Due to its conciseness, Julia has mostly replaced showing pseudo-code on my slides. It can be just as concise / readable; and on top the students immeditaly get the "real thing" they can plug into Jupyter notebook…
I'm using Julia (because of the hype) to prototype out some numerical optimization stuff. There is a million functions for reshaping multidimensional arrays. The syntax is uncannily like Matlab: retrieving the last element of an array with `[end]`, indexing into a collection with an array of booleans, element-wise versions of operators prepended with dot, etc. However, I keep running into niggling corner cases that k…
There may be other packages or methods for doing the other things you want. I’d think that broadcasting over a NamedTuple would iterate over the key => value pairs, but I haven’t tried it.
Re: Julia adoption keeps climbing
#224Earlier quoted context omitted.
This "Julia marketing conspiracy theory" that many people on HN seem to believe is so bizarre. What big tech company do you think is behind this incredible, shrewd and presumably well-funded marketing campaign? Julia is the only new major programming language of the last decade that doesn't have a major tech giant backing it. Adoption and development are pretty much entirely grass roots. If you see a lot of enthusias…
Trying to think of others. Kotlin was 2011, and is JetBrains. JetBrain's is 1500 people. So big, but not giant. Rust is 2013 Mozilla is only 750 people So perhaps Major Tech Giant is over-stating it. But definately most other things in the last decade have a major established tech firm backing it. Julia has basically nothing. Starting out as a MIT project, and then Julia Computing is a tiny startup; with like what 50…
Re: Julia adoption keeps climbing
#225Earlier quoted context omitted.
I remember in ~2005 people said almost the exact same thing about Python and Perl.
I think you are confusing 1995 with 2005. Perl was in decline by 2000 and by 2005 it was terminal; you could probably count the number of perl shops of any consequence in that year on the fingers of one hand.
Python 2.0 was released in 2000. Python 1.0 was 1994, and Python 0.9 (first public release?) was 1991.
Check the google trends. https://trends.google.com/trends/explore?date=all&geo=US&q=p... Its unclear when perl peaked since it has been in decline since before 2004 But it wasn't til late 2007 that Python overtook Perl in google searches
Even while it was in decline people were still making that argument.
Re: Julia adoption keeps climbing
#226I teach a graduate course in optimization methods for machine learning and engineering [1,2]. Julia is just perfect for teaching numerical algorithms. First, it removes the typical numpy syntax boilerplate. Due to its conciseness, Julia has mostly replaced showing pseudo-code on my slides. It can be just as concise / readable; and on top the students immeditaly get the "real thing" they can plug into Jupyter notebook…
I'm using Julia (because of the hype) to prototype out some numerical optimization stuff. There is a million functions for reshaping multidimensional arrays. The syntax is uncannily like Matlab: retrieving the last element of an array with `[end]`, indexing into a collection with an array of booleans, element-wise versions of operators prepended with dot, etc. However, I keep running into niggling corner cases that k…
julia> function Base.getproperty(x::Tuple, f::Symbol)
if f == :a
return x[1]
elseif f == :b
return x[2]
else
return x[3]
end
end
julia> (3,4,5).a
3
Edit: Okay, why am I getting randomly downvoted here?Re: Julia adoption keeps climbing
#227On what time scale? Julia is really nice lang. but it will take decades for it to put a serious dent in Python. If web side of things matures fast and someone builds a killer framework it might carve out a niche there too.
It's not meant for web, it's meant for scientific computing. And it has already left a mark on that field.
Re: Julia adoption keeps climbing
#228Earlier quoted context omitted.
Autodiff is a place where there is a gulf between Julia and Python, one that I think can't be bridged well: JuliaDiff is astonishingly flexible and performant. https://www.juliadiff.org/
Urg that website is so incredibly out of date. Julia has amazing things for autodiff. But like not the things listed on that website. Also python is still doing great with Jax and PyTorch.
I don't know much about Jax. I've seen competent benchmarks showing an order of magnitude benefit for using ReverseDiff from the AutoDiff suite over Autograd, which is what Pytorch uses for reverse-mode autodiff
Re: Julia adoption keeps climbing
#229Earlier quoted context omitted.
I also like pipe syntax and I've found there is nice support for it in Julia. There are some nice packages to improve it over base [1]. Have you checked queryverse [2]? [1] https://github.com/jkrumbiegel/Chain.jl [2] https://www.queryverse.org
I haven't heard of queryverse, thank you for that. This also brings up a good point I wanted to highlight. I get that Julia is a young language with a growing ecosystem. But the lack of "one obvious way to do something" may scare new users away. "I want to quickly wrangle data. Do I use Query.jl, DataFramesMeta.jl, SplitApplyCombine.jl or something else?" "I need pipes to help me wrangle data more efficiently do I us…
> 1. run "library(dplyr)" 2. Google "how to XYZ in dplyr" 3. ??? 4. Profit
I beg to differ here. There’s much to be said for using data.table and base R instead of the tidyverse.
This article is worth a read in my view: https://github.com/matloff/TidyverseSkeptic