プログラミング何から始めればいい?やりたいこと・難易度・将来性・年収から考える言語選び

当ページのリンクには広告が含まれています。
プログラミング何から始めればイイの?やりたいこと・難易度・将来性・年収から考える言語選び

こんにちは、プロ象(@shoshi_pro)です。

小象

今AIとかも話題だし、プログラミング始めてみたいな。プログラミングって面白そう!でもプログラミングって何から始めたらイイの?

プロ象

プログラミングに興味をもってくれたんだね!でも、これがプログラミングの最初の壁、「何から始めたらいいかわからないの壁」なんだ。この壁を乗り越えられるように、丁寧に解説していくから、どの言語を選ぶのか一緒に考えていこう!

というわけで今回は、「プログラミング、何から始めればいいの?」という人のために、プログラミング言語の選び方について詳しく解説していきます。いちいちいろんな記事を検索して調べてというのは大変ですので、この記事で「言語の選び方」ができるように書いていきます

ぜひ、この記事でプログラミングの最初の一歩を踏み出していきましょう!

結論は以下の通り。

  • Pythonは言語の難易度や将来性、年収のランキングから言っても、一番におすすめできる言語。
  • 初めて勉強する言語は、難易度が低い言語がおすすめ(途中で挫折しないためにも)。
  • JavaScriptやTypescriptも難易度、将来性、年収から考えて非常におすすめできる。
  • JavaScriptの学習の前提としてHTML&CSSが必要になるが、このサイトでHTMLとCSSを学習することが可能。
目次

プログラミング言語の選び方の概要

世の中にはそれこそたくさんのプログラミング言語があります。ではどのようにプログラミング言語を選べばよいのかですが、それは以下の通り。

  1. どのようなことがやりたいのか、例えばWebサイトを作りたいのか、Windowsやスマホのアプリを作りたいのかなど、どのようなものを作りたいか考える。
  2. その作りたいものはどの言語で作れるのかを調べる。また、習得難易度も調べる。
  3. その言語の将来性や人気、収入の状況を調べる。
  4. 作りたいもの、難易度、将来性、収入を総合してはじめに勉強をする言語を決定する。

このような手順を経て、最初に学ぶ言語を決定していくとよいでしょう。それをこのサイトだけで完結できるように記事を作成しましたので、ぜひ最後までご覧ください!

「〇〇がやりたい!」から考えるプログラミング言語選び

まず初めに、あなた自身がどのようなことをやりたいと考えてプログラミングを始めたいと思ったのかを考えましょう。

実はこれが一番大事かもしれません。人間、嫌いなことって長続きしません。だから、興味がある、やってみたい、やらなくちゃって気持ちって大事ですね。ここをまず大切にしましょう!

基本的には以下の通りにプログラミングでできることがあり、それに対応した言語がこれになります。

  • Webサイト制作 → JavaScript(+ReactやVue.jsなど)、TypeScript、(HTML&CSS)
  • Webアプリ制作 → PHP、Ruby、JavaScript(Node.js)、Python
  • 人工知能(AI) → Python、(R言語)
  • 業務効率化、自動化 → Visual Basic for Application(VBA)、Google Apps Script(GAS)
  • スマートフォン向け開発 → Java、Dart、Swift(iPhone向けアプリ)、GO言語、Kotlin
  • パソコン向けアプリ開発 → C#、Swift(Mac向けアプリ)
  • 業務システム・組み込み系開発 → C言語、C++、Java
  • ゲーム開発 → C#、C++

他にも言語はたくさんありますが、新しい言語だったり、難しい言語だったりするため、初心者にとっては難しかったりするので、本ブログの趣旨と離れてしまうため割愛します。

では、一つひとつ見ていきましょう。

Webサイト制作

Webサイト制作とは、今インターネットで検索エンジンを使ったりして、このページを訪れて見ていますが、これらのWebサイトを作ることがWebサイト制作です。

世の中にはいろいろなWebサイトがありますが、Webデザインを元に、HTMLやCSS、JavaScriptを利用してを作り上げるのがWebサイト制作になります。(上の図で、HTML&CSSは厳密にはプログラミング言語ではなく、マークアップ言語と呼ばれるものなのでカッコ書きにしました)

プロ象

情報を的確に伝えること(閲覧されること)を目的としたものを
Webサイトと言うというイメージでイイかな。

Webアプリ制作

Webサイトはあくまで情報を提供するだけ(閲覧だけ)でしたが、Webアプリはコメントの書き込みや商品の購入、アカウントのフォローなど、企業とユーザー、あるいはユーザーどうしが双方向のコミュニケーションを可能にするWebサイトを「Webアプリ」と呼びます

具体的には、YouTubeやTwitter、FacebookなどのSNSや、Canva、FigmaなどをWebアプリと言うことができます。

プロ象

