Which programming language?

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • illfuuptn
    SBR MVP
    • 03-17-10
    • 1860

    #1
    Which programming language?
    If I'm going to learn a programming language by next April what is the best one? IOW can I learn the BEST language well enough to build a model by then or will I have to settle for something else? What about a database software?

    Cliffs:

    -Programming language?
    -Best database?
    -What other functional tools do I need to build a model? Programming language should cover scraping and simulation processes, right? Could I do Monte Carlo sims with a programming language? And the database will be where I store all the stats I collect? Anything else?
  • TomG
    SBR Wise Guy
    • 10-29-07
    • 500

    #2
    If you just want to build a model, start by learning Excel. If you want something more powerful, learn R

    Perl, Python, and SQL are probably good to know as well. I actually don't know how to use those and do everything using just Excel and R.
    Comment
    • Spektre
      SBR High Roller
      • 02-28-10
      • 184

      #3
      I'll make some assumptions here:

      1. You have access to Microsoft rools for a reasonable price.
      2. You are building a database for your own use (not as a backend to a multiuser environment)

      I would choose three tools.

      MS Excel
      MS Access
      Visual Studio

      Visual Studio has a free version online. I would suggest Visual Basic, but you could jump into Visual C# if you want.

      Pros:
      It is very well supported.
      Has all the power you need to do this or future programming projects.
      Is a popular platform for future employment.
      It's free (a version of it is)

      Cons:
      To do web based programming will take a bit more work.
      Is daunting sometimes for a new person, but most any decent tool is these days.

      MS Access is easy to use and interface with Visual Studio and Excel. It is plenty powerful enough for a single user. It is not free. (There are some variants of SQL server that are)

      MS Excel is excellent for rapidly prototyping formulas and can actually work as a poor man's database. It is also not free.

      Spektre
      Comment
      • illfuuptn
        SBR MVP
        • 03-17-10
        • 1860

        #4
        I should've included this in my OP sorry. I don't want to do excel. Even though vba can do quite a bit it just seems like excel is far too messy for simulation-based programming. I'm willing to put in the time to learn a widely-used and even difficult language since this will make it easier(or less stressful at the very least) to do the actual programming. And I also think knowing a major language could prove beneficial down the road.

        What is probably THE best language for sports betting-related programming?
        Is that language the hardest one to learn?
        Could I learn it well enough by next april?
        Comment
        • Spektre
          SBR High Roller
          • 02-28-10
          • 184

          #5
          There is nothing magic to sports betting modelling or math.

          Anything with standard programming constructs of variables, branching, and looping will work.
          Comment
          • illfuuptn
            SBR MVP
            • 03-17-10
            • 1860

            #6
            Java, Perl, Python? Will I have to learn SQL as well?
            Comment
            • ScreaminPain
              SBR High Roller
              • 09-17-08
              • 246

              #7
              Does anyone know anything about RUBY. Just checked out a tutorial from the library....seems very easy to learn, but I know very little about programing....
              Comment
              • uva3021
                SBR Wise Guy
                • 03-01-07
                • 537

                #8
                learn how to parse and manipulate the retrosheet and you will be an SQL expert, your new god will be GROUP BY
                Comment
                • durito
                  SBR Posting Legend
                  • 07-03-06
                  • 13173

                  #9
                  sbr forum moderator, author, and super sharp justin7 programs with Pascal.
                  Comment
                  • rsigley
                    SBR Sharp
                    • 02-23-08
                    • 304

                    #10
                    here's card 1 from my baseball model

                    Comment
                    • sharlataans
                      SBR MVP
                      • 08-13-10
                      • 1927

                      #11
                      If you are just starting out I would advise this language: http://en.wikipedia.org/wiki/Brainfuck
                      Comment
                      • Wrecktangle
                        SBR MVP
                        • 03-01-09
                        • 1524

                        #12
                        Mathematica 8. You can do everything in it, stat, optimization, graphics; costs $250. However, some of the commands are a little cryptic like the Brainf*ck language above.
                        Comment
                        • Wrecktangle
                          SBR MVP
                          • 03-01-09
                          • 1524

                          #13
                          As for best free, I would go for Python and MySQL. Python is easy to learn and you can pretty much do everything you need in it and even build dbs with it if you like.
                          Comment
                          • Chipp
                            SBR Hustler
                            • 08-09-09
                            • 51

                            #14
                            Wreck, can one build dbs w/ Mathematica?
                            Comment
                            • Miz
                              SBR Wise Guy
                              • 08-30-09
                              • 695

                              #15
                              Excel and VB
                              Comment
                              • Dark Horse
                                SBR Posting Legend
                                • 12-14-05
                                • 13764

                                #16
                                I'm also thinking about learning to program. Just wondering how much of a time investment it would be, and if it wouldn't be cheaper to hire a programmer. I would be looking to build databases for quick calculations and comparison (that would otherwise be very time consuming). Any words of wisdom or recommendations?
                                Comment
                                • jgilmartin
                                  SBR MVP
                                  • 03-31-09
                                  • 1119

                                  #17
                                  Originally posted by Dark Horse
                                  I would be looking to build databases for quick calculations and comparison (that would otherwise be very time consuming). Any words of wisdom or recommendations?
                                  I use the PHP / mySQL tandem. I find it pretty easy, but I had some basic programming experience prior to learning PHP, so it might seem tricky at first if you have literally zero programming experience.
                                  Comment
                                  • whitey
                                    SBR Sharp
                                    • 04-01-08
                                    • 485

                                    #18
                                    Originally posted by jgilmartin
                                    I use the PHP / mySQL tandem. I find it pretty easy, but I had some basic programming experience prior to learning PHP, so it might seem tricky at first if you have literally zero programming experience.
                                    I have to agree here, using PHP and mySQL is going to be the simplest thing to do. Php is no harder than learning perl or java or any of the other languages people mentioned here and the integration with mySQL will just make your experience 10x easier. Not to mention its all free.

                                    If you have access to a linux machine setting up the environment is very simple, you'll be ready to go in 5 minutes. There are tutorials all over the internet on how to do this. If you're doing it in windows its slightly more complicated to set up but once you're going its easy to program.

                                    Another option is C# and MSSQL. You can download Visual Studio 2010 and MSSQL Express for free and start programming right away. The biggest downside here is you have to learn more about how projects work compiling etc... with php its just like writing a text page then running the page through a browser or command line.
                                    Comment
                                    • Wrecktangle
                                      SBR MVP
                                      • 03-01-09
                                      • 1524

                                      #19
                                      Originally posted by Chipp
                                      Wreck, can one build dbs w/ Mathematica?
                                      Basically, you can build dbs in most any language, but it is easier to use a language that is set up for it. Mathematica would take some time, and to really use it you've got to learn to think "in" it. So yes, you can.

                                      Once you learn it, Mathematica excels in function programming, i.e. it has a powerful set of functions to can be used to work any problem with a minimal amount of code. Some times you can write things in 1/100th to 1/1000th the length in lines you have to in, say, MATLAB or C for that matter. But it is not an intuitive language and with over 8000 functions, it is hard to get "in your head".
                                      Comment
                                      • uva3021
                                        SBR Wise Guy
                                        • 03-01-07
                                        • 537

                                        #20
                                        I find Stata to be very of tremendous utility, its programming syntax being both logical and familiar
                                        Comment
                                        • WendysRox
                                          SBR High Roller
                                          • 07-22-10
                                          • 184

                                          #21
                                          Well, this is sort of relevant... http://wendysrox.mysbrforum.com/photos/l/7X9rKWxY.jpg

                                          :edited to remove enormous picture
                                          Comment
                                          • Maverick22
                                            SBR Wise Guy
                                            • 04-10-10
                                            • 807

                                            #22
                                            Dont use PHP or python. Because you are a beginner programmer. Use java. There are more resources online, which will allow you to take advantage of the language

                                            use Mysql For your database server. Create your database(s) in the form of 'star schemas'. Use Mysql[Work]Bench to do the modelling table creation.

                                            After you give it the good ole college try and have your database structure defined and created. You pick a sport, and you can take a look at mine. I'm a master data modeller, and all should bow down to my greatness. [It is called a model... but i wont use that word here. People will get up in arms about the meaning of the word 'model']

                                            Hook that database in with your java code. and you are in there to win it

                                            And use a real programming language... not php You dont want to use a scripting language, to do what a programming language is defined for.
                                            Comment
                                            • Flight
                                              Restricted User
                                              • 01-28-09
                                              • 1979

                                              #23
                                              For beginners that want to experiment, Python is for sure the way to go. You will be building models in no time, and you will love using Python for the rest of your life.

                                              And this is coming from a hardcore C#/MSSQL/MS.NET guy with a MSDN Pro license.

                                              Sorry Maverick, I just cannot recommend Java to a newb (and it is my #2 favorite language of all time - it is the best in terms of language design and correctness, but these guys don't need to be learning about OOP, inheritance, and virtual functions, it would only delay their modeling).
                                              Comment
                                              • Maverick22
                                                SBR Wise Guy
                                                • 04-10-10
                                                • 807

                                                #24
                                                You dont have to program using object if you dont want to.

                                                I have a few beefs with Python. The first being is it easy to create a new variable without being aware of it. And you have to be good enough of a programmer to understand that, and catch it.

                                                Second, there are no types. So you can change the "type" of a variable without being aware of it.

                                                Easier does not mean better.
                                                Comment
                                                • podonne
                                                  SBR High Roller
                                                  • 07-01-11
                                                  • 104

                                                  #25
                                                  Originally posted by illfuuptn
                                                  If I'm going to learn a programming language by next April what is the best one? IOW can I learn the BEST language well enough to build a model by then or will I have to settle for something else? What about a database software?

                                                  Cliffs:

                                                  -Programming language?
                                                  -Best database?
                                                  -What other functional tools do I need to build a model? Programming language should cover scraping and simulation processes, right? Could I do Monte Carlo sims with a programming language? And the database will be where I store all the stats I collect? Anything else?
                                                  Its a big job to start from scratch! Do you know any programming language now? VB/VB.NET was always easiest for me to use, not as powerful or fast but super easy to learn and very forgiving to novices (variable and method names are not case sensitive, big whew).

                                                  Again for a pure beginner, download Visual Studio Express Edition 2010 for VB (FREE!). Yeah its an "environment" that you have to learn, but in terms of getting started it automates a huge amount of upfront work and configuration. Download, install, click new project, then click run and you have a running program with a widow open. No other language\environment I know can get a running program up so quickly.

                                                  All you need in addition to an enviroment\language is a DB to hold your data. Hard to recommend a DB for beginners, but you'll go a long way with MySQL. There are great free programs to do complicated things like create tables (SQLyog), so all you really have to learn about SQL is how to do INSERT and SELECT statements.

                                                  Also, I'm available for consulting work if you need help. I've been writing scrapers and advanced model buildng in VB\VB.NET and MySQL for 5+ years. PM if interested.
                                                  Comment
                                                  Search
                                                  Collapse
                                                  SBR Contests
                                                  Collapse
                                                  Top-Rated US Sportsbooks
                                                  Collapse
                                                  Working...