趣味としてプログラミングに触れてみたいけど、どの言語を選ぶか迷っています。
難しくなくて、でも実用性も高い、学ぶ価値の高いものが良いな……
2024年現在、プログラミングの人気が上昇中。
まずは趣味として、プログラミングに触れてみたいと感じている方も多いかと思います。
これまでプログラミングに触れたことがない状態からチャレンジするには、簡単でわかりやすい言語を選ぶのがおすすめ。
シンプルな言語を選ぶことで、実際にコードを動かすまでの過程=プログラミングの楽しさを実感できるまでの期間が短くなり、挫折しづらくなります。
僕は現在、IT企業でプログラマーとして勤務中。
Koki
元々は製造業界で働いていましたが、趣味で始めたプログラミングが楽しすぎて、IT企業へ転職しました。
この記事では、僕がこれまで学んだ/業務で様々な言語を扱ってきた経験も含めながら、趣味として楽しむという観点でおすすめの言語を紹介します。
趣味としておすすめの言語
趣味としてプログラミングを楽しむ、という観点で、おすすめする言語は以下の4つです。
- Python
- JavaScript
- Scratch
- Java
これらの言語はシンプルな構文であったり、広く普及している言語のため情報が豊富であったりと、学習しやすい言語といえます。
また動作するプログラム(成果物)に至るまでの期間が短く、コードを書いて動かすという、プログラミングの本質的な面白さを実感しやすいです。
さらに開発現場での使用頻度や需要も高く(Scratchを除く)、スキルを身に付ければ実務や転職にも役立ちます。
それぞれの言語の特徴を、順番に紹介していきます。
Python:AIや機械学習だけでなく、WEBアプリの開発も
Pythonをおすすめする理由。
それは何といっても、カッコいいから、です。
僕は人工知能の第一人者である東京大学の松尾豊教授の研究室主催のディープラーニングセミナーに参加したことがありますが、使用されていた言語はPythonでした。
Pythonの特徴として、文法が簡単であること、が挙げられます。
ほとんど英単語で成り立っているともいえるシンプルさに加えて、インデントしなければブロックとして認識されないというルールにより、初心者でも可読性の高いコードが書けます。
学術分野に加えてWEBアプリや、フレームワークを用いるとフォームアプリの開発も可能と、汎用性も高いです。
Koki
楽しみつつも本格的なプログラミング体験をしてみたい、というケースでおすすめの言語です!
- 難易度:2/5
- 学びやすさ:5/5
- 環境構築の容易さ:4/5
- 需要の多さ:5/5
JavaScript:フロントエンドはこれ一択!WEB開発では必須
JavaScriptは、主にWEB開発で使用される言語です。
WEBページに動きをつける言語として用いられます。
身近なところでは、郵便番号を入力すると住所が自動入力されるフォームを見たことがありますよね。
これも、APIを用いてJavaScriptで実装されています。
JavaScriptはブラウザ上で動作する言語のため、環境構築の手間が少ないこともポイント。
Koki
インターネットに興味があるなら、最もおすすめの言語です。
- 難易度:3/5
- 学びやすさ:3/5
- 環境構築の容易さ:5/5
- 需要の多さ:5/5
Scratch:ビジュアルプログラミングで、楽しさを実感
Scratchは、主に若年層(特に8歳から16歳)向けにデザインされた、学習用のプログラミング言語です。
最大の特徴は、ビジュアルベースのプログラミング言語である、という点です。
下図のように、コードを文字で書くのではなく、ブロックを組み合わせてプログラムを作っていきます。
非常に分かりやすく、コードの構造や流れを直感的に理解することができます。
Scratchはあくまでプログラミング的思考を身に着けるための入門言語であり、実際のシステム開発現場で活用されることはありません。
しかしビジュアルベースであるため、スペルや構文ミスによるエラーが起きにくく、すぐに結果が見えるため、プログラミング初心者が楽しさを実感するという観点においては、最適な言語といえます。
Koki
Scratchはコードを書く機会は少ないですが、プログラミングの楽しさを実感しつつ、条件分岐などのプログラミング的思考を身に着けることができます。
- 難易度:1/5
- 学びやすさ:5/5
- 環境構築の容易さ:5/5
- 需要の多さ:2/5
Java:求人数が圧倒的、汎用的かつ需要の高い言語
Javaは、デスクトップアプリ、モバイルアプリ、ウェブアプリ、さらには企業における基幹システムなど、幅広い領域のシステム開発で用いられる言語です。
幅広い分野で使われるため、趣味として学ぶなかで実現したいアイデアが浮かんだ時に、そのまま対応できる可能性が高いです。
また、Javaは、「Write Once, Run Anywhere」(一度書けばどこでも動く)、という理念で設計されています。
つまり、Javaで書いたプログラムは、WindowsやMac、Linuxなど、さまざまなプラットフォームで動かせます。
このため、汎用性が高く、ゆえに需要が高いです。
参考までに主要なプログラミングごとの求人数は以下のようになっており、Javaが頭一つ抜けています。
言語 | 求人数 |
---|---|
Java | 15,206 |
Python | 7,939 |
PHP | 6,713 |
C# | 6,242 |
JavaScript | 5,933 |
Ruby | 2,634 |
HTML & CSS | 2,483 |
Visual Basic | 179 |
Koki
将来的にあわよくば仕事に繋げたい、と感じるなら、Javaを選択しましょう。
- 難易度:4/5
- 学びやすさ:3/5
- 環境構築の容易さ:3/5
- 需要の多さ:5/5
プログラミングの楽しい学び方
プログラミング言語が決まったら、善は急げ、早速プログラミングに触れていきましょう。
- 機材を揃える
- 教材を決める
- 教材を一通り終わらせる
- 教材のコードを発展させる
- 完全オリジナルの作品を作る
機材を揃える
まずは何より、プログラミングを行うための機材を揃えます。
最低限必要になるのは、以下の2つ。
- パソコン(ミドルレンジ以上)
- インターネット環境
パソコンに関しては、WindowsまたはMacがおすすめ。
LinuxやChromebook、ラズベリーパイでは、言語によっては開発環境が提供されていない可能性があるからです。
また、8~10万円以上の、ミドルレンジ以上のモデルを見ておいたほうが良いです。
低スペックのパソコンだと開発環境が非常に重くなり、最悪の場合プログラミングを投げ出すことに繋がりかねません。
こうなってはプログラミングを楽しむどころではありませんから、パソコンは初期投資としてそれなりのものを用意するのがベターです。
また統合開発環境や資料はネット経由で入手することになるので、インターネット環境も必須です。
教材を決める
続いて、学ぶと決めたプログラミング言語に対応した教材を決めます。
書籍またはUdemyなどの動画教材になるかと思いますが、まずは比較的コストのかからない、書籍が良いかなと思います。
初めての教材は、以下の視点で選ぶと良いです。
- 初心者向け、入門書などと銘打たれている
- 少なくとも200ページ以上のボリュームがある
- コードが多数紹介されている
- 教材を通して、あるいは巻末で、サンプルプログラムを作る構成になっている
超初心者向けなどと謳われている、薄めの書籍は要注意。
確かに簡単で取り組みやすいのですが、本当に基礎の基礎の内容しかなく、大した知識が身につかない場合があります。
教材を一通り終わらせる
ここまで揃えたら、いよいよ学習スタート。
まずは、購入した教材を一通り進め、終わらせます。
わからないところがあっても問題なく進めてください。
というのも、初めてのプログラミングでは以下が重要だからです。
- 教材を俯瞰し、動くプログラムを作るまでの全体像や、重要な概念を把握する
- 実際に書いたコードを動かし、楽しさを実感する
初めてのプログラミング体験では、教材の内容を理解することは不可能。
それよりも、とにかく教材を模写してコードを書き、実際にエラー無く動かせた!という成功体験を積み重ねていきましょう。
感覚としてプログラミングがわかってくると同時に、重要な概念もイメージできるようになり、反復学習時の効率が上がります。
教材のコードを発展させる
教材を何度か反復すると、サンプルコードが理解できるようになります。
同等のレベルの処理を自力で書けそうだと思えるようになったら、いよいよ応用にチャレンジしていきます。
サンプルコードに自身で考えた実装を加え、教材をベースにオリジナルのコードを書いてみましょう。
- コイントスゲーム→3連勝したら、連勝が続く限り、相手の勝率が5%ずつ上がっていく
- メモアプリ→ひらがな、カタカナ、英数字、常用漢字以外の文字が入力されていたらセーブできない
などなど、実用的でなくとも構いませんので、自分で作りたいものを決める→実際に作って動かしてみる、という経験を積みます。
Koki
プログラミングの楽しさを実感できるフェーズと言えます。
完全オリジナルの作品を作る
教材を十分マスターしたと感じたら、学習成果の確認およびアウトプットのため、自作プログラムの開発にチャレンジします。
自分が「作りたい!!」と思えるものを決め、プログラムの構成から考えていきます。
正解が無い過程となりますので、行き詰ったら教材に戻ったり、インターネットで情報を集めたりして対応していきます。
自分のプロダクトの開発はプログラミングの醍醐味であるとともに、スキルレベルが大きく上がる過程です。
これを繰り返していくと、徐々に作れるものの機能性やクオリティが上がっていきます。
まずは決めたプログラミング言語を極める
趣味としてのプログラミングでは、まずは選んだ言語に特化し、徹底的に学ぶことを意識してください。
どんな規模でも良いので、完全オリジナルの作品を作れるレベルが一つの目安。
プログラミングを学び始めるといろいろな言語や技術が気になり始め、あれもあれもと手を出したくなるものです。
しかし、以下の理由から、まずは選んだ一つの言語を徹底的にマスターしてください。
- スキルレベルが中途半端になってしまう
- 自分の作品を作らなければ、本当の楽しさを実感できない
- プログラミング的思考は他の言語でも応用できる
スキルレベルが中途半端になってしまう
ほとんどのプログラミング入門教材は、以下の構成となっています。
基礎文法は簡単な内容ですので、ほぼほぼ躓くことはないかと思います。
挫折したり、他の言語に目が泳いでしまうのは、主に中級実装の部分と言えます。
ここで別の言語にシフト → また挫折 → 他の言語にシフト、を繰り返してしまうのは、プログラミング初心者にありがちです。
しかしこうなると、いろいろな言語の基礎だけ触れたことがあるものの、スキルレベルはどれも大成していない……という状態になってしまいます。
そのため、まずは一つの言語をしっかりマスターすることを意識すべきです。
Koki
僕もプログラミングの独学を始めた最初の頃は、わからなくなったら教材を買い替えたり別の言語に浮気したりと迷走し、時間とお金を無駄にしました。。。
自分の作品を作らなければ、本当の楽しさを実感できない
教材で紹介されているサンプルコードを模写し、紹介されている通りに動作する。
これも立派なプログラミング体験であり、楽しさを感じられる過程です。
しかし、やはりプログラミングの本質は、自分で思い描いた機能を自分のコーディングで実現していく、デジタルなモノづくりだと思います。
「あんなことができたらいいのに」「こんなサービスを作りたい」という熱意を実現し、第三者に使ってもらうのがプログラミングの醍醐味です。
そのレベルに至るには、教材をしっかり理解することが最初のステップとなります。
プログラミング的思考は他の言語でも応用できる
趣味としてのプログラミングを長く続けていくためのコツは、「プログラミング的思考」を身に着けることです。
長くプログラミングを続けるなら、いずれ様々な言語に触れていくはず。
文法や記述の慣習は言語ごとに異なりますが、定数や変数、ループや条件分岐の組み方など、思考の部分はどの言語でも共通です。
つまり、一つの言語を徹底的にマスターするたびに、それを応用して以降の学習効率がどんどん上がっていく、ということ。
このメリットを得るために、一度学び始めた言語や技術は、しっかりモノにしていく、という意識が重要なんです。
まとめ | まずは触れてみることが大切!
この記事では、以下の内容を紹介してきました。
- 趣味としてプログラミングに触れるなら、学習しやすい言語から!
- 具体的にはPython、JavaScript、Scratch、Java。
- 一つの言語をしっかりマスターし、オリジナル作品を作る楽しさを実感しましょう。
プログラミングは難しいイメージがあるかもですが、学びやすい言語を選べば、独学でも十分に身に着けていくことができるスキルです。
そして2024年現在、義務教育に導入されるなど、プログラミングの人気が急上昇中。
どのような業界で活躍していくにしても、身に着けておいて損はないスキルとなっています。
プログラミングは、本当に楽しいです。
Koki
僕自身、趣味のつもりで始めたらドハマりしてしまい、後にプログラマーに転職してしまったほどです。
この記事をここまで読んでくださった方は、何かしらのきっかけでプログラミングに関心を持っている方であるはずです。
せっかくの縁ですから、この機会にぜひ、趣味としてプログラミングに触れてみるのはいかがでしょうか。
本記事が、楽しいプログラミングの世界に足を踏み入れるきっかけとなれば、これ以上に嬉しいことはありません。