プログラミング言語って何?
英語とか日本語のこと?
未経験でこれからエンジニア目指す人はどの言語がいいの?
そんな疑問にお答えします。
この記事を読んで分かること
- プログラミング言語の基礎知識
- プログラミングの仕事内容
- おすすめのプログラミング言語
- 無料で学べるプログラミングスクール
エンジニアを目指す人にとって、必要不可欠なのがこの『プログラミング言語』。
どんな種類の言語があって、どの言語がどんな仕事で使われているのか見ていきましょう。
最後に無料で学べるプログラミングスクールの情報も記載しているので、そちらも興味があればぜひどうぞ!
1. プログラミング言語ってなに?
プログラミング言語とは、ある一定のルールに基づいて『文字』などを組み合わせた体系のことです。
う~ん、よく分からないですよねw
簡単に言ってしまうと、機械に指示するために用いられる言葉みたいな感じです。実際に言葉というと語弊が生まれてしまうかもしれないですが、私たちが話す日本語とか英語みたいな日常的に使う言語(自然言語)ではなく、人の手によって作られた形式的な言語(形式言語)のことです。
なので、私たち人間はプログラミング言語で会話することはできませんが、機械と会話するためにはプログラミング言語が必要になります。
このプログラミング言語があるおかげで、機械に色んな指示を出すことができます。
例えば、LINEでメッセージを送信するとき、最後に必ず『送信ボタン』を押しますよね。ボタンが押されればメッセージは送信されますが、この裏ではプログラミング言語を使って、「この『送信ボタン』が押されたらメッセージを送信する。」みたいな指示を設定したから送信が実行されたという事です。
・なんで色んな種類のプログラミング言語が必要なの?
それぞれの開発現場で適切な作業を行うために色んな種類のプログラミング言語が存在してます。
違う言い方をすると、各機械で会話(指示)できる言葉が違うのです。日本語を知らないアメリカ人に日本語を話しても通じないですよね。その場合は英語を話す必要があると思います。
分かりやすい例がiPhoneとandroidのアプリ開発です。実は同じ言語ではなく、それぞれ違う言語(プログラミング言語)を使用して開発しています。iPhoneに指示するためには日本語が適切で、androidに指示するためには英語が適切みたいなイメージです。
・どのプログラミング言語から勉強すればいいの?
その答えにたどり着くには、2つパターンがあります。
【パターン①】
主要なプログラミング言語調べる
▼
気になる言語を見つけてそれを学ぶ
プログラミング言語は探せば本当に星の数ほど存在するので、先ずは主要なプログラミング言語(JavaやPHPなど)を自分で調べてみましょう。それぞれの言語に特性があります。例えば処理速度を重視した言語や汎用性が高い言語など。
汎用性が高い言語を選べばエンジニアとして仕事をしやすくなりそう。みたいなことをイメージして自分が学びたいプログラミング言語を探すパターンです。
【パターン②】
やりたい仕事をイメージ
▼
その仕事に必要な言語を学ぶ
エンジニアの仕事は多岐にわたります。企業のホームページを作る仕事や、AI技術(機械学習)を用いたロボットなどの開発、はたまたゲームを作ったりなど。
自分がエンジニアとしてやりたい仕事をイメージして、その仕事に必要な言語を勉強するパターンです。
2. シーン別プログラミング言語の紹介
実際にどんなシーンでどの言語を使用しているか見ていきましょう。
・WEBアプリ
Gmailなどのメールサービスや楽天やAmazonなどのECサイト(ショッピングサイト)、TwitterなどのSNSサービスなど、一番私たちの生活に身近な存在としているのがWEBアプリです。
WEBアプリには、
- 『WEBサーバー』➡ 画像やテキストをWEBブラウザに転送
- 『WEBブラウザ』➡ WEBサーバーから送られたデータをWEBページに表示
の2つが存在しています。
WEBサーバーがよく使う言語
- PHP
- Python
- Ruby
- Java
WEBブラウザがよく使う言語
- JavaScript
・スマホアプリ
私たちが普通に使っているスマホアプリの開発には、先述したようにAndroidとiPhoneでは開発言語が異なります。
Android開発でよく使う言語
- Java
- Kotlin
iPhone開発でよく使う言語
- Objective-C
- Swift
・パソコン(デスクトップ)アプリ
パソコンアプリの開発は上記のスマホアプリの開発と似ていて、WindowsやMacのOSごとに言語が異なります。
また、近年ではHTML/CSS/JavaScriptでパソコンアプリを開発するElectronという技術も人気です。
Windows開発でよく使う言語
- C++
- C#
- Visual Basic
Mac開発でよく使う言語
- Objective-C
- Swift
・AI技術(人工知能・機械学習)
車の自動操縦や画像認識、音声認識、機械翻訳やチャットボットなど様々な分野で見る機会が増えたAI技術ですね。今後も期待できるIT分野だと言えます。
AI技術開発でよく使う言語
- Python
- C++
・組み込み機器
TVやオーディオ機器、自動車の制御を行うものなど、様々な機械に組み込まれている制御システムのことです。
組み込み機器開発でよく使う言語
- C
- C++
- Java
- Python
・ゲーム制作
インベーダーゲーム、テトリス、ポケモン、ドラクエなど一度はプレイした人も多いと思います。このゲーム市場は年々高まっていて、eスポーツのように世界大会まで開かれるようになり、この先も進化し続ける分野だと思います。
ゲームの種類も様々で、スマホで動くちょっとしたクイズ形式のゲームであればKotlinやSwiftで開発することが可能です。
逆にプレステで遊ぶようなゲームであれば、C#やC++などで開発されています。
ゲーム開発でよく使う言語
- C#(Unity)
- C++(Unreal Engine)
- C
・その他
上記で紹介したシーン以外にも活躍する言語はまだまだあります。
例えば、プログラミング言語を作るための言語には、CやOCamlという言語が使われていて、他にも、データベースでよく使われるのはSQLといった言語とか、銀行や金融関連のシステムではCOBOLやJavaが使われます。
汎用性が高い言語もあれば、それに特化した言語もあるなどその特性は様々です。
3. おすすめプログラミング言語ランキング
今度はいろんな視点からそれぞれのプログラミング言語のランキングを紹介します。
・処理速度が速いプログラミング言語
ご紹介するベンチマークはThe Computer Language Benchmarks Gameというプロジェクト内の結果をもとに作成したデータで、あくまでも指標の一つとして参考にしてもらえればと思います。
2位 C
3位 C++
4位 Fortan
5位 Ada
6位 Go
7位 OCaml
8位 C#
9位 Chapel
10位 Haskell
12位 Swift
13位 Julia
14位 Pascal
15位 F#
16位 Node.js(JavaScript)
17位 TypeScript
18位 Lisp
19位 Dart
20位 Racket
22位 Smalltalk
23位 JRuby
24位 PHP
25位 Ruby
26位 Lua
27位 Perl
28位 Python
・書きやすく、生産性の高いプログラミング言語
- Python
- Ruby
- Kotlin
・資格に役立つプログラミング言語
- Python
- Java
- C
・仕事につながるプログラミング言語
- Java
- PHP
- C#
- JavaScript
- Python
- Ruby
- VBA
・人気があるプログラミング言語
1位 JavaScript
2位 HTML/CSS
3位 SQL
4位 Python
5位 Java
6位 Bash/Shell/PowerShell
7位 C#
8位 PHP
9位 TypeScript
10位 C++
11位 C
12位 Go
13位 Kotlin
14位 Ruby
15位 Assembly
17位 Swift
18位 R
19位 Rust
20位 Objective-C
21位 Dart
22位 Scala
23位 Perl
24位 Haskell
25位 Julia
※世界で最も人気のあるプログラミングの質問サイト『Stack Overflow』で人気のプログラミング言語ランキング2020年度版の調査結果
※参考URL:https://insights.stackoverflow.com/survey/2020#technology-programming-scripting-and-markup-languages-all-respondents
4. 無料で学べるプログラミングスクール
ざっくりにはなりますが、それぞれの言語についての特徴などを理解していただけたと思います。
次にプログラミング言語の学習方法ですが、最初はスクールに行くことをおすすめします。
未知の領域を勉強するので、結構分からないことが多く、途中で挫折してしまう人も少なくないです。
ですが、スクールに通えば分からないことがあればすぐに聞けて、最終的な就職の斡旋までしてくれるので安心して勉強できます。
とは言ってもスクールに通わずに独学で学ぶ人もいます。
こちらに『独学』と『プログラミングスクール』のメリットなどを書いてある記事があるので参考にしてください。
5. まとめ
ここまで読んでいただいてありがとうございました。
概要レベルですが、プログラミング言語についての基礎情報と、どのプグラミング言語を習得していくべきかの道しるべになっていれば嬉しいです。
今回ご紹介したプログラミング言語は需要も高く、今後の社会に必要な言語なので覚えて損はないと思います。
新しく始める(学ぶ)ことは大変ですが、誰でも最初はゼロスタートなので、ポジティブな気持ちで取り組んでいきましょう。
他にも記事を書いてるのでもし良ければこちらも参考にしてください。