What dev environment should I use for data analysis on Mac?
I'm starting to develop an application and I'm not sure what environment (languages, tools, etc.) I should use. Here are some infos:
The app analyses a bunch of data that I have in a database. There is a lot of rolling, weighted averages - not too complicated, but probably too tricky to do in SQL.
At work, I'd probably end up with an OracleDB and a bunch of stored procedures. However, this is a private project and I've recently switched to a Mac.
After the analysis is done, I might want to expose the results on the web. As my hosting package includes a MySQL database, I'd like to work with that as a database engine. I'm not sure how good the support for stored procs on MySQL is and what tools to use for writing and debugging - any equivalent to Toad on the Oracle side?
When developing on Windows, I could write the analysis functionality as a C# or VB app - what would be a good equivalent on the Mac side?
Any suggestions would be appreciated. I开发者_开发百科'd especially like to get a better understanding of some "modern" languages (such as Ruby or Python) if this makes sense for what I want to develop.
Python seems like a good choice. It's probably what I would use, but that's because it's what I'm good at already.
MySQL supports stored procedures from 5.0 forward, I believe. I'm only a self-taught database guy, and I've never had occasion to use them. I'd make sure your host is using a recent MySQL version.
You might also consider the R language, which is cross-platform, open source, and highly capable in a wide variety of dimensions: incredibly varied and complete statistical analysis, plotting capabilities and support for MySQL (and other) database interfaces. You can submit SQL commands to your backend database and manipulate (including date arithmetic), analyze and plot/chart your data in R. Highly recommended. R is an interpreted language, and thus easy to experiment with. I know it also has integration available with Python and I believe Ruby as well.
Another reason that you might find this intriguing is that R is very capable in a vector/matrix sense, akin to Matlab / Octave. Pay special attention to the "data frame" related features of R, as you can retrieve tabular query data as an R data frame, and do calculations on all or specific elements of the frame very easily (for example, calculating means/averages over ranges of dates, etc.
http://www.r-project.org/
Take a look at this if you're interested: cran.r-project.org/doc/manuals/R-intro.pdf
Cheers,
Leo
精彩评论