皆さんおはこんばんちわ、SoulArrowプログラミング講師のこんたです。3月~4月は新入社員研修やら外部登壇やらで何かと忙しく更新が滞っていましたが、
久しぶりにブログ書いてみました。

前回、プログラミングってそもそも何なのかというお話をしてみましたが、
今回はその第2弾です。

2022年現在、大小合わせると1000を超えるほどのプログラミング言語があります。

これだけの数の言語があると、いざエンジニアになろうと考えても何を勉強すればよいのか
わかりませんよね。

ですので今回は(独断と偏見で選んだ)主要なプログラミング言語をピックアップして、
ご紹介できればと思います。

1.Java
2.Python
3.Ruby
4.C
5.C++
6.C#
7.Go
8.Kotln
9.Swift
10.HTML
11.JavaScript
12.CSS
13.SQL
14.PHP
15.R

1.Java
Javaは様々な場面で使うことのできる汎用性の高いプログラミング言語です。特徴としてOSに依存しないプログラムを作ることができるので、MacやWindows、Linuxなどの様々なOS上で動作するシステムの作成を行うことができます。

具体的に作れるものとしてはWebアプリケーションの開発やサイトの作成、業務システムの作成などができます。

習得の難易度はオブジェクト指向などの考え方が絡んでくるのでやや高めですが、
汎用性の高さから今なお人気のある言語です。
就転職を目指している方はまずここから勉強するのもおすすめです。

2.Python
Pythonはアプリ開発や機械学習で使われる言語です。コードが書きやすく、プログラミング初心者にもおすすめできる言語となっています。
最近の市場ではAIなどの機械学習の人気が上がってきており、再注目されています。

Pythonの特徴としては
①誰が書いても同じになる可視性の高いコード
②汎用性が高く、何でも作れる柔軟性
③AI関連のプログラムを作るための機能の豊富さ
の3点があげられます。

習得難易度としてはそこまで高くはないですが、機械学習等を行う場合は
ある程度数学的な知識も必要になるため総合的な難易度は高めです。

3.Ruby
Rubyは日本で作られたプログラミング言語で、インタプリンタ言語という人間が書いたプログラムをコンピュータが実行する際に1行ずつコンピュータが読み取れる機械語に翻訳していきながら、そのプログラムを実行していく方式を使っています。
日本で開発されたプログラミング言語としては、初めてIEC(国際電気標準会議)で国際規格に認証されているほか、「ストレスなくプログラミングを楽しむ」ことを重要視しているため、プログラミング入門として幅広くの人に親しまれている言語です。

言語の特徴としては先ほど述べたストレスなくプログラミングができる点に加え、「Ruby on Rails」という便利なWebアプリケーションフレームワークを用いることでSNSの作成が可能な点があり、実際にTwitterはこのRuby on Railsで開発が行われています。

簡単に習得できる部類のプログラミング言語のため、プログラミング初心者はここから始めてみるといいかもしれないですね

4.C
古くから使われているプログラミング言語のひとつで、特に海外では人気の高い言語になります。後述する「C++」や「C#」といった言語も、このC言語から派生して作られた言語となっています。

ソフトウェアの開発からOSの開発、果てはゲームの開発までとんでもないレベルの汎用性の高さとコンパイル方式特有の実行の速さが特徴の言語です。

習得できればオールラウンドに活躍できるエンジニアになれる言語ですが、習得難易度はとても高く言語知識以外にもメモリやCPUといったパソコンの中身の知識も必要になる言語です。
初心者にはお勧めできませんが、ある程度ほかの言語を学んだ経験者のステップアップとして勉強するのにはお勧めです。

5.C++
前述したC言語の派生形のひとつがこのC++です。
C言語には「オブジェクト指向」というプログラミングの考え方はなかったのですが、その考え方を追加することでさらに効率のいい開発を行えるようになったことがC++の特徴です。

C++では車載システムや家電に組み込まれているシステムの開発、Iot技術や、ロボット技術などの最先端のテクノロジーを用いた開発などを行うことができる言語となっています。

C言語と同様習得難易度はとても高いものの、習得することでさらに派生の言語も習得することができるようになるため、エンジニアとしての市場価値を高めることのできる言語となっています。

6.C#
C言語のもう一つの派生形がこのC#です。
2010年に開発された比較的新しい言語ですが、C言語から引き継いだ汎用性の高さから、主にもともとC言語を習得していたエンジニアから人気のある言語となっています。

C#単体で何かを作成するというよりは、様々なフレームワークと組み合わせることでゲームやアプリ、システムなど様々なものを作成できるのがこの言語の特徴です。
また、本格的なゲーム開発やAR、VRといった最新技術を使った開発を行うためのフレームワークがある点も特徴の一つといえるでしょう。

習得難易度はこれもかなり高いですが、習得のために努力してみて損はない言語です。

7.Go
Go言語はGoogleが開発したプログラミング言語で、規模の大きな開発に向いた言語となっています。
日本での知名度も最近上がってきたG言語ですが、海外では主要な言語としてメキメキ頭角を現しつつあり、年収1000万円も狙える言語として大変人気があります。

特徴としてはほかの言語と比べてかなり機能がシンプルとなっており、他の言語では複数ある記述方法も、Goでは最小限にすることで表現のばらつきなどを抑えています。
また、作成したプログラムの拡張性が高い言語としても有名で完成させたプログラムに対して後で機能を追加しやすい言語となっています。

作成できるものとしてはWebサーバーやアプリケーションの作成に向いた言語となっており、習得難易度もそれほど高くないことから初心者からほかの言語の経験者まで幅広いエンジニアにお勧めできる言語となっています。

