# Why Julia is very often related to a data science / economics language only?

**URL:** <https://discourse.julialang.org/t/why-julia-is-very-often-related-to-a-data-science-economics-language-only/79695>\
**Category:** Offtopic\
**Created:** [April 19, 2022, 3:17pm UTC](https://discourse.julialang.org/t/why-julia-is-very-often-related-to-a-data-science-economics-language-only/79695 "2022-04-19T15:17:07Z")\
**Posts on this page:** 7\
**Page:** 3

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [April 21, 2022, 9:06pm UTC](https://discourse.julialang.org/t/why-julia-is-very-often-related-to-a-data-science-economics-language-only/79695/43 "2022-04-21T21:06:00Z")

</div>

> [@JackStrauss](#):
>
> Fair enough. I have a 20 year old bit of matlab code written by my advisor that I ran last week, and it ran with no errors. But yes, that is a one sample observation.

I’m not saying it definitely won’t work, but there’s always a chance a function is renamed, an argument is swapped, or a returned struct no longer has the field you were looking for. These things happen, and the more toolboxes etc. that are used the more likely it is. So the only true way to reproduce MATLAB code is to tell someone to buy the version that the code was first ran with.

Compare that with a Julia, you can download any old version and old package. And with a Manifest.toml it’ll grab the right versions for you. There are definitely some things to improve with Julia, but reproducibility is not a place where MATLAB is close.

---

<div class="post-metadata">

**Author:** ![joa-quim](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/joa-quim/32/227_2.png) [@joa-quim](https://discourse.julialang.org/u/joa-quim)\
**Post date:** [April 21, 2022, 9:58pm UTC](https://discourse.julialang.org/t/why-julia-is-very-often-related-to-a-data-science-economics-language-only/79695/44 "2022-04-21T21:58:06Z")

</div>

[Mirone](http://fct-gmt.ualg.pt/mirone/) is a \> 200 k loc tool written in Matlab 6.5 (\> 15 years old version). It still runs perfectly in R2022a (well, for me because I keep update the external MEXs it depends on).

Yes, Matlab broke compatibility tons of times but I never adopted any of the breaking changes and that allows me to still be able to (truly) compile it with modern compilers. The compiled version works, not only fine, but blazingly faster than when I use it directly from Matlab (except some computations that became real fast in modern Matlabs).

But ofc this is something that can only happens on Windows where backward compatibility is a sacred thing. Older working version on Unix are long, long broken for good.

---

<div class="post-metadata">

**Author:** ![Ronis\_BR](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ronis_br/32/50999_2.png) [@Ronis\_BR](https://discourse.julialang.org/u/Ronis_BR)\
**Post date:** [April 21, 2022, 11:37pm UTC](https://discourse.julialang.org/t/why-julia-is-very-often-related-to-a-data-science-economics-language-only/79695/45 "2022-04-21T23:37:44Z")

</div>

Interestingly, one of the reasons I started to search for a new language back in 2012 was because my code in MATLAB 2011b was not running in MATLAB 2012a 😃

If you use only the basic, the core language, maybe it is true that ancient MATLAB code can run today. However, anything a little bit deeper seems to have problems. In my case, I had compatibilities issues with Simulink, CMEX, and some specialized toolboxes.

By the end of 2012, I started searching for fast languages specialized in Linear Algebra. When I found Julia, I was very happy that you could create a matrix using `A = [1 2; 3 4]` and multiply it by a vector using `A * b`, instead of that almost unreadable code using NumPy.

In my case, Julia was just the perfect replacement for MATLAB. The only thing that it is **really** missing, is a good IDE (VS Code seems to be going to the right direction, but I just can’t leave neovim :D).

---

<div class="post-metadata">

**Author:** ![JackStrauss](https://avatars.discourse-cdn.com/v4/letter/j/f14d63/32.png) [@JackStrauss](https://discourse.julialang.org/u/JackStrauss)\
**Post date:** [April 22, 2022, 6:38am UTC](https://discourse.julialang.org/t/why-julia-is-very-often-related-to-a-data-science-economics-language-only/79695/46 "2022-04-22T06:38:35Z")

</div>

> [@Ronis\_BR](#):
>
> Interestingly, one of the reasons I started to search for a new language back in 2012 was because my code in MATLAB 2011b was not running in MATLAB 2012a

That is the experience we had with Pandas, code recommended in 2018, was already depreciated in 2020.

We are looking forward to the day when the Julia data management tools (basically all that is not the wonderful dataframe) will mature enough to allow us to give Python the boot.

---

<div class="post-metadata">

**Author:** ![nilshg](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nilshg/32/2283_2.png) [@nilshg](https://discourse.julialang.org/u/nilshg)\
**Post date:** [April 22, 2022, 7:24am UTC](https://discourse.julialang.org/t/why-julia-is-very-often-related-to-a-data-science-economics-language-only/79695/47 "2022-04-22T07:24:01Z")

</div>

Probably one for another thread, but would be interested to hear what pandas functionality you’re missing that prevents you from “giving Python the boot”?

I haven’t used pandas in a few years, but never looked back after switching to DataFrames (plus some companions like `ShiftedArrays`, `RollingFunctions` etc). Of course my use cases are (like everyone’s I guess!) limited, so it’d be good to hear what’s lacking from people that have different needs. As you’ll probably know DataFrames is extremely actively developed and the maintainers are always interested in user perspectives on how to improve the package.

---

<div class="post-metadata">

**Author:** ![JackStrauss](https://avatars.discourse-cdn.com/v4/letter/j/f14d63/32.png) [@JackStrauss](https://discourse.julialang.org/u/JackStrauss)\
**Post date:** [April 22, 2022, 9:50am UTC](https://discourse.julialang.org/t/why-julia-is-very-often-related-to-a-data-science-economics-language-only/79695/48 "2022-04-22T09:50:48Z")

</div>

> [@nilshg](#):
>
> Probably one for another thread, but would be interested to hear what pandas functionality you’re missing that prevents you from “giving Python the boot”?

It is not pandas but python, and this is relevant for our workflow. dataframes are brilliant and superior to pandas in all we tried. What is not brilliant is

1. Parquet and SQLite libraries. Both have bugs that we have to work around, and last time we checked, neither worked on Apple M1
2. AWS interface. Yes it exists but the bits we needed are undocumented and we could not do what we needed even after reading the code. boto3 on python just works.
3. julia version of python requests
4. Inability to save compressed binary forms of dataframes and dictionaries.

So at the moment our workflow uses python to handle data with julia called from python for the calculations. not optimal.

---

<div class="post-metadata">

**Author:** ![anon28281882](https://avatars.discourse-cdn.com/v4/letter/a/7ab992/32.png) [@anon28281882](https://discourse.julialang.org/u/anon28281882)\
**Post date:** [April 22, 2022, 5:10pm UTC](https://discourse.julialang.org/t/why-julia-is-very-often-related-to-a-data-science-economics-language-only/79695/49 "2022-04-22T17:10:06Z")

</div>

Just wanted to thank you guys for such numerous direct messages. I will try to answer all of them definitely not later than by the end of the weekend. Special thanks to @Ronis_BR for creating this thread topic and bringing it under discussion!

> [@Ronis\_BR](#):
>
> (VS Code seems to be going to the right direction, but I just can’t leave neovim :D)

As for VS Code vs NeoVim I fully agree! I have mentioned it a few times in this forum: Julia centric Erudite Vim and adjusted LunarVim setups are really simply out of space! 🙂

[Previous page](https://discourse.julialang.org/t/why-julia-is-very-often-related-to-a-data-science-economics-language-only/79695.md?page=2)