Webサイトの中でも、入力されたデータを処理したり、そのデータを元に情報をやり取りしたりなど、ユーザーが能動的に(自分で)操作をするものをWebアプリと言うよ。(厳密な線引きは難しいですが)

人工知能(AI)

ChatGPTとかBingAIが話題ですが、膨大なデータを処理しながら、人間の脳に近い「物事を考えることができる脳」を作るのが人工知能(AI)のプログラミングになります。

機械学習やそれを応用した深層学習(ディープラーニング)を使いながら、コンピュータに自動で学習させる方法を作っていくのです。

プロ象

AIを使いこなすには、数学の知識がとても必要になってくるので、数学の学習も必要だね!

業務効率化、自動化

日常の業務でExcel使っていますか?例えば、Excelで作った帳簿を元に、請求書を作成するとなったときに1回1回手で宛名を書き換えて、1回1回印刷をして、とやると膨大な時間がかかってしまいます。

そこでVBAを利用して、その作業を自動化してあげるのです。そうすれば、ボタン1つで一気に請求書を印刷してくれるような魔法のExcelに早変わりします。

プロ象

事務や会計などを行う人にとっては、VBAを覚えられると業務を効率化することができるね。似たようなものに、Googleのアプリケーション(Googleドキュメントやスプレッドシート)を自動化・効率化するGASがあるんだ。

スマートフォン向け開発

今や一人一台のスマートフォンですが、そのアプリを作るのがスマートフォン向け開発になります。

App StoreやGoogle Playで「インストール」と出てきてスマホに入れるあのアプリの開発です。基本的には、iOS版とAndroid版の2種類のアプリを作ることになりますが、クロスプラットフォームと呼ばれるものを使うと、1度に両方対応したアプリを開発することが可能です。

プロ象

1度に2種類のアプリを作れたらとても効率よくアプリ開発できるね!iPhone向けとAndroid向け、両方のシェアを獲得することができるのはとても大きい!

パソコン向けアプリ開発

スマホではなく、パソコン用のアプリを作成することを指します。パソコン用のアプリとは、例えばWord・Excelや動画編集で有名なPremiere Pro、フリーの画像編集ソフトのGimpなどのことを指します。これもWindows向けとMac向けの両方のプラットフォームがあります。

そして特にスマホやパソコン上で動くアプリのことをネイティブアプリと言うのですが、その開発を行うのがスマートフォン向け開発、パソコン用アプリ開発です。

プロ象

パソコンやスマホにインストールするのがネイティブアプリ、インストールしないでWeb上で使うのがWebアプリになるね。

業務システム・組み込み系開発

業務システム開発とは、業務の効率を高めたり、在庫管理のためのシステムを開発したりなど、その企業やクライアントの要望に沿ったシステムを開発することを指します。飲食店やスーパーなどで使われるPOSレジや、出退勤を管理するシステムなども業務システムにあたります。

一方の組み込み系開発とは、家電製品に入っているマイクロコンピュータ(マイコン)に特定の機能を持たせるためのシステムをプログラミングすることを指します。(画像のように洗濯機の洗濯のモード別に洗い方を変える、などはこのマイコンに書かれたプログラムによって行われています)

今、IoT(Internet of Things)、つまり「物のインターネット」という言葉が流行していますが、まさに組み込み系はこのIoTに関連する内容で、AIを組み込んだ製品なんかも開発されています。

プロ象

AI(人工知能)を学習すると、こういった部分の開発にも携わることができるんだね!

ゲーム開発

プログラミングと言えば、真っ先に思いつくのがゲーム開発ではないでしょうか?

最近のゲーム開発では、開発ツールを導入している企業が多いです。代表的なものとして、Unity(ユニティー)やUnreal Engine(アンリアル・エンジン)があります。それらを導入するにあたって、使用する言語が決まってくるということになります。

例えば、Unityで作られたゲームとして「ポケモンGO」や、「壺男」で有名な「Getting Over It with Bennett Foddy Traile(YouTubeに飛びます)」があります。このゲームは個人で開発され、大ヒットを記録して、個人開発の夢を大きく膨らませました。

プロ象

3Dをゴリゴリ動かすゲームを作りたいとなると、パソコンのスペックも大切になってくるね。

「〇〇がやりたい」から考える言語選びまとめ

さぁ、どうだったでしょうか?自分がどんなことをやりたくてプログラミングをしたいかが見えたでしょうか?

あらためて一覧表を載せておくので、自分のやりたいことを考えて、それに対応した言語を選びましょう!

    • Webサイト制作 → JavaScript(+ReactやVue.jsなど)、TypeScript、(HTML&CSS)
    • Webアプリ制作 → PHP、Ruby、JavaScript(Node.js)、Python
    • 人工知能(AI) → Python、(R言語)
    • 業務効率化、自動化 → Visual Basic for Application(VBA)、Google Apps Script(GAS)
    • スマートフォン向け開発 → Java、Dart、Swift(iPhone向けアプリ)、GO言語、Kotlin
    • パソコン向けアプリ開発 → C#、Swift(Mac向けアプリ)
    • 業務システム・組み込み系開発 → C言語、C++、Java
    • ゲーム開発 → C#、C++

