Ryan Peterman
π€ SpeakerVoice Profile Active
This person's voice can be automatically recognized across podcast episodes using AI voice matching.
Appearances Over Time
Podcast Appearances
I mean, for me what Julia's pitch was like, we should be able to write code in a high level language that looks like Python or like MATLAB, which is really the language it was originally designed to destroy.
It was really designed to get rid of MATLAB.
It was made by MIT math people who wanted to get rid of MATLAB.
And it really targeted that market much more than data science at start.
And I think I was involved in pushing it towards data science.
But to me, the thing I always do when I give talks about Julia is be like, listen, let's look at the R function for distance, like compute a distance matrix between a bunch of vectors.
So you get pairs of vectors, and you get all the distance matrix.
If you look at that function and then you actually try to figure out how it's implemented in R, what you find is C code that is very reasonable C code that is just a bunch of for loops, like loop through all the rows and all the columns and then compute the distance at that row and you're done.
If you basically take that code verbatim and just translate it naively into R, you're going to take some type information away.
You're going to get rid of some like ints and float signatures.
But otherwise, you're going to basically write for loops that look exactly the same.
The R code is going to be like somewhere between 1,000 to 10,000 times slower than C.
And this to me was the thing that just like drove me insane when I'm just like, wait, what?
Like these two programs are like 80% the same.
Why is one not as fast?
And Julia really was all about this notion that like that was unacceptable.
And that's what made it so appealing when the first post by the original founders went out.
I was like, oh, you guys are doing the thing I wanted people to do, which is like,
not claim that it is impossible to make high-level languages fast, which is like so much of actually how the Python community sometimes behave is to be like, oh, well, we can't be fast, but also fast isn't important.
And to me, like that double hit of like, well, we can't be it and it's not important really didn't work for me.