Horse Racing Forum - PaceAdvantage.Com - Horse Racing Message Board

Go Back   Horse Racing Forum - PaceAdvantage.Com - Horse Racing Message Board > Off Topic > Off Topic - Computers


Reply
 
Thread Tools Rating: Thread Rating: 7 votes, 5.00 average.
Old 11-01-2014, 12:53 AM   #16
Hoofless_Wonder
broken-down horseplayer
 
Hoofless_Wonder's Avatar
 
Join Date: Feb 2008
Location: Portland, OR area
Posts: 2,090
Quote:
Originally Posted by DeltaLover
....In my opinion, it is way better to go through these material instead of just starting from Excel or Access that curiously appear to be so popular here in PA
No mystery. Excel and Access are self-contained programming applications and GUIs to boot. I would be more critical of M$ products if the smartest guy I ever worked with didn't use Excel for almost all his programming and analysis needs - and he was the lead ground system engineer for a NASA satellite program.

What I don't understand, as a self-admitted "challenged" programmer, is why there hasn't been more popular tools like SAS for programming. It seems that every time I turn around there's a new "hot" scripting or programming tool, which always seems to require some serious effort to learn, implement and maintain. I worked with SAS back in the mid 1980s, and it still seems leaps and bounds ahead of what some of the "modern" tools have.

And now the latest thing I have to deal with is integration of established software apps with MicroSoft's Power Shell, which is nothing more than adding some nice unix commands to DOS. Check.
__________________
Playing SRU Downs - home of the "no sweat" inquiries...
Defying the "laws" of statistics with every wager.
Hoofless_Wonder is offline   Reply With Quote Reply
Old 11-01-2014, 08:40 AM   #17
Robert Goren
Racing Form Detective
 
Robert Goren's Avatar
 
Join Date: Jul 2007
Location: Lincoln, Ne but my heart is at Santa Anita
Posts: 16,316
This stuff is being taught in middle school here. To old people like me, it like trying to learning Chinese. The kids could put us oldsters out the handicapping business in a hurry, if they were interested in horse racing, which they are not. Horse racing may be last refuge for the non techie gambler. It seems to me a little tech knowledge, if put to good use(a big if), is a huge advantage.
__________________
Some day in the not too distant future, horse players will betting on computer generated races over the net. Race tracks will become casinos and shopping centers. And some crooner will be belting out "there used to be a race track here".
Robert Goren is offline   Reply With Quote Reply
Old 11-01-2014, 10:24 AM   #18
DeltaLover
Registered user
 
DeltaLover's Avatar
 
Join Date: Oct 2008
Location: FALIRIKON DELTA
Posts: 4,439
Quote:
Originally Posted by headhawg
If you're new to programming, forget about C or C++. In fact, forget about object-oriented programming altogether if you have never coded before. Try learning something like BASIC first. It's been around forever, and the syntax is pretty straightforward. Liberty Basic has a demo version and there's also FreeBasic which is...um...free. Learn to program procedurally and work your way up to OOP. (If you're really adventurous you can use Visual Studio 2013 Express to learn Visual Basic .Net, but I think that might be too much of a challenge for n00bs. Microsoft Virtual Academy has a beginner course in VB .Net -- also free. You could watch the first couple of videos and take the assessments to see if you're ready for it.)
I would vote against any flavour of Basic (especially proprietary implementations like Liberty Basic or VB) since it is not only a think of the past, but is also represents a very limited programming paradigm. I think that more declarative languages like Python or Ruby are perfect choices for the novice, since they are not only easy to start using but the also can be used for very advanced applications and have huge open source resources, fulfilling any imaginable need.

When it comes to more imperative languages, especially C and C++, they certainly have lost momentum and although they will remain alive for as long the operating systems continue to be implemented on them, their user base is shrinking as time goes by and are replaced by more declarative languages that are easier and quicker to develop with.
__________________
whereof one cannot speak thereof one must be silent
Ludwig Wittgenstein
DeltaLover is offline   Reply With Quote Reply
Old 11-01-2014, 10:28 AM   #19
DeltaLover
Registered user
 
DeltaLover's Avatar
 