言語の難易度と将来性

言語の難易度について、Googleで「プログラミング言語 難易度」で検索をかけた際に表示される、上位10サイトの記事の難易度表示を、1点(優しい)~3点(難しい)で表にまとめました。平均点が低いほど、難易度が低いという計算になります。

記事によっては5段階評価になっているので、それを3段階評価に変換してまとめてあります。その結果は以下の通りです。

ランキングから言うと、HTMLとCSSはマークアップ言語なので、プログラミング言語ではないのですが、難易度はすごく優しい部類に入ります。

HTML&CSSと比較していくと、VBAやPHP、JavaScript、Typescriptは難易度としては非常に低い傾向にあります。

RubyやPython、Kotlin、Swift、GASあたりは難易度は中程度C#、GO、Java、R言語、C言語、C++は難易度高と言えるでしょうか。

続いて、「プログラミング言語 将来性 ランキング」とGoogle検索をかけて、言語の将来性に関する順位が掲載されているサイトを表にまとめました。

驚いたことが、多くのサイトでPythonを1位に挙げていることです。やはり、AIやビッグデータの解析など、今話題のPythonなので将来性も高いということでしょうか。

DartやR言語は1つのサイトでしか掲載されていないので、そもそも対象に入っていないという傾向があるのではと考えられました。

では、それら難易度と将来性を1つの表にまとめてみました。難易度の順位と将来性の順位を合計して、数字が少ないものから順番にならべました。なお、DartやR言語は将来性のランキングで1つのサイトしか扱っていなかったので除外しました。

また、VBAとGASについては将来性のランキングに出てこなかったので、それも除外しています。

難易度将来性
Python
JavaScript
Typescript
PHP
Java
C#
Ruby
Kotlin
GO
C++
Swift
C

難易度が中程度でしたが、将来性の部分で他の言語を大きく引き離して、Pythonが1位となりました。

続いてJavaScript、Typescript、PHPとWeb系の言語が続きます。Javaについては習得難易度が高いものの、将来性の部分で大きく順位を伸ばしました

言語別の平均年収

paiza株式会社が行った「プログラミング言語に関する調査(2022年版)」では、2022年の転職平均年収のランキングを以下のように発表しました。

Scalaが682.9万円で1位、Typescriptが667.1万円で2位、GOが659.0万円で3位でした。

年収については、企業から一定のニーズがありつつ、かつ、スキル保有者が少ないという言語の年収が高くなる傾向があり、比較的新しいTypescriptやGOの年収が高くなったと考えられます。

まとめ

難易度将来性できること
Python人工知能(AI)開発・Webアプリ制作
JavaScriptWebサイト制作・Webアプリ制作
TypescriptWebサイト制作
PHPWebアプリ制作
Javaスマホ向け開発、組み込み系開発
C#パソコン向けアプリ・ゲーム開発
RubyWebアプリ制作
Kotlinスマホ向け開発
GOスマホ向け開発
C++業務システム開発・ゲーム開発
Swiftスマホ向け開発
C業務システム・組み込み系開発
プロ象

できるかぎり上に表示されている言語を選ぶといいね。特に初心者にとっては、難易度が低い言語を選ぶことが重要!途中で挫折しないためにも簡単な言語を選ぶことが大切です!

ここまでを読んで、プログラミングを学んでみたいという人は、以下のサイトが参考になります。

このTech Academyは、質問に答えるとどんな言語を選べばよいかを教えてもらえます。ぜひ質問に答えてみましょう。その後、無料相談などもあるので、本格的に学習してみたいという言語が見つかったら、相談してみるとよいと思います。

JavaScript、Typescriptを学習するためには、まずHTML&CSSを学習する必要があります。本サイトでは、初心者向けにHTML&CSSを学習できるように記事を書いています。ぜひ下のリンクから学習をスタートしてみてください。

以下は壁の乗り越え方のまとめ記事です。

プログラミング何から始めればイイの?やりたいこと・難易度・将来性・年収から考える言語選び

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

 小学生の子どもにいつかプログラミングを教える日が来ることを夢見るアラフォーです。ようやく重い腰を上げて、HTMLとCSSの学習からスタートし、今後、プログラミングを始める人のために、そして自分の学習記録を残すためにブログも書き始めました。同じ悩みをもつ人の助けになればと思います。
 先日、息子が「誕生日にパソコンが欲しい」と言い出し、一緒にBlenderで3Dのモデリングを始めました。よしよし、クリエイティブなことやってるなと嬉しくなりました。
 今後もHTMLとCSSでつまずいた部分を記事にしてみたり、JavaScriptやRubyにも手を出してそれを記事にしてみたいと考えています。

コメント

コメントする

CAPTCHA


目次