I’m planning on setting up some databases to house stats for the purpose of sports gambling. For stats/bankroll management calculation purposes, should I use Python,R or C++ ?
I’ve done some elementary programming many years ago, but will pick back up with hopefully the best language for what I’ve described.
There are others here that probably can give you a better answer, but your database isn’t going to be R or Python or C++ (you left out Java, which is an option too). Your database is probably going to be some kind of SQL database (though there are also object-oriented databases).
You’ll connect to the database and manipulate things and output them in a language. Python is probably the fastest to learn and more flexible/multi-purpose than R. R is great for the data analysis part of things, but it is harder to get it to connect to web servers and such for producing output (there is something called “Shiny” that sorta does this). I recently discovered a python library called Pandas which brings in a lot of R-type functionality to Python, which is why I’ve started looking into doing more Python stuff.
If you are just doing data analysis for yourself, maybe go with R, but if you are looking to build up programming skills you can sell, or integrate stuff into a website, Python is likely better.
C++ is kind of the gold standard language for programming. If you can do C++ people tend to assume you can pick up pretty much anything else. Java is a middle ground. It is very C-like, but firmly in the object-oriented paradigm, and doesn’t force you to learn about pointers. I think that the syntax is more coherrent than C, but at a loss of general purpose-ness. I tend to program high level stuff (I don’t need to talk directly to hardware or things like that), and don’t do high frequency stuff, so Java is good enough for much of my stuff that might require a compiled version…
Anyway, I’m not a full time programmer, I just know how to program to solve most of the analysis problems I come up with. R is what I use the most, and I’m exploring Python because it is a more general-purpose programming language than R. I can do C++ and Java, but interpreted languages are nicer for a lot of the things that I find myself doing.
Maybe for whatever you do CSK but not in general. Most analysis can be done in Excel in finance because the data is so sparse. As an example, quarterly earnings reports, daily prices, etc. Imagine being in a situation where you show a billion ad impressions a day and track everything. And then have days, months, etc of data. Ten years of quarterly earnings numbers is 40 data points. LOL
People also haven’t mentioned RPy, which is supposed to let you use R commands in Python. I haven’t tried it, but it’s supposed to be good.
@CSK My understanding is that Pandas is still in development. Some R packages, such as for statistics, are better than what is available in Python.
@Blake Beyond testing something simple or doing some one-off project, the main benefit of excel is simply that other people use it and understand it. If I do a project for a senior person who does not understand R, then it is implicitly assumed that it will be in excel. However, some things are just easier to do in a programming language. After setting it up initially, it takes less time to update and you’re much less likely to make mistakes when you have to change things (you stop constantly worrying if you forgot to copy a formula over).