Julia for Economists (2022)
github.com
github.com
Your question implies a limited view of the field of economics. Stata is the dominant piece of software in fields like labor economics. That's because the people working in those areas want to enter a few commands or click a few menu options and let Stata do its thing. It's hard to beat for that type of analysis. Just make sure you don't want to do any actual programming.
Macro theory traditionally used Matlab and Fortran. Time series long ago used GAUSS, RATS, and EViews, among others, but never Stata. R and Python are used a lot today. Then there are others like SAS and LIMDEP that are no longer used as much, but have their niches.
Julia, from when I looked at it years ago was trying like a new version of Matlab or Mathematica. It was very linear-algebra focused, and were trying to replace those packages plus Fortran. They had some gimmicks like an IDE that would render mathematical notion like TeX for your matrices.
Python wasn't the obvious "Fortran killer" scientific language it is today. In fact it's arguably really weird that Python ended up winning that segment. In any case, I think Julia's been struggling since its inception.
Basically a mini/beta/in-progress version of Pycon each week.
Also the VSCode extension has weird performance problems when trying to debug Julia code.
Can you expand on this? Julia's package manager IMO is one of the best parts of the language.
I don't think you'd actually want to include each of those packages in a standard distro: does the average user really need to programmatically send emails or deal with Voronoi tessellations? Probably not, but I still think there's value in a batteries-included approach, especially when working with students.
This is hurting Julia's adoption. The rest of the language is incredibly elegant, as there is no 2-language divide like in Python. Furthermore, it is really performant. With very little effort one can write code that is within 1.5-2x of C++, often closer.
One possibility is that something like Mojo takes Julia's spot. Mojo has some of the advantages of Julia, plus very tight integration with Python, its syntax and its ecosystem. I would still prefer Julia, but this is something to keep in mind.
This issue will remain until LLMs get so smart they can maybe self-iterate and train on a given language. By then though, we'd likely get languages designed and optimized for LLMs.
One fun exercise was when a friend handed me a stack of well-written, very readable Python code that they were actually using. They were considering rewriting it in C, which would have been worth it if they could get a 10x speedup.
I had Sonnet translate it to Julia, and it literally ran 200x faster, with almost identical syntax.
It can even debug Pkg/build chain problems, which... Julia could use a bit of polish there. On paper the system is quite good, but in practice things like point upgrades of the Julia binary can involve a certain amount of throwing spaghetti at the wall.
Chris blog on that: https://www.stochasticlifestyle.com/chatgpt-performs-better-...
We use Julia in our hedge fund, it allows our researchers to write Python-like syntax while being very easy to optimize – compared to numpy code we've had a relatively easy time getting Julia to run 20x-1000x faster depending on the module, which has resulted in a very large reduction in AWS bills.