独学ロードマップ

STEP1:最初の言語、どう選ぶ?

自分で調べ、自分で判断する力を身につけよう

📚 このページの歩き方

このページは「これが正解だ」と一つの言語を勧めるものではありません

あなたの目的を達成するために、どんな情報源をどう見ればよいか、その「調べ方」と「考え方」をガイドします

💡 重要:この調査プロセス自体が「自走力」の第一歩です。一緒に客観的なデータの見方を学んでいきましょう。

🧭 1. すべての基本:まず「何を作ってみたいか」を考えよう

どんなデータを見るよりも先に、自分の興味・関心事を明確にすることが最も重要です。

🌐 Webサイト・Webサービスを作りたい

例: ブログ、SNS、ECサイト、企業サイト、ポートフォリオサイトなど

📱 フロントエンド(ユーザーが見る部分)

必須: HTML/CSS, JavaScript

発展: TypeScript(JavaScriptをより安全に)

高性能化: WebAssembly(Rust, C/C++, AssemblyScript等)

⚙️ バックエンド(サーバー側)

JavaScript (Node.js), Python, Ruby, PHP, Go, Java, C#

🚀 WebAssembly(WASM)とは?

ブラウザ上でネイティブレベルの高速処理を実現する技術。ゲーム、画像・動画処理、科学計算などで威力を発揮。

よく使われる言語: Rust(最も人気)、C/C++、AssemblyScript、Go など

📱 スマートフォンアプリを作りたい

例: ゲーム、SNSアプリ、ツールアプリ、メッセージアプリなど

🍎 iOSネイティブ

Objective-C, Swift

🤖 Androidネイティブ

Kotlin, Java

🔄 クロスプラットフォーム

JavaScript (React Native), Dart (Flutter), C# (MAUI)

🤖 AI・機械学習・データ分析をやりたい

例: 画像認識、自然言語処理、株価予測、データ可視化、ChatGPT的なAIなど

🔬 AI開発(上級者向け)

Python - 圧倒的に主流

機械学習モデルの構築、ディープラーニング、アルゴリズム研究など本格的なAI開発

🚀 AIサービス利用(初心者OK)

多言語対応 - JavaScript, Python, Java, C#など

OpenAI API、画像認識API等を使ったアプリ開発。プログラミング初心者でも取り組みやすい

💡 初心者の方へ: 「AI」に興味があっても、いきなり機械学習は難しいかも。まずは OpenAI APIを使ったWebアプリ作成など「AIサービスを活用する」ところから始めるのがおすすめです。

🎮 ゲーム開発がしたい

例: PCゲーム、家庭用ゲーム、インディーゲーム、VRゲーム、Minecraftアドオンなど

🎯 ゲームエンジン

C# (Unity) - 最も人気

C++ (Unreal Engine) - 高性能

🌐 Webゲーム

JavaScript

📝 ゲームスクリプト

Lua - Robloxなど

🧱 Minecraft Bedrock版

JavaScript/TypeScript - アドオン・改造

Behavior Pack、Resource Packの作成

⭐ 初心者におすすめ:Minecraft アドオン開発

Minecraft Bedrock版では、JavaScript/TypeScriptを使ってアドオンやMODが作成できます。

• 既存の人気ゲームを拡張する楽しさ • 学習リソースが豊富 • 作品を友達と共有しやすい

🏢 大企業や金融機関のシステム開発

例: 基幹システム、業務システム、銀行システム、ERPシステムなど

Java - 業務システム系

安定性・実績重視の業務システムでよく使われるだけでなく、Android 開発でも利用される

🔷 C# - Microsoft 製

Windows中心の企業システムでよく使われるだけでなく、Web バックエンドでも利用される

⚡ コマンドラインツール・自動化・スクリプト

例: 作業自動化、ファイル処理、サーバー管理、データ処理バッチなど

🐍 汎用スクリプト

Python - 読みやすく学習しやすい

Ruby - 日本で人気

🖥️ システム管理

Bash/Shell - Linux/Mac

PowerShell - Windows

Go - 高速・軽量

🗄️ データベースを操作したい

例: データ検索・集計、レポート作成、データ管理、分析用データ抽出など

📊 SQL - データベース専用言語

どんなプログラミング言語を選んでも、データを扱うならSQLの知識が必要になることが多い

🔧 OS・組み込み・低レイヤー開発

