AI時代のプログラミング学習|学んだ方が良い技術・やらなくて良い技術を調査データと実例で解説

ClaudeやChatGPTがコードを書いてくれる時代に、プログラミングの何を学び、何を学ばなくてよいのか。これからプログラミングを始める人も、すでに学んでいる人も、気になるところだと思います。
結論から言うと、AI時代に価値が上がったのは「AIが書いたコードを読んで、正しいか確かめ、直せる力」です。反対に、文法や関数名の暗記、定型的なコードを手で速く書く練習の価値は下がりました。この記事では、学んだほうがよい技術と、やらなくてよい(後回しでよい)技術を一覧にし、その理由を調査データと、実際に動かしたPythonのコードで説明します。
「そもそもAI時代にプログラミングを学ぶ意味はあるのか」については、テックジム代表のメルマガをもとにした「AI時代にプログラミングを学ぶ意味はある?」で書いています。この記事では、その先の「具体的に何を学ぶか」に絞ります。
先に結論:学ぶ技術・後回しでよい技術の一覧
| 区分 | 技術 | 理由 |
|---|---|---|
| 学んだほうがよい | 1つの言語の基礎(変数・条件分岐・繰り返し・関数・クラス) | AIのコードを読む土台。これがないと、正しいか判断できない |
| コードを読む力・デバッグ | AIのコードは「ほぼ正しいが少し違う」ことが多い | |
| テストの書き方 | AIのコードが正しいかを、人の目より確実に確かめられる | |
| Git・GitHub | AIが変えた箇所を確認し、まずければ元に戻せる | |
| セキュリティの基礎 | AIのコードの約半分にセキュリティ上の問題が見つかっている | |
| データの基礎(SQL・JSON・データ構造) | どの分野でもデータを扱う。AIの書いたクエリを確かめる必要がある | |
| Web・ネットワーク・コマンドラインの基礎 | AIエージェントはターミナルで動き、APIを呼ぶ。何が起きているかを理解するため | |
| 作りたいものを言葉にする力(要件・設計) | AIへの指示の質が、そのまま成果物の質になる | |
| 必要になったら学ぶ | 2つ目以降の言語、フレームワークの細部 | 1つ目の言語の考え方があれば、AIと一緒に短期間で身につく |
| アルゴリズムの難問・競技プログラミング | 計算量の感覚は必要だが、難問を解く訓練は仕事の大半では使わない | |
| クラウド・Docker・インフラの深い知識 | 公開や運用の段階で必要になる。最初から深く学ぶ必要はない | |
| やらなくてよい(AIに任せてよい) | 文法・関数名・ライブラリの使い方の暗記 | AIや公式ドキュメントにすぐ聞ける。理解していれば暗記は不要 |
| 定型的なコード(ボイラープレート)を手で速く書く練習 | AIが最も得意な作業 | |
| 正規表現や複雑なSQL構文の丸暗記 | AIに書かせて、テストで確かめるほうが速く確実 | |
| 流行のフレームワークを片っ端から試すこと | 移り変わりが速い。基礎を固めてから、必要なものを選ぶ |
「やらなくてよい」は、「知らなくてよい」という意味ではありません。覚えることにかけていた時間を、理解することと確かめることに回すという意味です。たとえば正規表現は、丸暗記は不要でも、AIが書いた正規表現が何をしているのか読める程度の理解は必要です。
データで見る:AI時代にプログラマーの仕事はどう変わったか
開発者の8割以上がAIを使い、半分近くは信用していない
Stack Overflowの2025年の開発者調査では、84%の開発者がAIツールを使っているか、使う予定と答えました。一方で、AIの正確さを信用していない人は約46%で、前年の31%から増えています。いちばん多い不満は「ほぼ正しいが、少し違う答え」(66%)で、45%は「AIが書いたコードのデバッグに、かえって時間がかかる」と答えています。
速さについても、単純ではありません。研究機関METRが2025年7月に発表した実験では、経験豊富な開発者が自分のプロジェクトでAIを使うと、かえって作業時間が19%長くなりました。本人たちは「AIのおかげで速くなった」と感じていたにもかかわらず、です(METRは2026年2月の続報で、その後のAIでは速くなっている可能性が高いとしつつ、測り方を見直しています)。
AIはコードを書いてくれますが、それが正しいかを最後に判断するのは人間です。AIを使う人が増えるほど、AIのコードを確かめる力の価値が上がっていることがわかります。
AIのコードの約半分にセキュリティ上の問題
セキュリティ企業Veracodeが100以上のAIモデルにコードを書かせた調査(2025年7月)では、45%のコードに、よく知られた脆弱性(OWASP Top 10)が含まれていました。2026年3月の追加調査でも、文法的に正しいコードは95%を超える一方で、セキュリティの検査に合格したのは約55%で、2年間ほとんど改善していないと報告されています。
AIのコードは「動く」けれど「安全とは限らない」。だからこそ、セキュリティの基礎は人間が学んでおく必要があります。
AIに頼りすぎると、学習が浅くなる
学ぶ人にとって特に大事なのが、Anthropic(Claudeの開発元)が2026年1月に発表した研究です。主に経験の浅いエンジニア52人に、Pythonの新しいライブラリを学んでもらい、AIを使うグループと使わないグループで理解度をくらべました。
- 理解度テストの点数は、AIを使ったグループが平均50%、使わなかったグループが67%。特に差が大きかったのはデバッグの問題
- 作業時間は、AIを使ったグループが約2分速かったが、統計的に意味のある差ではなかった
- ただし、AIに考え方を質問する、コードと一緒に説明を求める、書かせたコードについて追加で質問するといった使い方をした人は、学習が損なわれなかった。作業をまるごとAIに任せた人が、最も学べていなかった
AIを使うか使わないかではなく、どう使うかで学習の結果が変わるということです。この点は、後半の「学び方」で詳しく扱います。
学んだほうがよい技術
1. 1つの言語の基礎:関数とクラスまで
まずは1つの言語で、変数、条件分岐、繰り返し、関数、クラスまでを理解しましょう。テックジムでは、AI時代の最低ラインを「関数・クラス・インスタンス」としています。ここまでわかれば、AIが書いたコードのおおまかな構造が読めるようになります。
最初の1つにはPythonがおすすめです。文法が簡単で、AI・データ分析・自動化・Webと使い道が広く、AIが書くコードの例も豊富です。なお、GitHubの年次レポート「Octoverse 2025」では、2025年8月にTypeScriptが利用者数でPythonを抜いて1位になりました。Webの画面を作りたい人は、2つ目の言語としてJavaScript・TypeScriptを学ぶとよいでしょう。
2. コードを読む力・デバッグ
AI時代に最も大事になったのが、コードを読んで、おかしなところに気づく力です。AIは、一見正しく見えるけれど実は間違っているコードを書くことがあります。次の関数は、AIに「カートに商品を追加する関数」を頼んだときに出てきてもおかしくない例です。
# AIが書いた「もっともらしい」関数:カートに商品を追加して中身を返す
def add_to_cart(item, cart=[]):
cart.append(item)
return cart
# 別々のお客さんのカートを作ったつもり
print("Aさん:", add_to_cart("りんご"))
print("Bさん:", add_to_cart("みかん")) # Bさんのカートにりんごが入っている
# 直した関数:デフォルト値に「毎回作り直すもの」を使う
def add_to_cart_fixed(item, cart=None):
if cart is None:
cart = []
cart.append(item)
return cart
print("Aさん:", add_to_cart_fixed("りんご"))
print("Bさん:", add_to_cart_fixed("みかん"))
実行結果は次のとおりです(Python 3.9で実行)。
Aさん: ['りんご']
Bさん: ['りんご', 'みかん']
Aさん: ['りんご']
Bさん: ['みかん']
AさんとBさんのカートを別々に作ったつもりが、Bさんのカートにりんごが入ってしまいました。Pythonでは、デフォルト引数の[]は関数を定義したときに1回だけ作られ、呼び出しのたびに同じリストが使い回されるためです。コードの見た目には問題がなく、1回だけ試しても気づけません。
こうした「ほぼ正しいが少し違う」コードに気づくには、言語のしくみの理解と、実際に動かして確かめる習慣が必要です。エラーが出たときにメッセージを読んで原因を探す力も、AIの答えをうのみにしないために欠かせません。
3. テストの書き方
コードを目で読んで確かめるには限界があります。「この入力ならこの結果になるはず」をテストとして書いておけば、AIが書いたコードを自動で確かめられます。上の例でも、「AさんとBさんのカートは別々」というテストを1つ書いておけば、すぐに間違いに気づけます。AIにコードを書かせ、人間がテストで確かめる。この分担は、これからの開発の基本になります。
4. Git・GitHub
Claude CodeのようなAIエージェントは、一度に多くのファイルを書き換えます。Gitで変更を記録しておけば、AIが何を変えたかを差分で確認し、まずければ元に戻せます。チームでの開発やポートフォリオの公開にも使うので、早めに慣れておきましょう。
5. セキュリティの基礎
AIのコードの約半分にセキュリティ上の問題が見つかっている以上、最低限の知識は必要です。代表的な例が、データベースを不正に操作されてしまうSQLインジェクションです。
import sqlite3
db = sqlite3.connect(":memory:")
db.execute("CREATE TABLE users (name TEXT, email TEXT)")
db.executemany("INSERT INTO users VALUES (?, ?)",
[("tanaka", "tanaka@example.com"), ("suzuki", "suzuki@example.com")])
def find_user_unsafe(name):
# 文字列を埋め込んでSQLを組み立てる(動くが危険)
return db.execute(f"SELECT * FROM users WHERE name = '{name}'").fetchall()
def find_user_safe(name):
# プレースホルダ(?)を使う
return db.execute("SELECT * FROM users WHERE name = ?", (name,)).fetchall()
attack = "' OR '1'='1"
print("ふつうの検索 :", find_user_unsafe("tanaka"))
print("危険な書き方 :", find_user_unsafe(attack)) # 全員の情報が出てしまう
print("安全な書き方 :", find_user_safe(attack)) # 該当なし
ふつうの検索 : [('tanaka', 'tanaka@example.com')]
危険な書き方 : [('tanaka', 'tanaka@example.com'), ('suzuki', 'suzuki@example.com')]
安全な書き方 : []
文字列をそのまま埋め込んでSQLを組み立てる書き方は、ふつうの検索ではちゃんと動きます。しかし、名前の欄に' OR '1'='1と入力されると、全員の情報が出てしまいます。プレースホルダ(?)を使う書き方なら、入力はただの文字として扱われ、何も出てきません。
ほかにも、パスワードやAPIキーをコードに直接書かない、利用者の入力をそのまま画面に表示しない(クロスサイトスクリプティング対策)、といった基本は、AIに任せきりにせず自分で理解しておきましょう。
6. データの基礎(SQL・JSON・データ構造)
Webアプリでも、業務の自動化でも、AIの開発でも、扱うのはデータです。リスト・辞書といったデータ構造、データベースを操作するSQL、APIでやり取りされるJSONの基本は、どの分野に進んでも使います。SQLの細かい構文は暗記しなくてかまいませんが、AIが書いたSQLが何をしているか読めることが大事です。
7. Web・ネットワーク・コマンドラインの基礎
AIエージェントの多くは、ターミナル(コマンドライン)で動き、ファイルを操作し、外部のAPIを呼び出します。HTTPのリクエストとレスポンス、APIのしくみ、よく使うコマンドを知っていると、AIが何をしているかがわかり、トラブルにも対処できます。
8. 作りたいものを言葉にする力
AIへの指示があいまいだと、AIはもっともらしい一般的なものを作ります。誰が使うのか、何ができればよいのか、どんなルールがあるのかを言葉にする力は、AI時代のプログラマーの中心的なスキルになりつつあります。業務の言葉とルールを整理してコードにする考え方は、「ドメインモデリングとは?」で解説しています。
必要になったら学べばよい技術
- 2つ目以降の言語:1つ目の言語で関数やクラスの考え方を身につけていれば、2つ目はAIに違いを聞きながら短期間で学べます。仕事や作りたいもので必要になってからで十分です
- アルゴリズムの難問:処理が遅くなる原因(ループの中でループを回す、など)がわかる程度の計算量の感覚は必要です。ただ、競技プログラミングのような難問を解く訓練は、多くの仕事では使いません。就職でコーディングテストがある場合は、そのときに対策しましょう
- クラウド・Docker・インフラ:作ったものを公開・運用する段階で必要になります。最初から深く学ぶより、必要になったときに、AIと一緒に手を動かしながら学ぶほうが身につきます
- 数学:Webアプリや業務の自動化なら、中学・高校の基本で足ります。機械学習やデータ分析に進むなら、統計や線形代数が必要になります
やらなくてよい(AIに任せてよい)こと
文法・関数名・ライブラリの暗記
「リストを並べ替える関数は何だったか」「この引数の順番は」といった知識は、AIや公式ドキュメントにすぐ聞けます。暗記カードで覚える時間があったら、その時間で何か1つ動くものを作るほうが、ずっと力がつきます。
定型的なコードを手で速く書く練習
同じような画面、同じようなデータの出し入れ、設定ファイルのひな形など、定型的なコードを書くのはAIが最も得意な作業です。タイピングの速さや、定型コードを手で書く速さを競う意味は小さくなりました。
正規表現や複雑な構文の丸暗記
複雑な正規表現やSQLは、AIに書かせて、テストで確かめるほうが速くて確実です。ただし前に書いたとおり、何をしているか読める程度の理解は必要です。
流行のフレームワークを次々に追いかけること
新しいフレームワークやツールは毎月のように出てきます。基礎がないまま次々に試しても、使い方の暗記で終わってしまいます。基礎を固めてから、作りたいものに合わせて選びましょう。
AI時代のプログラミングの学び方
Anthropicの研究が示すように、AIは使い方しだいで、学習を助けもすれば、妨げもします。テックジムでは、初心者がAIを使うときに次のルールをすすめています。
| やってよいこと | 避けたいこと |
|---|---|
| エラーメッセージの意味を聞く | エラーの修正をまるごとAIに任せる |
| 考え方や、なぜそうなるのかを聞く | 課題のコードをAIに書かせて提出する |
| 書いたコードの改善点を聞く | 最初からエディタのAI自動補完(Copilotなど)を有効にする |
| AIが書いたコードを1行ずつ説明してもらう | 読まずにコピーして貼り付ける |
このルールの理由と、自動補完を使い始めるタイミングは「プログラミング初心者にAIをどう使わせる?」で解説しています。
段階別の進め方
| 時期の目安 | やること | AIの使い方 |
|---|---|---|
| 最初の1〜3か月 | 1つの言語で、変数から関数・クラスまで。小さなプログラムを自分の手で書く | エラーの意味と考え方を聞く。コードは自分で書く |
| 3〜6か月 | Git、テスト、SQL、Webの基礎。小さなアプリを1つ完成させる | 書いたコードの改善点を聞く。自動補完を少しずつ使い始める |
| 6か月以降 | 作りたいものに合わせてフレームワークやクラウドを学ぶ。AIエージェントで開発する | AIに書かせ、自分は読んで・テストして・直す側に回る |
就職・転職を考えている人へ
AIの普及で、未経験・新人のエンジニアの入口は狭くなっています。スタンフォード大学の研究チームの2026年8月の報告では、AIの影響を受けやすい職種の22〜25歳の雇用が、ほかの職種とくらべて約19%低い水準にあるとされています(研究チームは因果関係を示すものではないとしています)。一方で、同じ職種でも経験を積んだ人の雇用は、安定しているか増えています。
ここから言えるのは、AIで代わりがきく「指示どおりにコードを書くだけ」の仕事は減り、AIを使いこなし、出てきたものに責任を持てる人の価値は下がっていないということです。この記事の「学んだほうがよい技術」は、まさにその力です。日本の状況については「AI就職氷河期に新人・未経験エンジニアはどう備えるか」もご覧ください。
よくある質問
AIがあれば、プログラミングは学ばなくてもいいのでは?
簡単なものなら、プログラミングを知らなくてもAIで作れます。ただ、仕様を変えたい、おかしな動きを直したい、安全か確かめたいとなったとき、コードが読めないと判断できません。AIのコードを読んで確かめられる程度の基礎は、学んでおく価値があります。
最初に学ぶ言語は何がいいですか?
Pythonがおすすめです。文法が簡単で、AI・データ分析・自動化・Webと使い道が広いからです。Webの画面を作りたい場合は、2つ目にJavaScript・TypeScriptを学びましょう。
アルゴリズムやデータ構造は勉強しなくていいのですか?
基本的なデータ構造(リスト、辞書など)と、処理が遅くなる原因がわかる程度の計算量の感覚は必要です。競技プログラミングのような難問を解く訓練は、目的がなければ後回しでかまいません。
最初からAIを使って学んでもいいですか?
使ってかまいませんが、使い方が大事です。エラーの意味や考え方を聞くのはよいですが、コードをまるごと書かせると、研究でも理解度が下がることが示されています。最初の数か月は、コードは自分で書きましょう。
関連記事
近いテーマの記事です。あわせてどうぞ。
- ローコード開発とは?しくみ・ノーコードやAIコーディングとの違い・メリットとデメリットを解説
- AIの収穫逓減とは?スケーリング則の限界と「壁」論争、それでも性能が伸びる理由をわかりやすく解説
- ボイラープレートとは?意味・語源とプログラミングの例、減らし方をPythonで解説
まとめ
AI時代のプログラミング学習では、暗記と定型作業はAIに任せ、理解と確認に時間を使うのが基本です。学んだほうがよいのは、1つの言語の基礎(関数・クラスまで)、コードを読む力とデバッグ、テスト、Git、セキュリティ、データとWebの基礎、そして作りたいものを言葉にする力。どれも、AIが書いたコードを「読んで、確かめて、直す」ために必要な力です。AIは、考え方を聞く相手として使えば、学習の強い味方になります。
テックジムでは、自分の手でコードを書きながら基礎を身につける無料のプログラミング講座を開いています。AIを使った開発まで学びたい人は、AI駆動開発/生成AIエンジニアコースや、ゼロからはじめるClaude Code入門講座(無料)もご覧ください。
参考情報
- Stack Overflow Developer Survey 2025:AI(英語)
- Veracode:2025 GenAI Code Security Report(英語)
- Veracode:Spring 2026 GenAI Code Security Update(英語)
- Anthropic:How AI assistance impacts the formation of coding skills(2026年1月、英語)
- GitHub:Octoverse 2025(英語)
- Stanford Digital Economy Lab:Canaries in the Coal Mine(2026年8月更新、英語)
- METR:経験豊富な開発者のAI利用と生産性の研究(2025年7月、英語)







