初心者の「仕事別」おすすめのプログラミング言語と選び方!
プログラミングを学びたいけど、どの言語を選んで学べばよいかわからない!
まず最初に「なぜプログラミングを学びたい」と思ったのだろうか?
- 手に職をつけたいから
- 給料がよさそうだから
- 将来性・需要がありそうだから
- リモートワークできそうだから
- フリーランスになりたいから
最初はプログラミングを学ぶキッカケとして、こういう漠然とした理由でも全然OK!
だが実際プログラミング言語を選ぶ際は、次の事を考えてから選ぶ必要がある。
- プログラミングを使って、どんな仕事がしたいのか?
- プログラミングを使って、何を作りたいのか?
そこで今回は「プログラミングの仕事別」に、何が作れて・どんな言語が使われているかを知った上で、プログラミング言語を選んでいこう!
目次
プログラミングを使った「仕事の分類」
ひと口にプログラミングと言っても「活躍場所」も様々で、大きくわけると業界的には次のように区分けされている。
- WEB系 → オンラインのコンシューマー向けシステム
- 汎用系 → 大規模システム
- オープン系 → 企業向け業務システム
- 組み込み系 → 電子機器の制御システム
この分類は「求人情報サイト」などでも使われる言葉なので知っておいて損は無く、どの分野を選ぶかによって「将来の仕事内容が大きく変わる」ので、それぞれどういう内容なのか、1つずつチェックしていこう。
WEB系プログラマーとは
WEB系システムとは、インターネット接続を前提としたWEB上のシステムを指し、主にホームページ上のWEBサービスやスマホアプリ、SNSやネット通販サイトなど、WEB上のあらゆるシステムを開発する、近年爆発的に伸びている分野のひとつといえる。
WEB系プログラマーの仕事(できること)
WEB系プログラマーの仕事は、簡単に言えば「一般ユーザーがスマホやパソコンを使って利用するコンシューマー向けシステム」を開発する仕事であり、我々にもっとも身近なイメージしやすい仕事といえる。
- LINE、Twitter、メルカリ、クックパッドのようなWEBサービスの開発
- ホームページ上での店舗の予約システム
- AmazonなどのECサイトシステムの構築
- スマホ・タブレット向けアプリやゲームの開発
- アメーバブログ、はてなブログのようなブログシステム開発
などなど、これ以外にも数え切れないほどの仕事があり、今現在は無くてもアイデア次第で新たなシステムやサービスを作り出す事も可能なのだ!
WEB系プログラマーが扱う言語
WEB系プログラマーには大きく「フロントエンド(クライアントサイド)・バックエンド(サーバーサード)」の2つに分かれ、それぞれ扱う言語も異なってくる。
初心者にオススメなのがフロントエンドの仕事であり、HTML/CSSは見た目を構築する言語なのでイメージしやすく、最も学習難易度の低い言語と言え、まず最初に学習しておきたい言語の1つである。
- HTML/CSS
- JavaScript など
WEB系プログラマのバックエンドの言語かなり多く存在し、それぞれ特徴を挙げればキリがないのだが、初心者にオススメなのはHTMLと親和性の深い「PHP」が最も学習難易度が低く、扱いやすい言語といえるかもしれない。
- PHP
- Ruby
- Perl
- Java
- Python
- Swift
- Kotlin
- Unity
- C+
- C++
- C# など
汎用系プログラマーとは
汎用系とは、汎用機と呼ばれる大型のホストコンピュータを使って大規模なシステム開発をする仕事であり、大企業の基幹システムをはじめ、銀行・政府機関など、重要なシステム構築や運用保守などを含む事も多いのが特徴。
ここで言う「汎用機」とはメインフレームとも呼ばれ、インターネットとは対照的にクローズドで大規模なシステム開発向けの超高性能で高速データ処理が可能な大型コンピュータのことを指し、汎用機が登場する以前の、商用計算や科学技術計算などそれぞれ目的別の専用機を使い分けていた時代と比較して、汎用的に使えるコンピュータという意味で「汎用機」と呼ばれるようになった経緯がある。
汎用系プログラマーの仕事(できること)
汎用系プログラマーの仕事は、大企業や金融機関などの大規模システム開発が主な仕事で、具体例には次のような仕事がある。
- 銀行、クレジットカード会社など金融機関向けシステム開発
- 航空会社の予約システムの開発
- 自治体向け業務支援システム開発
- 自動車メーカー向け製品・部品管理システム開発
汎用系プログラマーが扱う言語
汎用系システム開発で主に使用される言語は長年の実績と信頼性のあるCOBOLが多いが、Javaなどの他の言語に切り替える動きも出ている。しかし、既存の大規模システムで信頼性のあるCOBOLを別のものに置き換える事は簡単ではないため、保守運用などを含め、まだまだCOBOLの需要は続くと見られる。
ただ若いプログラマーにはWEBアプリや人工知能などの最先端技術に関連する言語に人気があり、時代遅れなイメージのあるCOBOLの人気は低迷しており、COBOL技術者が不足していく事が予想されるため、逆に未来を見越すと「穴場」といえるかもしれない。
また汎用系システムの中でも比較的規模の小さいものは、後述するオープン系のシステムに移行しつつある流れがある事から、今後のシェアは少しずつ縮小していく流れにあるが、金融系や大企業系のシステムはまだまだ信頼性のある汎用系システムの力が必要である。
- COBOL
- Java
- FORTAN
- RPG
- PL/1 など
オープン系プログラミングとは
オープン系とは、汎用系に対比した意味合いが強く、汎用系の開発に必須な大型の汎用機というものがあるのに対して、オープン系ではそういったハードウエアは必要なく、小型のいわゆる「パソコン」を使用して開発する事が可能であったり、汎用系の1つの機器で完結するクローズドな仕組みに対して、技術的な使用やソースコードが公開されているOS・ソフトウェアなどを利用して開発される事から、オープンな開発という意味合いがその名の由来である。
また、汎用系と比較して大幅なコストダウンが見込める事や、技術者の確保のしやすさ、パソコンの高性能化などから、企業の業務用システム開発などは、汎用系からオープン系へと徐々に移行している流れもある事がから需要が伸びている事もあり、人材不足が叫ばれている分野でもある。
オープン系プログラマーの仕事(できること)
オープン系プログラマーの仕事は、企業の顧客情報管理や、在庫管理、病院の患者の情報を確認できる電子カルテなど、ネットワークにつながった複数のPCでデータベースにアクセスして利用するようなシステムがメインとなっている。
オープン系システムは、社内ネットワークのみで完結するシステムだけでなくインターネットにつながっているシステムもあるが、基本的にはWEB系のような一般公開するようなコンシューマー向けシステムではなく、社内のものしかアクセスできないような「企業向けの業務システム」がメインである。
- 企業の顧客管理システム開発
- 商品の在庫管理や発注管理システム開発
- 営業支援システム開発
- 給与・人事管理システム
オープン系プログラマーが扱う言語
オープン系システムでは現在、OSを選ばず安定性・高速性のあるJavaはオープン系システムには欠かせない言語であり、オープン系に限らず幅広く利用される言語でもあるJavaは、需要だけで言えばNo1の言語と言えるかもしれない。
ただオープン系で使用される言語には特に制限はないので、今後はPythonやRubyなど比較的新しく人気のある言語が採用されていく可能性も大きい。
- Java
- PHP
- Ruby
- Python
- C#
- C++
- VB.net など
組み込み系(制御系)プログラミングとは
組み込み系(制御系)システムの仕事とは、家電製品、スマートフォン、ロボット、自動車、など様々な電子機器の制御を担うシステムであり、炊飯器のような生活必需品からVRゴーグルなど最先端機器までのあらゆる機器に組み込まれるシステムを開発する事から、幅広い分野で活躍でき、やりがいのある仕事といえる。
今後はIoT技術(家電がインターネットにつながり遠隔操作できる技術)の発展により、さらに需要が伸びていく分野でもある。
想像してみよう、今まで使ってきた電子機器で「使いやすい・使いにくい」などと感じた経験があるのではないだろうか?その一部を担うのも組み込み系プログラマーの仕事である。
組み込み系(制御系)プログラマーの仕事(できること)
組み込み系(制御系)プログラマーの仕事は、あらゆる電子機器が対象となり挙げればキリがないが、わかりやすい例をいくつか挙げていこう。
- 冷蔵庫の制御システム
- スマホの制御システム
- カーナビの制御システム
- パソコンの制御システム
- 新幹線の制御システム
- 医療機器の制御システム
組み込み系(制御系)プログラマーが扱う言語
プログラミング言語の中でも難易度の高く、歴史の古いC言語メインに利用されているのが特徴。C言語は処理を簡潔に記述でき、意図したコードだけが生成され無駄なくコンパクトで、処理速度が高速であるというような理由から、C言語やC++が多く使われているという。
Javaは以前であればメモリを多く消費し動作も遅い事から、即時性が求められる組み込み系では敬遠されていたが、Javaの性能が大きく向上した事もあり、Javaのシェアも増えてきている。
また、組み込み系はプログラミングの知識だけでなく、製品に対する理解や専門知識も必要となり、規格への準拠や安全性など幅広い知識が必要となる。
- C
- C++
- Java
- Visual Basic
- アセンブリ(アセンブラ) など
プログラミング言語別の求人数ランキング
せっかくプログラミング言語をマスターしても、需要や求人がなければ意味がない。参考までにプログラミング言語別の求人数のランキングを確認しておこう!
引用元:レバテックキャリア
このランキングは、IT・Web業界に特化した転職支援サービスのレバテックキャリアが、新規発生した正社員向け求人データのうち、対象期間(2019年4月1日〜2020年3月31日)の間に新規発生した求人・案件データを、レバテックキャリア社のデータベースから抽出したものから算出したデータ。
- 1位 Java(34.98%)
- 2位 PHP(16.43%)
- 3位 Python(9.43%)
- 4位 JavaScript(9.38%)
- 5位 Ruby(7.42%)
このような結果になっており、不動の「Java」と「PHP」は根強い求人数となっており、この2つだけで全体の50%以上を占めているのが見てとれる。
各分野で初心者にオススメ言語は?
これまで4つの分野でそれぞれ使われている言語や仕事について確認してきたが、それぞれの分野でどの言語がオススメなのだろうか?
WEB系のオススメ言語
WEB系は各言語それぞれ特徴があり、自分がやりたい分野別に選ぶのが一番良いのだが、特に初心者の方にオススメの言語は、求人数が多く、学習難易度が低い「PHP、JavaScript」がオススメ。
HTML・CSSとセットで学習する事で、WEBサイトを1人で全て構築する事ができるので、フリーランスとして独立したいなら、最も近道といえる。
汎用系のオススメ言語
汎用系プログラマになるのであれば、なんといってもまだまだCOBOLが良いのではないだろうか。新規の案件は少ないかもしれないが、既存システムの保守・運用の仕事はまだまだ続き、新たにCOBOLを習得しようとする若者も少ない事を考慮すると、希少な人材になれる意味では逆に穴場かもしれない。
COBOLの将来が心配な方は、仕事としても汎用性のあるJavaも候補に入れておいてもよいだろう!
オープン系のオススメ言語
オープン系プログラマになるのであれば、やはり汎用性の高いJavaが一番オススメであり、将来的にオープン系と親和性のあるWEB系に移行してもJavaは十分通用する言語であり、何より求人数もNo1なので、習得しておいて損はないだろう。
組み込み系のオススメ言語
組み込み系プログラマになるのであれば、C言語と互換性がありオブジェクト指向を追加したC言語の拡張である「C++」がオススメであり、将来的に別の分野に移行しても柔軟に対応しやすい言語なのではないだろうか。
ただ「C++」は学習難易度が高い為、初心者であれば学習難易度が比較的低めの「Java」を選択肢に入れてもよいだろう。OSに依存しないJavaはIotなどを含め、今後組み込み系の現場でも活躍できる言語と言えるのではないだろうか。
トータルで初心者にオススメ言語
トータル的に初心者にオススメの言語は、学習難易度を重視するのであればPHPであり、活躍の場の多さを重視するのであればJavaがオススメ。
PHPもJavaも求人数はトップ2の言語なので
- WEB系をやるなら →PHP
- WEB系以外なら →Java
ただし、あくまで初心者にオススメという観点での選択なので、一番が自分がやりたい言語があればそれが一番ではないだろうか。
初心者がPHPやJavaを学ぶ方法
PHPやJavaなどのプログラミング言語を学ぶにはいくつかの方法がある。それぞれの特徴を確認して自分にあった学習方法を検討しよう。
お金をできるだけかけたくない人の場合
PHPやJavaを独学で学ぶのは簡単ではないが不可能でもない。
元々理系の学校を卒業していて基本ベースがある人や、時間と情熱がたっぷりある人なら独学での学習も可能。
独学の場合学ぶ教科書やその人のポテンシャルにもよるが500~1000時間程度かかると言われているので、それくらいの時間を確保しておく必要がある。
プログラミングの独学に必要なのは、適切な教科書選びと、無料学習サービスなどの併用がカギとなる。
独学での学習方法を知りたい方はこちらの記事詳しくまとめてあるのでご参考に↓
できるだけ簡単に、挫折ぜずに学習したい人の場合
PHPやJavaが比較的学習難易度が低めとはいえ、独学で簡単に学習できるほど甘くはない。
できるだけ早く・楽に、挫折せずに学習したい人は「オンラインスクール」で学ぶのが一番リーズナブルで約160時間程度で学習できるので、独学にくらべて圧倒的に効率良く学ぶ事ができる。
オンラインスクールでは、通学型スクールに比べて費用も安く、プログラミングに必要な「学習内容が一式そろったオンライン上の教科書」を自宅で見ながら学習し、各章で課題をクリアしつつ「目的のアプリ」などを実際に作り上げながら学習していくスタイル。
学習中はメンターと言われる現役のエンジニアに分からない点をいつでも質問でき、間違ったソースコードをチェックしてもらって正しいソースコード送ってもらえたりしながら学習できるので、コードエラーなどで挫折する心配が無いのが特徴。
実際に私もPHPやJavaが学べるテックアカデミーというオンラインスクールで学んだ経験があるので、スクールの内容や体験記を詳しく知りたい方はこちらの記事が参考にどうぞ↓
「仕事別」おすすめのプログラミング言語のまとめ
プログラミング言語は星の数ほど存在するので、プログラミングを学ぶなら、どんな仕事がしたいか?何を作りたいか?で決めるのが一番良いだろう。
プログラミングの学習においての最短ルートは、何かを作りたい!という気持ちが重要で、それを実際に作りながら学ぶのが一番早いのは間違いない!
※当記事の掲載内容は執筆現在の個人の見解・調査によるもので、動作・サービス等を保証するものではありません。最新情報は各公式サイトでご確認頂き、購入・契約・データ作成等はご自身の判断・責任でお願いします。 免責事項
関連記事
ポテパンキャンプの特徴:メリット・デメリット
プログラミングの勉強に挫折するWEBデザイナーの特徴と解決法
「WEBアプリ開発」のプログラミング独学方法と必要な知識
ポテパンキャンプの就職先は?転職先の年収など徹底調査してみた!
テックキャンプ(TECH CAMP) エンジニア転職の評判と特徴は?
ヒューマンアカデミーのTECH BASE(テックベース)とは?オンラインと教室の両方で学べる!
ポテパンキャンプ「無料カウンセリング」申込み方法【図解付き手順】
ポテパンキャンプの「評判・口コミ」実際どうなのか?
WEBデザイナーが「プログラミングを学ぶ」7つのメリット
テックアイエス評判は?現役プロがTECH I.S.を徹底調査!
サイト内検索
新着記事
- YouTubeより詳しく!まとめて学べる『WEBデザイン動画講座』
- Figmaの背景切り抜きプラグイン『Remove BG』のAPI Key取得方法と使い方
- WEBデザイン動画講座のご紹介【お得な割引アリ】
- WixでWEBデザイナーが「ポートフォリオサイト」を作ってみた!
- WEBデザインツールの比較!初心者におすすめは?Figma Photoshop Xd Illustrator
- CodeCampGATE(コードキャンプゲート)とは?転職・就職先と評判
- コードキャンプの「Webデザイン・Webデザイン副業コース」を卒業生が解説!
- テックアカデミー「はじめての副業コース」卒業生が内容を解説!
- PHPの独学!挫折しないおすすめ勉強方法!
- 16インチMacbook Proで使える100Wモバイルバッテリー Zendure SuperTankレビュー
- [体験談] CodeCamp(コードキャンプ)で挫折する理由!
- テックアカデミー「受講した感想・評判」学習内容の総まとめ!
- Photoshop 超リアルな商品写真の鏡面反射の作り方
- デイトラの評判は?詳細内容とメリット・デメリットを解説
- CSSだけ超簡単!画像トリミングできる 「object-fit」 の使い方
- コードキャンプ 「無料体験・カウンセリング」を受講してみた!予約方法や内容の体験談
- デジタルハリウッドSTUDIO by LIGの評判
- PhotoshopでWEBデザインする基本の設定とテクニック
- テックアイエス評判は?現役プロがTECH I.S.を徹底調査!
- WEBデザインの練習・勉強をしながら「お金までもらえる」超おすすめの学習方法!
カテゴリー
タグリスト