プログラミング言語を使い分けるには?

記事
IT・テクノロジー

プログラミング言語を使い分けるには?

プログラミング言語はたくさんありますよね? プログラミングを学習する際にどれから勉強したら良いか迷う場合も多いと思います。最近はあまりに多すぎてどんなプログラミング言語があるのか把握するのは難しい感じです。

どの分野のプログラミングをするかの方向性がある程度決まると、幾つかのプログラミング言語に絞られてくるので勉強する対象も限られてきますが、分野を絞れないとなかなか難しい物があります。

Web開発ならJavascript系

例えば、Web開発ならば基本はJavascript系になるので範囲もかなり絞られます。これには理由があって、Webアクセスの基本のWebブラウザで動くプログラミング言語がJavascriptだからです。最近は、Typescriptが注目されていますが、実際にWebブラウザで動くのはTypescriptのプログラムをJavascriptにしたものになります。

Webブラウザ上で、UIを作るのにHTMLとCSSを使うので、「Javascript」、「HTML」、「CSS」がWeb開発を行う上での基本になります。

フロントエンドと言われるWebブラウザで実行される部分はこれだけですが、サーバー側(バックエンド)も必要になる場合は、別の言語が必要になる場合があります。バックエンドで使用する言語は、ebサイトをホスティングするサーバーの設定によっていろいろな言語が選択できるので、迷う部分でもあります。

このブログでは基本的にJavascript(Typescript)だけで、プログラムが可能になる、Firebaseをバックエンドで使うことで、勉強する言語をあまり広げずに「Webシステム」を効率的に作る方向で記事を書いています。

学習の範囲を余り広げないのがコツです
プログラミング言語を使い分けるコツは、シンプルで「学習範囲を必要以上に広げない」というのが鉄則です。ところが、どうしても別の言語を使う必要がある場合です。

例えば、最近はWeb開発以外の仕事で機械学習(マシーンラーニング)を使う必要がある場合が時々あります。機械学習を利用する場合は、機械学習のパッケージが多いPythonなどの方が有利です。その場合は、別のプログラミング言語に手を広げる必要が出てきます。

つまり、用途によって「必要な場合に限って」別の言語を選択するということになります。

一つの言語はしっかりマスター

ところで、別の言語に手を広げる場合にはポイントがあります!

* 言語は「覚えない」
* 一つの言語の基本はマスターしている(知っている)
* 一つの言語を使って「プログラム」を作れる
この3点です。 現在よく利用されているプログラミング言語は基本的に似ています。もちろん、細かい書き方は違うのですが、基本的な「コンセプト」は共通の部分が多くなっています。したがって、一つの言語の基本的な知識があれば、他の言語でプログラムを書くこと自体はそれほど大変ではありません。

そこで、基本的にプログラミング言語の細かい部分は覚えないという事を意識すると、気持ちが楽になります。実際、インターネットで検索すれば、細かい書き方はすぐに見つかる環境なので、「覚える」より「慣れる」方が重要です。よく使う書き方は、その言語でプログラミングを書いていれば自然に慣れて、その度に検索しなくても書けるようになるので心配はありません!

一番大切なのは、どのプログラミング言語でも、どうやって「機能」を実現するかの方が重要です。なので、プログラムを作れるというのはとても大切です。あとは、書き方の細かいところが違うだけなので、少し余分に時間を使えば別のプログラミング言語でも基本的に書くことができます。

ただし、言語によって制約や制限があるので、「できない事」が出てきます。これが、別のプログラミング言語に手を広げる理由です。したがって、学習のポイントは、そうした「特徴的な事」はなにかを理解して、そこに集中するのがポイントです。

大抵のことはJavascriptで出来る!
この連載は、Web開発とFirebaseを中心にお届けしています。それには、理由があって、大抵のことはJavascriptでできるからです。Web開発のフロントエンド、バックエンド(Node.js)は当然カバーできますし、ちょっとしたコマンドラインのアプリならば、Node.jsで実現できます。 最近お伝えした「Electron」を使えばデスクトップのアプリも作れます。

目的が、「アプリ」の開発の場合、殆どできない事はありません。

アプリ開発を目指す場合には、他の言語に手を出すよりJavascriptをサポートするReactやVueのフレームワークやFirebaseなどを学習した方が有利です。

最近話題の「AI」は?
最近話題になっている「AI(人工知能)」がありますが、プログラミングの世界ではAIというよりは、マシーンラーニングやディープラーニングなどと言われる場合が多くなっています。

このマシーンラーニングやディープラーニングを利用したアプリの需要が最近は結構増えてきています。この分野は、「Python」で書かれたパッケージが多く利用されているので、こうしたアプリの開発を考えた場合、JavascriptよりPythonを利用した方が効率よく開発ができます。

こうした背景もあって、最近はPythonで簡単なマシーンラーニングを使ったアプリの開発の仕事も増えてきています。

そう考えると、アプリ中心の開発を目指す場合は、余り手を広げずに、Javascript系を中心に必要に応じて、Pythonやバックエンドの言語(PHP/Java/Ruby)などに絞ると、比較的広い範囲の仕事を受けられるようになります。

まとめ
プログラミング言語を使い分けるコツは「手を広げない」で使うプログラミング言語を必要最小限にするのが一番のポイントです。その上で、別のプログラミング言語を学習する場合は「覚えず」に「慣れる」を頭において、調べならプログラムを書くのが一番の近道です。

いずれにしても、一つのプログラミング言語を「使いこなせる」ようになった上で、その言語の特長的な事を中心に学習すると上手く使いこなせます。

インターネット関連で需要の多いWeb開発と最近話題のAI関連のアプリは、JavascriptとPythonを使いこなせると十分に対応出来ると思います。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す