Ingrid Qiu Again. Stata has never officially adopted or created a Python plugin. As I mentioned previously, the integration with Python is the work of James Fiedler. More importantly, is that this is simply a language interface, so it makes it possible to use Python in Stata, but does not require it. Official Stata has Java and C APIs that user programmers are able to use to access the internals of Stata. R also includes its header files as part of the distribution so users/developers can link to their libraries. SAS also includes support for integrating Java (http://support.sas.com/resources/thi.../v93/jres.html), as do Matlab (http://www.mathworks.com/help/matlab...in-matlab.html), SPSS (ftp://public.dhe.ibm.com/software/an...Statistics.pdf), Mathematica (https://reference.wolfram.com/langua...Interface.html), and likely several others. So, yes. It is really natural for statistical software to include APIs for other languages. Embedded languages, however, are slightly different. In that case, you would be better off thinking about things in the context of TeX vs LaTeX; TeX being the Mata analog and LaTeX being the Stata analog. LaTeX is simply an abstraction of the TeX language that allows the end user to not enter many lower-level commands, but it still is sitting on top of TeX at the end of the day.
With regards to your reference, you should not be coding a loop over 300 distinct regression models in your program. That likely has effectively made the program applicable to only a single context. If your programs focus on flexibility and extensibility, then you can allow the end user to to loop through the command how ever many times they would like. Additionally, you need to consider memory consumption/allocation issues when doing something like that. The script would likely cause many computers to start swapping if the user was working with a sizable data set without abundant memory resources available. More importantly, there is already a fairly easy way to call Stata commands from within Mata (http://www.stata.com/manuals14/m-5stata.pdf#m-5stata()) and calling Mata commands from Stata just requires you to prefix the command with "mata:". I'm a bit confused about why this isn't user-friendly enough for you. What improvements would you suggest to the API?
With regards to your reference, you should not be coding a loop over 300 distinct regression models in your program. That likely has effectively made the program applicable to only a single context. If your programs focus on flexibility and extensibility, then you can allow the end user to to loop through the command how ever many times they would like. Additionally, you need to consider memory consumption/allocation issues when doing something like that. The script would likely cause many computers to start swapping if the user was working with a sizable data set without abundant memory resources available. More importantly, there is already a fairly easy way to call Stata commands from within Mata (http://www.stata.com/manuals14/m-5stata.pdf#m-5stata()) and calling Mata commands from Stata just requires you to prefix the command with "mata:". I'm a bit confused about why this isn't user-friendly enough for you. What improvements would you suggest to the API?
Comment