【初心者向け】プログラミング言語にはどのような種類があるのか

この記事では初心者向けにプログラミング言語の種類を解説しています。

プログラミング言語っていろいろあるけど、どう違うの?

これからプログラミングを学びたいけど、どの言語にすればいいかわからない。

こんな疑問に答えます。

結論から言うと、言語によって作れるものに大きな差はありません。

例えば、TwitterのようなSNSアプリを作りたいと思ったら、どの言語を選んでも作ることができます。
ただ、作る難易度が違います。

それぞれの言語には、特徴があるので、作りやすいサービスが違います。

そうしたプログラミング言語の特徴をふまえて、初心者が学ぶべき言語はPHPです。

なぜPHPが初心者向きなのかについては、プログラミング初心者にはPHPをおすすめする理由で解説しています。

それでは、プログラミング言語別の特徴や作りやすいサービスについて解説していきます。

プログラミング言語ごとの特徴

主要な言語の特徴を以下にまとめました。

  • Rubyは簡単だが小規模向け

  • Javaは大企業でよく使われる

  • Goならマイクロサービス

  • Pythonは機械学習のライブラリが充実している

上記の特徴について具体的に説明します。

Rubyは簡単だが小規模向け

Rubyはベンチャー企業でよく使われる言語です。

大企業でRubyを使っている会社はあまり聞いたことがありません。
なので、ベンチャーを目指すのであれば、やっておくべき言語です。

Rubyがなぜベンチャー向けなのかというと、簡単でスピーディにサービスを作ることができるからです。

コードをあまり書かなくてもとりあえず動くものができてしまいます。
手っ取り早くサービスを作って公開したいと思っているベンチャー企業には向いている言語なのです。

逆にサービスが大きくなってくると、コードの調整が難しくなってくるというデメリットもあります。

日本人が開発した言語ということもあり、日本語の情報が充実しているので、Rubyを最初に選択する人も多いです。

Javaは大企業でよく使われる

Javaは、Rubyとは対称的に大企業でよく使われる言語です。

ベンチャーでJavaを取り入れている会社はほとんど聞いたことがありません。
元ベンチャーで今は大企業になった楽天は、Javaを使っているようです。

Javaは昔から多くの人に使われてきた言語なので、ライブラリが充実しています。
そのため、「こんな機能がほしい」と思ったら、すぐに実装できるライブラリを探すことができます。

扱うことができる人も多いので、大企業を渡り歩きたいという人は学ぶべきです。

Goならマイクロサービス

Goは今流行っている言語であり、マイクロサービスを作るのに適しています。

マイクロサービスとは単なる小さなサービスというだけでなく、サービス同士を繋げることができます。

先述したRubyやJavaは基本的にモノシリック(単一的な)サービスを作りますが、Goでは小さなサービスをいくつも立ち上げて、それらを繋げて作ります。

マイクロサービスのメリットは、サービスが切り離されているため、修正した時の影響が出にくい点です。

マイクロサービスというサービス設計自体が徐々に主流になりつつあるので、モダンな技術を学びたいならGoがおすすめです。

【元講師が推薦】プログラミングスクールのおすすめ3選

Pythonは機械学習のライブラリが充実している

Pythonは機械学習のライブラリが充実した言語です。

AI系のプログラムを作りたいならPythonがおすすめです。

AIの盛り上がりとともに、今一番人気のある言語がPythonです。

以下の画像をご覧ください。


(出典:stackoverflow)

stackoverflowという海外の技術質問サイトの言語別質問数ランキングです。
ここではPythonが4位になっていますが、上位3つはどの開発現場でも使われる言語なので、開発者が選択した言語としては、Pythonが実質一番人気です。

「人気な言語=1番良い言語」というわけではないのですが、日本でも求人数が多くなるはずなので、Pythonができると就職しやすくなるでしょう。

1つ注意点として、AIは高度な技術なので、Pythonを勉強しただけでは機械学習を扱えるようになるわけではありません。
機械学習向けのアルゴリズムの知識も使うので、さらなる勉強が必要です。

Javascriptはもっと細かく分けることができる

先ほどのoverstackflowの画像では、「Javascript」が1位でした。
どの開発現場でも使われているので1位になるのはほぼ必然的なのですが、このJavascriptもさらに細分化することができます。

 どの技術を使うにしても、JavaScript系の技術は習得必須です。

サーバサイド言語であるnode.js

Javascriptはフロントエンドの言語なのですが、サーバサイドでも使えるように派生させたのが「node.js」です。

ラテン語から派生した英語のように、JavaScriptっぽさも残しつつ、サーバサイドを作ることができます。

フロントエンドとサーバサイドの違いについては、サーバサイドとフロントエンドって何?で詳しく説明しています。

Jacascriptを使いやすくしたVue.jsやReact.js

技術が発展していくにつれて、Javascriptが使いづらくなっていきます。
とはいえ、開発現場に必須のJavascriptを他の言語に代替するのも難しい。

そんな状況で作られたのが、「Vue.jsやReact.js」といったいわゆるJavaScriptのフレームワークのような技術です。