Join Date: Oct 2008
Location: FALIRIKON DELTA
Posts: 4,439
Quote:
Originally Posted by Hoofless_Wonder
I would be more critical of M$ products if the smartest guy I ever worked with didn't use Excel for almost all his programming and analysis needs - and he was the lead ground system engineer for a NASA satellite program.
Chances are that this guy was not a professional programmer but a scientist who was using the tool he knew the best. I can assure you, that although Excel and OO, both can be useful when working with data, they are never considered as an alternative to 'real' programming languages.
__________________
whereof one cannot speak thereof one must be silent
Ludwig Wittgenstein
DeltaLover is offline   Reply With Quote Reply
Old 11-01-2014, 10:33 AM   #20
DeltaLover
Registered user
 
DeltaLover's Avatar
 
Join Date: Oct 2008
Location: FALIRIKON DELTA
Posts: 4,439
Quote:
Originally Posted by Hoofless_Wonder

What I don't understand, as a self-admitted "challenged" programmer, is why there hasn't been more popular tools like SAS for programming. It seems that every time I turn around there's a new "hot" scripting or programming tool, which always seems to require some serious effort to learn, implement and maintain. I worked with SAS back in the mid 1980s, and it still seems leaps and bounds ahead of what some of the "modern" tools have.
SAS is not a programming language and its approach to to computing belongs in 80s. The 'scripting' languages you are referring to, represent both the present and the future when it comes to software development and by no means they can be seen as competitors to arcane approaches like SAS
__________________
whereof one cannot speak thereof one must be silent
Ludwig Wittgenstein
DeltaLover is offline   Reply With Quote Reply
Old 11-01-2014, 10:40 AM   #21
DeltaLover
Registered user
 
DeltaLover's Avatar
 
Join Date: Oct 2008
Location: FALIRIKON DELTA
Posts: 4,439
Quote:
Originally Posted by Hoofless_Wonder
And now the latest thing I have to deal with is integration of established software apps with MicroSoft's Power Shell, which is nothing more than adding some nice unix commands to DOS. Check.
Windows Power Shell has nothing to do with porting Unix commands to DOS (!). Instead it is a complicated and substandard framework to expose DotNet (and the underlined COM technologies) to the command line. A framework that is close to what you are describing here is https://www.cygwin.com/, but still is far from linux, since by default is loosing a lot of the flexibility of the command line as can be found in bash, ksh, tcsh or zsh.
__________________
whereof one cannot speak thereof one must be silent
Ludwig Wittgenstein
DeltaLover is offline   Reply With Quote Reply
Old 11-01-2014, 11:23 AM   #22
headhawg
crusty old guy
 
headhawg's Avatar
 
Join Date: Aug 2003
Location: Snarkytown USA
Posts: 3,909
Quote:
Originally Posted by DeltaLover
I would vote against any flavour of Basic (especially proprietary implementations like Liberty Basic or VB) since it is not only a think of the past, but is also represents a very limited programming paradigm. I think that more declarative languages like Python or Ruby are perfect choices for the novice, since they are not only easy to start using but the also can be used for very advanced applications and have huge open source resources, fulfilling any imaginable need.
Again, you're thinking more like an experienced programmer who understands the concepts. I've taught enough beginners to know that they can barely understand loops, arrays, or nested IFs let alone classes, objects, and overloaded methods. You want people to learn something that they can use in the future. I would be more interested in having them get a solid foundation in programming logic without any thought of what they might need three years from now. Once the basic understanding is there then people can graduate to a more flexible, powerful language like Python, Ruby, or C#.

For those who might be interested, coursera.org has some programming classes available. LINK Some courses listed are for future dates (like the Intro to Python class), and some are past classes that are still available to sign up for and learn from (like the Learn to Program: Fundamentals class).

And while I'm in favor of people learning how to program, if researching data (datamining) is the goal then I see nothing wrong with using Excel or Access to accomplish that if the limitations of those applications are known in advance. I just can't imagine a beginner trying to make a SQL db connection through Python, or BASIC, or whatever. No need to reinvent the wheel.
headhawg is offline   Reply With Quote Reply
Old 11-01-2014, 12:57 PM   #23
badcompany
Registered User
 
badcompany's Avatar
 
Join Date: Mar 2007
Location: Manhattan
Posts: 3,826
Don't have a dog in this fight, but, Bucky has Python as his intro class for people just getting started.

For someone like me, who took a few classes in college, including basic, and can read a flow chart, but never got past the beginner level of programming, is Python the way to get back in the game?
__________________
“Life does not ask what we want. It presents us with options”