例: OSカーネル、デバイスドライバ、IoT機器、マイコン制御、ブロックチェーンなど

⚡ OSに近い

C - システムの基礎

C++ - Cの拡張版

Rust - モダンで安全

🔩 機械語に近い

Assembly - CPUを直接制御

重要なポイント

  • 一つの言語で複数のことができる: JavaScriptはWeb、モバイルアプリ、サーバー、ゲームまで対応
  • 同じ目的でも複数の選択肢: Webサイト作成ならPython、Ruby、PHP、Go、Javaなど様々
  • 最初の言語で基礎を築けば: 二つ目以降の言語習得は格段に早くなる
  • 完璧な選択はない: 「これかな?」と思った分野から始めることが一番大切

📊 2. 客観的なデータで「今」を知るための4つのツール

自分の目的がぼんやりと見えたら、次に世の中の動向を客観的なデータで見てみよう。具体的なサイト名を挙げ、データの見方を解説します。

ツール①

Stack Overflow Developer Survey

〜世界の開発者の「人気」を知る〜

📈 見方:

毎年公開される世界最大級の開発者アンケート。

🎯 注目ポイント:
  • Most popular technologies: 今、最も広く使われている技術は何か?
  • Admired and Desired: 開発者が「使ってみたい」、「これからも使い続けたい」技術は何か?
⚠️ 注意点:

これはあくまで「人気投票」。日本の求人数や企業の採用状況とは必ずしも一致しません。

ツール②

求人検索サイト

〜日本の「仕事」の需要を知る〜

🔍 見方:

レバテック、Green、Wantedly、Indeedなどで言語名を検索し、求人数を比較する方法。

🎯 注目ポイント:
  • 求人数の比較: 「Java」「Python」「PHP」「Ruby」などで検索し、ヒット件数を比較してみよう。安定して需要が高い言語が見えてくる。
  • 企業の文化: Wantedlyはスタートアップが多く、GreenはIT/Web系、レバテックはより広範な求人を扱っている。どのサイトにどの言語の求人が多いかで、企業の文化と技術の関連性が見えてくる。
ツール③

企業の技術ブログ・採用ページ

〜スタートアップと大企業の違いを知る〜

👀 見方:

興味のある企業の「採用ページ」や「開発者ブログ」を見ることを推奨。

🚀 スタートアップ:

新規開発が多く、開発スピードを重視する傾向。最新の技術動向を素早く取り入れる企業も多く、技術スタックも多様で、変遷を重ねることが多い。

🏛️ 歴史ある大企業:

安定性や堅牢性を重視する傾向。Java, C#, C++などが多く、長年の実績がある技術が好まれる。

ツール④

技術スタック調査の3つのプラットフォーム

〜「あのサービス」の裏側を知る〜

📊 StackShare - 世界規模の技術スタック

🔗 サイトを見る

特徴: Airbnb、Instagram、WhatsAppなど、世界的な有名サービスの技術スタックが豊富に掲載されています。

活用法: 憧れの海外サービスがどんな技術を使っているかを調べて、グローバルなトレンドを把握しよう。

🎯 What We Use - 日本企業の詳細な技術選定

🔗 サイトを見る

特徴: メルカリ、PayPay、クックパッドなど、日本の有名IT企業の技術スタックをインタビュー記事で詳しく解説。

活用法: 「なぜその技術を選んだのか」の背景や理由まで知ることができ、技術選定の思考プロセスを学べる。

🛠️ Findy Tools - 開発ツールと実際の導入事例

🔗 サイトを見る

特徴: プログラミング言語だけでなく、開発・運用で使われるツール全般の実際の導入事例やアーキテクチャが豊富。

活用法: 言語だけでなく「実際の開発現場で何が使われているか」の全体像を知ることができる。

🎯 3つのサイトの使い分け方:

StackShare

海外トレンドをキャッチ

What We Use

日本企業の選定理由を理解

Findy Tools

開発現場の全体像を把握

💡 ポイント: 同じ企業でも複数のサイトで情報を見比べることで、より深い理解が得られます。特に「なぜその技術を選んだのか」という背景を知ることが重要です。

🔍 3. 学生が学ぶのに適した言語はどれか?

ここまでで、「作りたいもの」と「世の中で使われているもの」の 2 つの軸で、いろいろな言語を見てきました。
一方で、「学生が学ぶべき言語」のようなものをあげるのはとても難しいです。

