Computer software is a collection of computer programs, procedures and documentation that perform some specific task on a computer system. Software includes application software such as word processors which perform productive tasks for users, system software such as operating systems, which interface with hardware to provide the necessary services for application software, and middleware which controls and co-ordinates distributed systems.
Softwares can be divided into three catagories:
System softwares : those softwares that help the computer hardware and computer system to run properly. These include operating systems, device drivers, diagnostic tools, servers, windowing systems, utilities and more. The purpose of systems software is to insulate the applications programmer as much as possible from the details of the particular computer complex being used, especially memory and other hardware features such as accessory devices like communications, printers, readers, displays, keyboards, etc.
Programming softwares : Those softwares which provide tools to assist a programmer in writing computer programs and software using different programming languages in a convenient way. The tools include text editors, compilers, interpreters, linkers, debuggers, and so on. An Integrated development environment merges those tools into a software bundle, and a programmer may not need to type multiple commands for compiling, interpreting, debugging, tracing, and etc., because the IDE usually has an advanced graphical user interface.
Application softwares : Those softwares which allow end users to accomplish specific tasks including industrial automation softwares, business softwares, educational softwares, databases, medical softwares, and computer games etc. are called application softwares. Application softwares are also used in Business and other fields of human activities.
Poker Odds Calculator and Application softwares used in gambling include "game theory" and "machine learning". The purpose of game theory to be included in softwares is to make it almost impossible to be cracked by the expert players of that kind of games. The machine learning used in these games includes various types of statistical packages for learning their weaknesses. For example for poker there are various software programs available liken Texas Holdem, , Omaha-8, seven-card stud, Blackjack etc. These games may run under DOS , Windows, Linix or Mac plateform. iPoker is one of the computer games which run under Macintosh plateform having attractive graphics. Hotpoker and Acespade are also computer software games used for playing gambing these days.