― Thomas Sowell

Last edited by badcompany; 11-01-2014 at 12:58 PM.
badcompany is offline   Reply With Quote Reply
Old 11-01-2014, 01:09 PM   #24
traynor
Registered User
 
traynor's Avatar
 
Join Date: Jan 2005
Posts: 6,626
Quote:
Originally Posted by HUSKER55
he seems to be pushing the c program. how tough is that program ?
Actually, C is only emphasized in the beginning, to present examples of concepts (rather than teaching C as a language). Malan does the same thing (use the language to teach principles) with JavaScript and PHP later in the course.

Mehran Sahami uses the same approach in CS106a from Stanford. He uses Java to teach principles that apply to any programming language, rather than teaching Java only. Then, in CS106b (the next quarter course after Sahami's) the language used is C++. It is not to confuse students by dabbling in different languages--it is to emphasize that if one learns basic programming skills, the language is more a matter of personal choice than anything else.
traynor is offline   Reply With Quote Reply
Old 11-01-2014, 01:35 PM   #25
traynor
Registered User
 
traynor's Avatar
 
Join Date: Jan 2005
Posts: 6,626
Quote:
Originally Posted by badcompany
Don't have a dog in this fight, but, Bucky has Python as his intro class for people just getting started.

For someone like me, who took a few classes in college, including basic, and can read a flow chart, but never got past the beginner level of programming, is Python the way to get back in the game?
Python is weird. Beginners like it because it is easy to learn. Experienced programmers (who know how to avoid the shortcomings and pitfalls of dynamically typed languages that have x as an integer on one line, as a string on another, and as something completely different on yet another line). It is in the in-between areas (not still a novice, but not yet proficient) the problems arise.

Consider something really simple, like naming conventions. If I call final time (a "double" value) "dblFinalTime" and define it as a double value (with a decimal point, rather than being an integer), the app should complain if I try to consider it a string (a collection of letters and words, rather than a number). When I see that name in a line of code later, I know exactly what it is, what it should be, how it is used, and why.

That may seem trivial, and annoying, especially when all the values used have to be declared and initialized as specific "data types" (integers, characters, doubles, character strings, etc.). When your apps start growing, the value of such techniques (and the shortcomings of dynamically-typed languages like Python that let people develop habits like referring to multiple "things" using the same name, and using names like "A1" and "bacon" as variable names for numeric values) will be much more apparent.

With those caveats, Python is a fairly good choice for a "first" language. The principles are pretty much the same. Learn all about the loops and conditionals and arrays in Python, then download Visual Studio 2013 (Visual Basic) and get ready to dazzle the world with your creations. Seriously. Or bypass the Python stage, learn the basic of Visual Basic or VBA, and get straight to the dazzling part.
traynor is offline   Reply With Quote Reply
Old 11-01-2014, 01:41 PM   #26
traynor
Registered User
 
traynor's Avatar
 
Join Date: Jan 2005
Posts: 6,626
Quote:
Originally Posted by badcompany
Don't have a dog in this fight, but, Bucky has Python as his intro class for people just getting started.

For someone like me, who took a few classes in college, including basic, and can read a flow chart, but never got past the beginner level of programming, is Python the way to get back in the game?
If you have any experience at all in writing programs--even at the most basic level, or after watching Bucky for an hour or so--you might be better off going straight for Visual Basic 2013. It has a facility called Intellisense that will explain most of what you need to know on the fly as you are using it.
traynor is offline   Reply With Quote Reply
Old 11-01-2014, 01:48 PM   #27
traynor
Registered User
 
traynor's Avatar
 
Join Date: Jan 2005
Posts: 6,626
Quote:
Originally Posted by Robert Goren
This stuff is being taught in middle school here. To old people like me, it like trying to learning Chinese. The kids could put us oldsters out the handicapping business in a hurry, if they were interested in horse racing, which they are not. Horse racing may be last refuge for the non techie gambler. It seems to me a little tech knowledge, if put to good use(a big if), is a huge advantage.
I agree wholeheartedly. One of the most basic uses is to break out of the "everybody crunching the same old numbers in the same old way" syndrome. Even if that requires a bit of manual entry (shudder, shudder) of data to get a BIG advantage over the point-and-click crowd.
traynor is offline   Reply With Quote Reply
Old 11-01-2014, 02:02 PM   #28
traynor
Registered User
 
traynor's Avatar
 
Join Date: Jan 2005
Posts: 6,626
Quote:
Originally Posted by headhawg
Again, you're thinking more like an experienced programmer who understands the concepts. I've taught enough beginners to know that they can barely understand loops, arrays, or nested IFs let alone classes, objects, and overloaded methods. You want people to learn something that they can use in the future. I would be more interested in having them get a solid foundation in programming logic without any thought of what they might need three years from now. Once the basic understanding is there then people can graduate to a more flexible, powerful language like Python, Ruby, or C#.

For those who might be interested, coursera.org has some programming classes available. LINK Some courses listed are for future dates (like the Intro to Python class), and some are past classes that are still available to sign up for and learn from (like the Learn to Program: Fundamentals class).

And while I'm in favor of people learning how to program, if researching data (datamining) is the goal then I see nothing wrong with using Excel or Access to accomplish that if the limitations of those applications are known in advance. I just can't imagine a beginner trying to make a SQL db connection through Python, or BASIC, or whatever. No need to reinvent the wheel.
I have nothing bad to say about Access or Excel. A HUGE advantage of both is the ability to learn (and use) VBA, which is a subset of Visual Basic. It all translates directly--everything you learn about VBA in Access or Excel can be used in Visual Basic--with a stunning application like Visual Studio to do it in.

It is also very easy to wire a VB application to Access or Excel--to use all the data and facilities in an Access database or Excel spreadsheet--without ever seeing it onscreen. Not rocket science or a steep learning curve. No more than a couple of lines of code.
traynor is offline   Reply With Quote Reply
Old 11-01-2014, 02:14 PM   #29
traynor
Registered User
 
traynor's Avatar
 
Join Date: Jan 2005
Posts: 6,626
Without regard for brand, I don't think EITHER a database or spreadsheet is an appropriate choice for data mining--other than as a place to store data used in another (dedicated data mining) app.

I cannot imagine why anyone would fiddle around writing hundreds of queries and macros for whatever database, "cloud" or otherwise, when they can feed the data to RapidMiner or WEKA or Anaconda3 with a couple of mouse clicks, and get back information that would take a horrendous amount of time and effort to duplicate. Access and Excel (and the open-source clones and alternatives) are nice to store stuff, or to do simplistic, one-dimensional data manipulation. Not much more.

Of course, you can always take a shortcut, learn enough basic programming to stuff the data into a text file, and go straight to the data mining with RapidMiner, WEKA, or Anaconda3, find out what works, and use it.
traynor is offline   Reply With Quote Reply
Old 11-01-2014, 02:25 PM   #30
traynor
Registered User
 
traynor's Avatar
 
Join Date: Jan 2005
Posts: 6,626
Quote:
Originally Posted by MJC922
Good post. For me when we talk about getting complete novices off the ground with programming I think back to an old book like John Smiley's Learn To Program VB6, maybe there's something more current on the order of that. VBA and VB6 have a lot of common ground between them. I started with Basic on the VIC20 and Commodore64. Being just a young kid at the time I would've benefitted a great deal from formal instruction and never got it which didn't help matters, so I can see where others are coming from. On the other hand it's a different time, I have a hunch that it may be more efficient for the aspiring computer handicapper / researcher to choose software tools first like Excel / Access and learn hands on as never before by leveraging online resources, tutorials, forums etc. I guess the big question is what do people want to do, what type of output are they looking to get out of the software.
A bigger question would be, "Do you have some ideas that you want to try out, that you think may work well, that you think may give you an advantage over the crowd?" In that case, it is worth the effort to learn enough programming to write a basic app for your own use to test your ideas.

One of the most proficient on-track handicappers I know uses a TI-94 graphing calculator, and manually enters the data for the races she is handicapping. No data downloads, no laptop or tablet app with bells and whistles, and--most importantly--none of the weird "adjustments" made by most software apps.
traynor is offline   Reply With Quote Reply
Reply




Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

» Advertisement
Powered by vBadvanced CMPS v3.2.3

All times are GMT -4. The time now is 02:12 AM.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Copyright 1999 - 2023 -- PaceAdvantage.Com -- All Rights Reserved
We are a participant in the Amazon Services LLC Associates Program, an affiliate advertising program
designed to provide a means for us to earn fees by linking to Amazon.com and affiliated sites.