将来役立つ言語を見極めるのは難しい

皆さんが高校生であれば、あと数年で大学生、社会人になります。
一方で、まだ小学生・中学生であれば、仕事でプログラミングが必要なのは 10 年近く先になるかもしれません。

技術の進化と共に、プログラミング言語の人気や需要は変化し続けています。実際、私が仕事を始めてから 20 年近くが経ちますが、その間にも何度も変化がありました。
新しい言語が登場する場合もあれば、ずっと人気のなかった言語が突然注目されることもあります。

JavaScript は 2000 年代は使える言語ではありませんでしたが、今では Web 開発に欠かせない存在です。一方で TypeScript のように、JavaScript を拡張した言語も登場し、多くの現場では JavaScript よりも TypeScript が主流になりつつあります。

さらに、AI の進化により、今後のプログラミングのあり方も大きく変わる可能性があります。
こうした変化の中で、「将来役立つ言語」を見極めるのは非常に難しいことを理解しておきましょう。

特に、プログラミングスクールは JavaScript や Python を推す傾向がありますが、「流行りの言語」=「将来役立つ言語」ではないことを理解しておきましょう。

AI 時代にプログラミングは不要?

AI の進化で、「未経験者でもプログラミングができる」というフレーズをよく見かけるようになりました。

これは、ある意味ではその通りだと私も感じています。ただ、それは趣味の範囲であったり、簡単なツールを作るレベルに限られると考えています。

個人で AI を駆使して販売するアプリケーションを作っているような人たちは、未経験だったかもしれませんが、その「目標」のための学習をしっかりと行っているはずです。
その学習は、プログラミング言語の学習ではなく、「AIを使って何を実現したいか」にフォーカスしているものだと想像できますが、プログラミングやデザインの知識も少なからずインプットしていっているはずです。

おそらく、AI がもっと進化し普及する時代には、プログラミングは数学のような「使える一般教養」になるだろうと思います。

AI を使う時「AI にどう指示を出すか」が重要になります。
AI は曖昧な指示ではその力を発揮できません。正確で論理的な指示が必要です。

プログラミングは「コンピュータへの命令」を記述する一方で、プログラミングする対象を構造的に捉え、論理を組み立て、抽象的に考えることが何より重要です。
この「プログラミング的思考」は、AI 時代においては、ますます重要になると考えています。

重要なのは自分の道具にすること

プログラミング学習で最も大切なのは、それを「自分の道具」として捉えることです。

多くの初学者は「どの言語を学ぶべきか?」という手段の選択で悩み、学習そのものが目的となって挫折しがちです。しかし、重要なのは言語の優劣ではなく、「自分が何を作りたいか、何を解決したいか」という目的意識です。

Webサイト、ゲーム、スマートフォンアプリなど、自分の目的を先に定めることで、その実現に最適な「道具」としてのプログラミング言語は自然と見えてきます。

目的が明確であれば、困難な壁にぶつかっても学習を続ける強いモチベーションとなり、学んだ知識は単なる暗記ではなく、現実に役立つ「生きたスキル」として定着します。

特に学生の皆さんは、勉学の合間にプログラミングをすることになると思います。それならば、「お勉強」ではなく、自分を助けてくれたり、楽しませたりする「自分の道具」としてプログラミングを学べるといいのではないかと思います。

ぜひ、その最初の一歩を踏み出す言語を自由に選んでみてください。

まとめ:最初の選択はゴールじゃない

言語にはそれぞれ得意なこと、文化、需要があります。
しかし、最も重要なことを忘れないでください。

🔍 調査プロセス自体が「自走力」の第一歩

データを集め、比較し、自分なりの結論を出す。この能力こそが、変化の激しいIT業界で生き抜く力になります。

🚀 一つの言語を深く学べば、二つ目は格段に早い

プログラミングの基本的な考え方は共通です。最初の言語で土台を築けば、他の言語の習得は驚くほど早くなります。

💡 重要なのは言語より問題解決の考え方

言語は道具です。本当に価値があるのは、その道具を使って問題を解決する思考力です。

✨ だから、悩みすぎずに第一歩を踏み出そう

技術が進化する以上は完璧な選択はありません。「これだ!」と信じた道に一歩踏み出すことが、何より大切です。

さあ、あなたはどの言語から始めますか?