8.Kotlin
Kotlinは「Javaよりも簡潔に安全性を高く」という意図で開発された言語です。
2011年開発と比較的最近作られた言語となっていますが、2019年にGoogleがAndroidアプリの開発に推奨する言語として発表を行ったことで注目を浴び始めた言語です。

特徴として、Javaを踏襲しているためJavaの動作環境で同じように動かせる点とJavaよりも簡単にプログラミングを行える点があげられます。

習得難易度としてはシンプルな記述を行える点や、Javaよりもエラーが発生しづらいという点で比較的簡単に習得できる言語となっています。
まだAndroidアプリの開発以外にはできることは少ないですが、将来性のある言語です。

9.Swift
Swiftは2014年開発とかなり新しい言語です。
KotlinがAndroidアプリの開発に使われる言語として使われるのに対し、iOSアプリの開発に使われるのがこのSwiftです。

特徴としては処理速度がほかのプログラミング言語と比べてもかなり早いことがあげられます。また、プログラマーが見つけにくいエラー箇所も開発段階で教えてくれるため、安定性の高い言語としても定評があります。
これらの特徴から、ユーザーにも開発者にも優しい言語と言える言語でしょう。

また習得難易度もかなり低く、開発環境も簡単に整えられるため、初心者でも手軽に始めることのできるプログラミング言語となっています。

10.HTML
HTMLは主にほかのプログラミング言語と組み合わせて使われることの多い言語です。
できることとしては、Webページの作成を行うことができます。

・・・え、それだけ?って思いましたよね。そうなんです、だからこそ、他の言語と組み合わせて使う必要があるんです。

Javaなど、Webアプリケーションの作成ができる言語と組み合わせることでWebサイトを作成することができるのがこのHTMLの特徴です。
単体で使うことはあまりないですが、Webアプリケーションを作成するうえでは必須の知識なのでほかの言語とセットで勉強することが多いです。

習得難易度はそれほど高くはないですが、他の言語と比べると独特の書き方をするので慣れるまでは人によっては大変な場合もあります。

11.JavaScript
JavaScriptはWebサイトに動きをつけることのできるプログラミング言語で、クライアント側で動作する特性を持ち、HTMLや後述するCSSを適応させたコンテンツに変更を加えることができます。

スタイリッシュなWebページなどのちょっと凝ったものを作りたいとなった場合に使われることが多いです。

最近のWebページではほとんど使われていることもあり、とても人気のあるプログラミング言語です。また、習得難易度もかなり低めなのでまずはここから勉強する人も多い言語となっています。

12.CSS
CSSはHTMLで作られた文書構造にデザインを加えることで見栄えをよくすることができる言語です。単体で何かできる言語ではなくあくまでHTMLと組み合わせることで使える言語になります。

CSSを使うことでHTMLで作成したWebページをよりデザイン性のあるものに変えることができるため、JavaScriptと同じく最近のWebサイトではほぼ確実に使われているような言語になります。

習得難易度もHTMLと同程度のため、2つをセットで教えているスクールや参考書も多いです。

13.SQL
SQLはデータベース言語と呼ばれる、データベースを扱うために必要な言語になります。
厳密にはプログラミング言語ではないのですが、プログラミングと密接にかかわる部分もあるため、紹介させていただきます。

まず簡単にデータベースの説明をさせていただくと、ざっくり整理整頓されたデータの集まりや保管場所のことです。
例としてはA〇azonとか楽〇とかの商品データが全部保管されてる場所って考えていただけるとわかりやすいと思います。
SQLはこのデータベースにアクセスしてそれらの情報を調べたり、データの追加や削除を行うために使われる言語になります。

Webアプリや社内システムとは切っても切り離せない言語のため、様々なシーンで使われており、いまでも人気な言語です。

14.PHP
PHPはJavaScriptやHTMLなどと同様に、Webページを作成するうえで必要なプログラミング言語です。

PHPの特徴としては動きのあるページを作成することができる点があげられます。「動きのあるページ」とはアクセスしたタイミングや状況によって表示内容が変わるページのことです。
また、HTMLの記述に組み込んで使うことができるためCSSのようにHTMLで作ったWebページに変更を加えることができる言語となっています。

また、Webページを作るうえで有名な「WordPress」はこのPHPで作成されているため、PHPの知識があればカスタマイズを加えることが可能です。

難易度もプログラミング言語の中では簡単に習得できる部類のため、初心者にもおすすめです。

15.R

最後はR言語です。R言語は数学的な計算や統計学、分析に秀でたプログラミング言語です。
統計計算やグラフィックの分野に特化しており、Excelのようにグラフを作成したり、大量のデータを処理することができる言語となっています。

上記以外の特徴としては、Javaと同じでどんなOSでも扱えることやコード自体は簡単ということがあげられますが、使いこなすには統計学などの数学的な知識が求められるためコードを覚えれば解決という言語ではありません。
よく似ている言語としてPythonと比較されますが、違いとしてはPythonよりもグラフの作成や大量のデータ分析に向いている言語です。逆に機械学習やWebアプリケーションの作成を行いたい場など幅広くプログラミングを行いたい場合はPythonの方が優れています。

難易度としては上述したようにコードだけならそこまで難しくないものの、数学的な知識が必要になるため、総合的に難易度は高い言語になります。

いかがでしたでしょうか?学んでみたい言語は見つかりましたかね。
個人的には今エンジニアとして転職を目指している方には、Java、Ruby、JavaScript、Pythonあたりが勉強するのはおすすめかなぁと思います!

今回紹介した以外にも様々な言語があるので興味があればご自身でも色々調べてみてください!

それではまた次回お会いしましょ~