Vue.jsやReact.jsが使われるきっかけとなったのは、SPA(Single Page Application)と呼ばれるサービス作成方法です。

その名の通り、ページを遷移させずに画面を切り替えていく手法であり、ページが切り替わるのを待つ時間が少なくなったり、いちいち戻ったりする手間を防げるようになったので、人気が出てきています。

SPAを使っているサイトの例として、楽天西友ネットスーパーがあげられます。

少し触ってみると、画面の切り替わりが滑らかになっていることがわかるでしょう。

書き方を変更したTypeScript

JavaScriptは古い言語なので、コードの書き方も複雑で効率的ではありません。

そこで登場したのが、「TypeScript」です。

TypeScriptで書かれたコードは、実行時にJavaScriptに変換されるため、共存が可能です。

JavaScriptに比べてコードが書きやすくなっているため、可読性(読みやすさ)や生産性が上がるようになりました。

プログラミング言語を使いやすくするフレームワーク

フレームワークと呼ばれる技術を聞いたことがあるでしょうか。
フレームワークとは、プログラミング言語をさらに使いやすくした技術のことです。

多くの開発現場では、プログラミング言語をそのまま使うのではなく、フレームワークを採用してその中でプログラミング言語を書いていきます。

ここでは、いくつかのフレームワークを紹介します。

  • RubyならRuby on Rails
  • PHPならLaravel

  • PythonならDjango

  • nodeならexpress

RubyならRuby on Rails

RubyといえばRuby on Railsというくらいに、ほぼRubyとセットで使われるフレームワークです。

コマンド1つで簡単にサービスが作れてしまうのが特徴です。

初心者がRuby on Railsを使うと、「こんなに簡単にサービスが作れてしまうのか!」と驚くほどです。

Ruby on Railsを学びたいなら「Railsチュートリアル」がおすすめです。

PHPならLaravel

PHPにはフレームワークがいくつかあるのですが、一番新しいフレームワークがLaravelです。

比較的自由度は高いのですが、簡単に始められるフレームワークなので、初心者がPHPを学ぶのと一緒にLaravelをやってみることをおすすめします。

※僕は今の会社で、このLaravelを使って開発をしています。

PythonならDjango

機械学習のPythonと思われがちですが、Djangoという普通のWEBサービスを作るフレームワークも存在します。

PythonでWEBサービスを作るならDjangoが一般的ですが、Pythonは機械学習として扱っていることが多く、Djangoを使っている求人は多くないです。

ポートフォリオとしてDjangoを使ってWEBサービスを作るのはありだと思います。

nodeならexpress

JavaScriptから派生したnodeですが、さらにexpresというフレームワークもあります。

JavaScriptの進化はすごいですね。

nodeの最大の特徴は、「JavaScriptが書けるだけで、フロントもサーバサイドもできてしまう」ところなので、JavaScriptを極めたいという人は、nodeとexpressを勉強しましょう。

言語の特徴を理解したらやるべきこと

ここまで、プログラミング言語やフレームワークの特徴をお伝えしました。
これらを理解することができたら、次にやるべきことは以下の通りです。

  • やりたいこと(行きたい企業)を決める
  • 入りたい企業(業界)が使っている言語を学ぶ

  • 違う言語に派生していく

やりたいこと(行きたい企業)を決める

まずはどんなことがしたいかを決めましょう。

  • 大企業なのかベンチャーなのか
  • 作りたいサービスはなにか(ECサイト、ゲーム、アプリ)

  • 具体的な企業名

ベンチャーに入りたい人がJavaを勉強しても就職には結びつきにくいです。

ECサイトを作りたいのにアプリの勉強をしても意味がありません。

企業によって使っている技術は違うので、行きたい企業を決めましょう。

入りたい企業(業界)が使っている言語を学ぶ

入りたい企業がなんの言語やフレームワークを使っているのかを調べましょう。

ベンチャーは情報が少ないのですが、ベンチャー転職に使うべきおすすめの転職サイトで、ベンチャー企業の情報の取得方法がわかります。

大企業は多くの技術を扱っている場合が多いので、Javaを勉強しておけばいいかと思います。

違う言語に派生していく

1つの言語を習得したら、他の言語も学んでみましょう。

言語ごとの基本文法はそこまで変わらないので、プログラミングを1つ覚えてしまえば、2つ目、3つ目は比較的簡単に習得できるはずです。

こうしてプログラミングスキルを上げていくことで、入れる企業をどんどん増やしていくことができます。

まとめ

本記事のまとめは以下の通り。

  • プログラミング言語ごとに特徴はあるが、作れるものに大きな差はない。
  • JavaScriptはほとんどの現場で使われるので必須

  • プログラミング言語と一緒にフレームワークも勉強しよう

2019年の人気言語はPythonだと書きましたが、IT業界の流れは早いので、Pythonを習得すれば将来安泰というわけではありません。

時代の流れを把握しつつ、いろんな言語を学んでいく必要があります。

人気記事 フリーランスになるためのおすすめエージェントサイト3選