Stata is still strong and getting better 3 years later.
Future of Stata
-
It's a really cumbersome syntax that is only getting more complicated. I just got Stata 17 and spent the morning trying to figure out how to export tables using the new table and collect commands. Its just not very intuitive.
That said, R isn't any better in this respect.
-
indeed, I was very surprised Stata went down the DSGE path because
1. there's plenty of better alternatives like Dynare
2. only weirdo journals like RED and JME think that DSGE models are actually any use to humanity.
seriously, this language isn't going anywhere. The developers have the wrong priorities.
Things they focus on:
- time series
- DSGE models
Things they should focus on:
- parallelization
- fast egen
- do file editor
But I have low hopes. The whole company is full of lemons. Did you for example know that inlist(y,x1,x2...) only supports checking for up to 10 arguments? How come all functions I use (hdfereg, binscatter, gtools, ftools, parallel,............) are written by users? What do the people do at Stata all day? -
The new collapse R package:
https://github.com/SebKrantz/collapse
And fixest from R:
https://lrberge.github.io/fixest/index.html
Are pretty much setting a new standard. As a longtime stata user working with large datasets I feel it's time to make the switch, what do y'all think?Just switched this year to doing things with fixest and avoiding stata as much as possible. Much better, free, and in a better environment to do everything under one roof.
The bigger issue with stata that will keep people away is its horrendous abstractions.
-gen vs egen is a pointless distinction
-merge requires identical variable names
-replace cannot recast to a new data type. Want to make int into a string? Intuitively you might think replace. Nope, use destring instead!
-Lots of common data operations require generating new variables as an intermediate step, even when in a different language you would just save a single object of one value that would suffice.
-When exporting graphs, if I put replace as an option, the export fails if the file doesn't already exist. This means I have to write something in a do file without replace once, then after running it the first time, remember to go back and add replace.
-do file editor is miles behind any other IDE, imho. It's getting better but it still feels behind. If I write out a command, I want pop ups telling me the required arguments just like any Python IDE or Rstudio would do.None of these design choices will ever be changed because Stata unfortunately has to play catch up now with free open source software.
Talk to young students and academics and you'll find fewer and fewer of them using Stata. R, Python, Julia all now have options or packages that run it at C level speed (e.g. data.table in R)
-
When using Stata, you cannot import two different data sets at the same time. Period. Stata should not be even called a programming language.
However, Stata is great to run millions of regressions and find stars (aka p-hacking). Just to implement methods (without tweaks) in MHE, Stata is much better than Python/R/Matlab. And because of this, I think Stata will be good for a while.
-
-When exporting graphs, if I put replace as an option, the export fails if the file doesn't already exist. This means I have to write something in a do file without replace once, then after running it the first time, remember to go back and add replace.
This isn't right, you're doing something else wrong.