ケイバハック

競馬ソフトは自分で作ろう!

プログラムの基本

競馬ソフトを作りたい人が知っておくべきプログラミング言語の違い

競馬ソフトを作りたい人が知っておくべきプログラミング言語の違い

今回は、競馬ソフト開発に向けて、全くプログラミング経験がない人にお伝えしたい情報です。

以前、「プログラムとは何か」が簡単にわかるたとえ話の記事では、次のようなことをご紹介しています。

プログラムとは何か?

  • プログラムは、子供にお使いを指示を出す時のメモ書きのようなもの
  • ただし、コンピューターは人間の言葉がわからない
  • なので、コンピューターがわかる言葉、つまりプログラミング言語で、指示を書く必要がある

そして、「競馬ソフト」というのは、自分の競馬理論をこのプログラミング言語を使い、「コンピューターに対する指示」として書き表したものになります。

なので、競馬ソフトを作るにあたっては、プログラミング言語を学ぶ必要があります。

たくさんあるプログラミング言語

さて、人間の話す言葉にも、日本語、英語、スペイン語、フランス語、中国語、と様々な言葉があるように、プログラミング言語にも、たくさんの種類があります。

例えばですが、TIOBEという企業が調査した、2016年12月時点のプログラミング言語のシェア上位20位は、次のようになっています。

2016年12月時点のプログラミング言語のシェア、トップ20

  1. Java
  2. C
  3. C++
  4. Python
  5. Visual Basic .NET
  6. C#
  7. PHP
  8. JavaScript
  9. Assembly language
  10. Perl
  11. Objective-C
  12. Ruby
  13. Swift
  14. Visual Basic
  15. Delphi/Object Pascal
  16. Go
  17. R
  18. MATLAB
  19. Groovy
  20. PL/SQL

TIOBE Indexより抜粋して引用

で、これらの言語には、共通する部分があります。つまり、どの言語を選んだとしても、「コンピューターに指示を出す」という大枠では、同じことができます。

一方で、言語毎に違いもあります。その違いとは、例えばその文法であったり、効率よく作れる工夫があったり、プログラミングを作る環境(開発環境と言います)の充実具合であったり、大手企業がサポートしていたり、利用者が多くネット上の情報が多かったり、など様々です。

なので、競馬ソフトを作りにあたっては、プログラミング言語は、目的や好みに応じて、選択する必要が出てきます。

例えばJRA向けの競馬ソフトを作りたい場合に選ぶ言語

ただ、プログラミングの経験が全くないと、その違いがわからず、「プログラミング言語を選べ」と言われても、困りますよね。

そこで、「競馬ソフトを作る」という目線で、プログラミング言語の選び方の例をご紹介します。

例えば、JRA向けのWindowsデスクトップアプリの競馬ソフトを作るためのプログラミング言語としては、次の言語を選択するのがオススメです。

  • C#
  • Visual Basic .NET

なぜかというと、JRA-VANという会社が、これらの言語から利用しやすい形で、ソフトウェア開発キットを公開しているからです。

JRA-VANのソフトウェア開発キットのページを見る

このソフトウェア開発キットを使うと、中央競馬の過去のデータから今週開催されるレースの最新情報まで、簡単に利用できるようになります。ただ、そのデータを利用するためには、月額の会費が必要にもなります。

実は、この開発キットには、C++のように他にも対応しているプログラミング言語もあります。ですが、C++は、初心者の人が習得するのには、ちょっとハードルが高い言語となっているんですね。

一方、上で挙げたC#やVisual Basic .NETは、習得しやすい言語というわけです。

Webシステムを作りたい場合に選ぶ言語

上で、ご紹介したJRA-VANの開発キットを利用した場合、その競馬ソフトは、Windowsのデスクトップアプリとして作るのが基本となります。

一方で、Windowsのデスクトップアプリ以外の形でも、競馬ソフトは作れます。例えば、ウェブブラウザからインターネット経由で利用するWebシステムとして競馬ソフトを作るわけです

そのようなWebシステムを作る際に使う言語をご紹介すると次のものがあります。

  • Java
  • Python
  • JavaScript (Node.js)
  • PHP
  • Ruby
  • Perl
  • C#
  • Visual Basic .NET

などなど。

実際のところ、Webシステムは、本当に様々なプログラミング言語で作ることができます。ただ、日本の今現在でいうと、PHPやRubyを利用して開発している例が多いのではないでしょうか。

また、上で挙げた例は、あくまでWebシステムのサーバー側で利用される処理を書くときに利用されるものです。Webシステムを作るには、そのサーバー側の知識に加えて、HTML、CSS、JavaScriptなどの画面側を作るための知識も必要となります。

なので、覚えることが一番多いのがWebシステムとなりますね。

スマホアプリを作りたいときに選ぶ言語

最後に。中には、競馬ソフトを「スマホのアプリとして作りたい」と考えている人もいますよね。スマホのアプリを作りたい場合は、次の言語を選ぶことになります。

  • iOSアプリ: Objective-C または Swift
  • Androidアプリ: Java

このように、作りたいスマホのOSに合わせて、選ぶ言語が変わるのが基本です。ただ、昨今では、Visual Studio for Macのように1つの共通の言語(例えばC#)で、iOSとAndroidのどちらのアプリも作れる開発環境も登場しています。

以上、ご紹介してきたように、プログラミング言語は、複数あり、その目的に応じて使い分けることになります。ただ、何か1つのプログラミング言語を習得すると、他の言語も書けるようになります。基本的なところは、共通点が多いからです。

とりあえず、現時点では、「色々種類があるんだなぁ〜」と、その概要を抑えておいてください。

次に読むべき記事:競馬ソフトを初めて作る人にオススメしたいソフトウェアの3つの作り方

Return Top