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

Share on:

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

<div class="name">
</div>
プログラミング言語っていろいろあるけど、どう違うの?

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

こんな疑問に答えます。

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

例えば、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 選