プログラミングに興味はあるけど、何から学ぶべき?
初心者におすすめの言語は何か知りたい
どうやって学習したらいいのか分からない
いざプログラミングを始めようと思っても、数多くある情報の中から自分にベストなものを選ぶのは大変なことでしょう。
そこで本記事では、プログラミングの学習をこれから始める人に向けて分かりやすくプログラミング言語の選び方や挫折しない学習のコツを紹介します。
プログラミングとは
プログラミングはHTMLやJavaなどのプログラミング言語を使って、パソコンに動作の指示を出して適切に処理することです。
身近なところで多く利用されており、洗濯機や冷蔵庫などの家電製品、スマホアプリ、Webサイトなどにもプログラミング技術が活用されています。
プログラミング言語は200種類以上あり、何をするかで指示を出す言語は異なります。
プログラミング入門者が知っておきたい基礎の基礎
最初にプログラミングを始めようとしている人が知っておきたいことを紹介します。
- 言語の選び方
- 学習の仕方
- パソコンの選び方
それぞれ順番に見ていきましょう。
言語の選び方
プログラミングは、言語によってできることが異なるため、プログラミングで何がしたいのかを考えてから言語を選択しましょう。
たとえば、YouTubeはPython、iOSアプリではSwiftが使用されています。
ホームページを作るならHTMLやCSS、JavaScriptに加えPHPの知識も必要です。
このように目的によって、学習する言語に差があります。
どの業界で働きたいのか、どの技術領域に興味があるのかを考え、それに即した言語を学ぶのが良いでしょう。
学習の仕方
プログラミングの学習方法は、独学とスクールで学ぶ方法の2パターンです。
お金をあまりかけずにスキルを身につけたい人には独学がおすすめですが、大手エンジニアスクールがとったアンケートではプログラミング学習者の挫折率が約90%と非常に高い結果が出ています。
挫折してしまう理由の多くは、情報が溢れてすぎていて正しいロードマップに辿りつかないことや学習分野が多いことが挙げられます。
たとえば、Web開発をRubyでしようとすると以下の9つの知識が必要です。
- HTML
- CSS
- JavaScript
- Ruby
- Rails
- SQL
- HTTP
- Git
- GitHub
Web開発をする目的だけでも、さまざまな知識が必要になり、独学では追いつかなくなってしまいます。
何かわからないことがあっても聞ける人がいない、というのも難点です。すぐにエラーが解決できずに、ずっと悩まされて作業が一向に進まないということもあります。壁にぶち当たってからの立ち上がりに時間がかかればかかるほど、諦めてしまう可能性が高まります。
独学は最低限の投資で学べる一方で、挫折せずにやり遂げるのが非常に難しいのが現状です。独学でスキルを身につけるには、相当な根性が必要になります。
大変な学習を乗り越えられる自信がある人は、独学でも十分に学習できるでしょう。とはいえ、独学で躓いてしまったり、最短でスキルを身につけたい人はスクールを検討してみてください。
パソコンの選び方
パソコン選びのポイントは、以下の3つです。
- CPU
- メモリ
- ストレージ
CPUはパソコンの頭の良さ、メモリは作業できる机の大きさ、ストレージはどれだけ保存できるかです。
CPUはプログラミングの処理速度に影響するため、高性能なものを選択しましょう。メモリは大きければ大きいほど、同時進行で作業が進めやすくなります。ストレージ容量は、プログラミングとは直接関係はありませんが、使用するアプリやデータベースの容量で関係があります。
この3つを踏まえた、おすすめのパソコンのスペックは以下の通り。
CPU |
【Windows】最低:core i5 推奨:core i7 |
メモリ | 最低:8GB 推奨:16GB |
ストレージ | 最低:256GB 推奨:512GB |
手持ちのパソコンが提示したスペックを持ち合わせていなくても、持っているパソコンでプログラミングができないという訳ではありません。
とりあえずは、手持ちのパソコンで学習を始めてみてください。勉強や仕事のしやすさなどを確認してみて、不都合があれば推奨したスペックのパソコンへの買い替えを検討してみるのが良いでしょう。
WindowsかMacかどちらを買うか迷っている人は、こだわりがないのであればMacがおすすめです。持ち運びや操作がしやすく、プログラミングの環境構築に標準で入っているツールもあって便利です。とはいえ、Windowsでも問題ありません。
プログラミング入門者必見!目的別おすすめ言語
ここでは、プログラミングでやってみたいこと別でおすすめの言語を紹介します。
- ホームページを作りたい
- Webアプリを作りたい
- スマホアプリを作りたい
- ゲームを作りたい
- AIを作りたい
- 仕事の効率化をしたい
目的によって使用言語が異なるため、初心者におすすめ!といった言語はありません。
「未経験だからこの言語」という選択ではなく、プログラミングでやってみたいことから言語をチェックしてみてください。
ホームページを作りたい
ホームページを作るには、Web制作の技術が必要です。
Web制作をするなら、以下の言語を学習しましょう。
- HTML
- CSS
- Sass
- JavaScript
- PHP
HTMLはWebサイトに文字を表示させ、CSSで要素に装飾をし、JavaScriptで動きをつけます。SassはCSSが効率的に書ける言語で、PHPはWordPressの構築に使用します。
CMSの一種であるWordPressは世界では62.7%、日本では82.8% と圧倒的なシェアを誇っており、オリジナルページをカスタマイズするにはPHPの知識が必要です。
また言語ではありませんが、コードのバージョンを管理するGitも使えるようになっておくと良いでしょう。
ノーコードがあるからコーディングはいらない?
まだまだコーディングでWebサイトを構築する場面は多くあります。また、ノーコードとはいえ、コードの書き方を知っているからこそ、マークアップ構造が整ったWebサイトが作れます。コードの書き方を知らなければ保守性にも影響が出るため、コーディング知識はノーコードを利用するときでも必要です。
Webアプリを作りたい
Webアプリを作るには、Webサイトに表示させるための言語にプラスして、サーバーサイドの言語知識の習得が必要です。
Webサイトを表示させる言語は以下の通り。
- HTML
- CSS
- JavaScript
サーバーサイドの言語は以下の通り。
- Ruby
- Java
- PHP
サーバーサイドは機能をつくること、具体的にはX(旧Twitter)なら画像や投稿を保存する、Netflixなら動画を見たり、お気に入りを作成したり、メルカリなら自分でモノを出品するなどの機能です。
このようなサーバーサイドの言語を初心者が学ぶなら、Ruby・Java・PHPが参考文献が多くておすすめ。
特に初心者はフレームワークが使いやすく開発もしやすい、Rubyを学習するのが良いでしょう。
とはいえ、Webアプリを作るのは難易度が高く、挫折率も高いといった特徴があります。
フレームワークとは?
Webアプリケーションやシステムを効率的に開発するために必要な機能をあらかじめ備えている枠組みのこと
スマホアプリを作りたい
iOSアプリならSwift、Androidアプリを作るならKotlinという言語を選択しましょう。
簡単なアプリを作るなら、一つの領域の知識で作れてしまいます。
アプリ開発には開発ツールを使用するため、開発ツールを使いながら学ぶのが効果的です。画面操作が多くあるアプリ開発は書籍で学ぶよりも、UdemyやYouTubeなどの動画で実際に見ながら勉強するのがわかりやすいでしょう。
ゲームを作りたい
ゲームを作るなら厳密には言語ではありませんが、以下の3つの中から選択すると良いでしょう。
- Unty
- UEFN
- Roblox Studio
これらはゲームエンジンと呼ばれ、開発に要する機能が備わっています。
Untyの難易度が非常に高い一方で、UEFN、Roblox Studioはゲームを公開するまでのハードルが低く、挑戦しやすいため初心者向けです。
Untyはしっかりとプログラミングをしてゲームを作るもので、言語はC#を使用します。難易度は非常に高いですが、昔からあるゲームエンジンで情報収集や学習のしやすさがあります。人気ゲームにも使用されており、本格的にゲーム開発したい人にぴったりです。
UEFNはVerseという言語が使われており、UEFNを使いながらVerseを勉強すると効率的に学べます。現段階(2024年)では日本語の学習コンテンツがなく、勉強のしにくさがありますが、『UEFNでゲームづくりをはじめよう』の書籍は初心者でもわかりやすくまとまっています。
Roblox Studioでは言語にLuaが使われており、YouTubeでも解説動画があります。さらに、全世界に2億人以上のプレイヤーがいる人気ゲームのプラットフォームで多種多様なゲームが制作できます。UEFNの方が少し難易度は上がりますが、ハイクオリティなゲーム作りが可能です。
難易度が高いゲーム開発は、いきなり難しいものにチャレンジするよりもUEFNやRoblox Studioなどのゲームエンジンを理解してからプログラミング言語を学ぶ方がスムーズに学べます。
AIを作りたい
AI開発に興味があるなら、Pythonを学習しましょう。
とはいえ、「Pythonを習得すればAIが作れる」という訳ではありません。
Python以外にも数学や機械学習、データベース運用などの知識も求められ、ハードルが高い分野です。
Webアプリ開発とは異なりコーディングしたものが見た目に反映されず、地味な一面もあり、適正が必要になるかもしれません。
とはいえ、AI開発に興味があるなら、ぜひチャレンジしてみてください。
仕事の効率化をしたい
業務の効率化をしたいなら、Pythonを学習しましょう。
Pythonを活用すると、以下のことができます。
- Webサイトで情報収集
- Excel業務の自動化
- データ分析の自動化
Webサイトにアクセスして、さまざまなデータを収集するスクレイピングができたり、定期的なレポート作成や複数シートからの情報収集が数秒でできたり、膨大な量の分析の自動化も叶います。
他にも、メールの自動返信や画像編集などの作業時間の節約も可能です。
書籍で学ぶなら『退屈なことはPythonにやらせよう』がおすすめ。
プログラミング入門におすすめの学習サイト
未経験からプログラミングを学ぶなら、ProgateとUdemyで学習すれば間違いありません。
Progateは初心者が躓きがちな環境構築が不要で学べる学習サービスで、プログラミング入門にぴったりです。図解付きのスライド形式でわかりやすく、ブラウザ上で手を動かしながら学べます。
Udemyは買い切りの動画学習サービスで、一度購入するといつでも見直しが可能です。さまざまなジャンルのコースがあり、講座のレベルは初心者向けから上級者向けまで幅広く揃っています。また、受講者のレビューや評価がチェックできて、高品質な授業を受けられるでしょう。
プログラミング学習の3つのポイント
挫折率が高いプログラミングを習得するには、以下3つのポイントを押さえましょう。
- 暗記をやめる
- インプットしたらすぐにアウトプット
- 必要な分だけ学ぶ
プログラミングは正しい学び方で学ぶのがとても重要です。
習得スピードに雲泥の差が出るほど大切なため、しっかり要点をチェックしてください。
暗記をやめる
プログラミングは暗記のイメージが強くあるかもしれませんが、覚える必要はありません。
分からないコードがあれば調べて解決していくのがプログラミングです。学校の授業のようにノートを綺麗にとる必要もなければ、単語帳を作って必死に暗記する必要もありません。
重要なのは、暗記よりも思考力。プログラミング思考を身につけて、どのように問題解決するのかを考えることが圧倒的に大切です。
状況に応じて適切なアプローチをすることが重要で、暗記に頼ってしまうと、新しい問題に直面したときに柔軟な対応が難しくなってしまいます。
問題解決の能力や応用力が必要なプログラミング学習において、暗記する勉強は向いていません。
インプットしたらすぐにアウトプット
新しく学んだことは、すぐにどんどんアウトプットしましょう。
インプットした知識は、実際に手を動かしてコードを書いてアウトプットするのが大切です。
Web制作の学習をしたのならWebサイトを、スマホアプリ開発の学習をしたのならスマホアプリを作ってみてください。
最初は時間がかかるかもしれませんが、手を動かしてみないことには、なかなかスキルが身につきません。多くのことをインプットするよりも、アウトプットする方が記憶も定着しやすくなります。
とはいえ、アウトプットしていると、難しい課題にぶつかって何時間も解決しないということがよくあります。期待した動作をせずに、苦しい時間が続くことがありますが、苦しい時間こそがアウトプットする時間です。
何か学んだらすぐに手を動かしてコードを書く、これを意識して学習してみてください。
さらに、インプットよりもアウトプットの時間を多くとるように学習を進めると、実践力が身について効果的な学習ができるでしょう。
必要な分だけ学ぶ
プログラミングにおいて完璧は存在しないため、必要な分だけ学ぶことを意識しましょう。
プログラミング学習でよくあるのが、完璧な状態を目指して必要ない部分まで学んでしまうことです。
どれだけ勉強したとしても、分からないことはどんどん出てきます。分からないことがあれば、その度に調べて解決していけば問題ありません。
あとで無駄な努力だった、と後悔しないためにも、目的に応じた必要な部分だけを学習するように気をつけましょう。
プログラミングをゼロから学んだ人の事例紹介
未経験からプログラミングを学んだ3人の事例を紹介します。
- メガドンキさん(元トレーナー→Web系フリーランス)
- りっきょんさん(SES企業→Webマーケティング会社)
- Katsuさん(営業職→フリーエンジニア)
それぞれ順番に見ていきましょう。
1.メガドンキさん(元トレーナー→Web系フリーランス)
メガドンキさんは、スポーツジムでのトレーナー経験を活かしてブロガーとして活動し、現在ではWeb系フリーランスとして活躍されています。
運営しているブログのデザインもこだわりたいといった思いからデイトラWeb制作コースを受講を決意。
カリキュラムをコツコツと学習し、営業開始から1ヶ月で初案件を受注しました。
▶ジムトレーナーからWeb系フリーランスになった体験談はこちら!
2.りっきょんさん(SES企業→Webマーケティング会社)
りっきょんさん(@rikkkkyon_)はWebマーケティング会社でWebサイトやSNS運用の担当、Pythonで業務効率化のためのプログラム開発など、幅広い業務を担っています。
副業で収入アップや業務を効率化するために、デイトラPythonコースを受講したりっきょんさん。
Pythonのスキルを習得して分析ツールを作り上げたことを武器に、Webマーケティング会社へ転職しました。
▶︎PythonでWebマーケティング会社へ転職した体験談はこちら!
3.Katsuさん(営業職→フリーエンジニア)
Katsuさんは海外で営業職として働いていましたが、正しい学習と努力をし続けたことで未経験からエンジニアへ転身。
手に職をつけるためにプログラミングを勉強し、バックエンドエンジニアを目指してデイトラWebアプリコースを受講しました。
自社開発企業で経験を積んだ後に、ポテンシャルエンジニアとして採用され、念願のフリーランスエンジニアの夢を果たしています。
▶︎未経験から約1年でフリーエンジニアになった体験談はこちら!
まとめ:プログラミングで何をするか目的を決めよう
プログラミングといっても、200種類以上の言語があり、それぞれの言語ごとに特徴が異なります。
何から学習を始めたらいいのか迷う人が多くいますが、初心者におすすめの言語は存在しないのもこれが理由です。
プログラミングを使って何がしたいのか、何を実現したいのか、目的を明確にしてから学習を始めましょう。
またプログラミングはコードを暗記するよりも、問題を解決していくための自走力が大切です。
実務でもスムーズにコーディングができることは、ほとんどありません。意図しない動きをしたときは、思考を巡らせ、解決策を探して対処する力が必要です。
独学で不安がある人や実務で通用するスキルを身につけたい人はデイトラで学ぶのを検討してみてください。
未経験からプログラミングを学ぶならデイトラがおすすめ!
デイトラはWeb制作やWebアプリ開発、Shopifyなどの全10種類のコースがあり、どのカリキュラムも実務レベルの本格スキルが学べます。
講座は買い切りで卒業してからも無制限で教材が見られるほか、受講生の声やWeb業界の動向によって追加料金なしでカリキュラムがアップデートされます。
さらに、現場で活躍するプロから学習サポートが受けられ、いつでも頼れる環境があるため、安心して学べるでしょう。
Webスキルを身につけたい方は、ぜひデイトラをチェックしてみてください!