プラグラミングを始めたいけど、どの言語から始めるべきか分からない…
副業でプログラミングをしたいけどどれがオススメ?
本記事ではエンジニアとして働いている私が考える、初心者向けのプログラミング言語の選び方について紹介します。
未経験者が陥りがちなこと
プログラミング言語ってたくさんあるけど、最初に勉強するならどれがいいのかよくわからないですよね。
そして、初心者の人は言語の選び方がわからずに頭を抱えてしまうわけです。
「どのプログラミング言語を選ぶべきか」については、これからエンジニア系の職種に就きたいと考えている初心者が、一番最初に乗り越えなければならないハードルになってしまっている状況です。
そんなあなたに私が考える言語選択のポイントを紹介します。
プログラミング言語を選ぶポイント
まずは興味がある言語から
自分のプログラミングをやりたい目的がはっきりしているのであれば、それにあった言語を選びましょう。
今アプリを作りたいならSwiftかKotlinでしょうし、Webアプリを作りたいのであれば、PythonやRuby、PHPなどが候補に上がってきます。
もちろん初心者が一番最初にプログラミングを勉強するにあたってふさわしい言語というのはありますが、プログラミング言語はどれも根幹は非常によく似たものです。
厳密に言えばそれぞれ違いはありますが、条件分岐やループ、メソッドなどどの言語でも必ずある根幹変わりません。
一つプログラミング言語を習得すれば、実際2つ目の言語の学習は非常に楽になるため、最初の言語をやりきる覚悟さえあるのであれば、どの言語からでも問題はありません。
私も一番最初はJavaから勉強しましたが、実際2つ目に学習したPythonでは単純なコードを書く程度であれば1ヶ月程度で慣れることできました。
プログラミングをする目的が、「将来のためのスキルを身に着けたい」という人のためにいくつか考えるポイントを紹介します。
案件数と将来性
プログラミングを学習する目的の多くは就職してエンジニアになることですよね。
学習した言語で仕事を受けることができなければ意味がないので、案件が豊富な言語を選ぶことは非常に重要です。
たとえばあなたがこれからスマホアプリを開発するのであれば、Objective-CではなくSwiftを選ぶべきです。
iPhone向けのアプリはObjective-CかSwiftどちらかで作られますが、Swiftのほうが後から作られた言語で、学習コストが低くバグが起きにくいなどのメリットがあります。
今後iPhone向けのアプリを作る際も、企業はSwiftを選ぶことになるので案件数もObjective-Cよりも増えるでしょう。
もちろん将来は分かりませんが、今時点では案件数も将来性もある言語を選んでいくことが無難です。
学習のしやすさ
プログラミング未経験の場合は学習の進めやすさが重要です。
むしろこれが一番大事な点といってもいいと思います。
プログラミングは一番最初の言語が理解するためのハードルが高いため挫折する人が多いです。
プログラミング言語はスクリプト型とコンパイル型とありますが、スクリプト型の方が見た目も分かりやすく初心者向けです。
どの言語がスクリプト型かは後から紹介します。
- 言語が他に比べて簡単なスクリプト型
- 学習するための日本語教材が揃っている
このポイントをしっかり抑えた言語選択をしていきましょう。
どこで使われる言語か
プログラミング言語は環境によって使われる言語が大きく変わってきます。
大きく分けてIT業界はSIerとWeb系の2種類があります。
もしあなたがエンジニアとして技術を身に着けたいのであれば、「Web系」で使う言語を習得することをオススメします。
Sierはなるべくリスクを取らずに済む、いわゆる「枯れた言語」を好むことが多く、新しい技術を取り入れる動きも少ないです。
一方Web系では新しい技術を取り入れることにも積極的で、技術へのモチベーションが高い人が集まりやすいです。
SierとWeb系では好まれる言語が異なるため、言語選択では重要なポイントとなります。
SIerとはシステム開発を他社から引き受けて行う受託会社のこと。
Web系とはメルカリや楽天など自社でサービスを作る会社のこと。
今未経験者が学ぶべき言語とは
これまでのポイントを踏まえた上で私がオススメする言語はこの3つです。
- Ruby
- Python
- PHP
これらの言語は先程紹介したポイントを全て満たしているものです。
一つずつ見ていきましょう。
Ruby
日本生まれの言語のため、案件数も比較的多くコミュニティが活発です。
教材も問題なく揃っていますし、Rubyはスクリプト型の言語です。
RubyはWeb系で多く採用される言語で、特にスタートアップと呼ばれる新しい事業を生み出して市場を開拓しようとしている企業に好まれます。
理由はRubyのフレームワーク(テンプレートみたいなものと考えて下さい。)のRuby on Railsが素早く機能を実装するのに向いているからです。
Ruby on Rails チュートリアルという無料で学習できるコンテンツが日本語で公開されているのもあり、Rubyとフレームワークの習得できる環境が整っているのが魅力的です。
世界では他の言語が人気という場合が多いですが、日本においてはまだまだ使われると思います。
Web系のエンジニアとして企業で働きたいのであれば、Ruby on Rails チュートリアルに+αで勉強したことを追加した、ポートフォリオを持っていくのが現在の王道といえます。
Rubyはフレームワークが優秀。Web系への入り口には最適な言語
Python
Pythonは最近人気の言語で、私も好んで書いています。
Pythonもスクリプト言語で見た目が分かりやすく、言語を習得するためのコンテンツも揃っているのが魅力です。
Web系でも使われることがありますが、どちらかといえば本領は機械学習の分野で目立つ言語です。
簡単・便利・優秀と三拍子そろったPythonですが、単純に未経験から学習するのであれば、案件数的にRubyの方が多いのでそちらでもいい気がします。
(どちらの方が良い言語という話ではなく、Web系に就職するのであれば案件数的にRubyが多いという話です。)
ちょっとした作業を自動化する際などは大活躍する言語なので、就職するという条件でなければ是非推したい言語。
Pythonは何でもできる優秀な言語。目的があれば選択したい。
PHP
世界のサイトの3割はこのPHPが使われているWordPressが占めているらしいです。
私のブログもWordPressですし、中で使われている言語はPHPです。
それだけPHPが使われているということは、仕事の案件数についても問題ありません。
ただし、WordPress関連の案件数が多いという特徴があるため、企業の中でがっつりエンジニアリングするというよりは、細かい修正作業の案件が多いと思います。
PHPには有名なLaravelというフレームワークがありますが、RubyやPythonに比べるとフレームワークを使ったコンテンツは少なめで案件数も少ないです。
WordPressに関するクラウドソーシング系の仕事を受けることは難しくないため、副業メインで考えるとぴったりの言語だと思います。
PHPは企業で働くというよりは副業向けの言語。
まとめ:目的にあった言語を選ぼう
本記事ではエンジニアとして働いている私が考える、未経験者向けのプログラミング言語の選び方について紹介しました。
未経験者は以下の言語から目的にあったものを選びましょう。
- Ruby ⇛ フレームワークが人気。エンジニアとして就職したい人向け
- Python⇛機械学習や作業の自動化に便利。効率化したい人向け
- PHP ⇛副業として仕事を受けていきたい人向け
ぜひ言語選びに悩んでいるひとの助けになれば嬉しいです。
読んでくださりありがとうございました。