自分はプログラミングを始めて2ヶ月半の初心者です。始めはCS50という無料の講義をYouTubeでみて勉強しCS基礎の基礎を学びました。そしてアプリを作ってみようと複数の目的地を入力してそれらの最適ルートを出力するという(巡回セールスマン問題のようなもの)をgoogleのAPIを使って作成したのですが、作成の途中に生成AI(ChatGPT)を使って作成しました。正直AIに分からないことを聞きまくったのでAIが吐いたコードをその都度どういう原理かというのは理解しながらは使ったのですがコピペをすることが多かった気もします。このような過程でAIのコードをコピペしながらアプリを作るというのは自分の身になっているのか心配な部分があります。もし身にならないのならどのようにしてアプリ開発を通して勉強するべきでしょうか?ご意見頂戴願います。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答7件
#1
総合スコア812
投稿2025/05/15 11:44
それもAIに聞いてみましょう
#2
総合スコア14315
投稿2025/05/15 13:07
AI付きでなくても、IDEや高機能エディタでプログラミングをするのであれば、多かれ少なかれ自動で生成されたコードを使っていることになるので、そのことで、身にならないとは言えないと思います。
ただし、質問にもありますが、「AIが吐いたコードをその都度どういう原理かというのは理解しながらは使った」というのは大事で、それぞれのコードがどのような目的で書かれ、どのように動作しているのかを把握していることは必須です。
AIなどによる支援はただの支援に過ぎないので、根本的なロジックや組み立てなどは、自身でしっかり把握してコントロールすべきです。 これは、IDEなどについている機能(ボタン)を使う場合にもある程度言えることだと思っています。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
#3
総合スコア4285
投稿2025/05/15 14:53
以前はAIがなかったので、自分で考えるしかなかったのですが生成AIが存在する以上、それを活用するのは必須の技術となると思います。
その上でコードの内容を把握して、コードに責任を持つという事が大切になると思います。
AIが書いたコードだから分かりませんは通用しないってことです。
過程はどうあれ最終的な責任は自分が持つ事に変わりはないです。
仕事であればですが。
純粋な趣味とか興味でプログラミングしているとして、何らかの成果を自分の中に残したいという事でしたら、
生成AIが出力するコードの内容をできるだけ理解するようにするというだけで十分かなと思います。
これからのプログラミングの学習において生成AIを使わない手はないというか、単に非効率なので可能な限り利用するべきと考えています。ただし、コードの内容を理解するための努力はすべきと考えています。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
#4
総合スコア121
投稿2025/05/15 23:39
今後一生AIに頼っていけるのであれば、技術が退化することはありませんので、AIが作成したコードの部分は「わざわざ身になる必要がない」のではないでしょうか。
AIが出力したものの意味と仕組みが分かっているのであればデバッグや組み合わせ方は出来ると思います。
逆にAIに頼らなければ今までとやっている事は同じで、エンジニアの労働力の不足は解消できないでしょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
#5
総合スコア146571
投稿2025/05/16 00:43
「自動プログラミングとは、いつの時代もその当時のプログラマが使える言語より高水準の言語でプログラミングすることを意味する婉曲表現だった」という言葉がありますが、これは1985年のものです。
「プログラミング」の際に人間が書く言語も、機械語→アセンブラ→低水準言語→高水準言語のように順次進化を遂げていっています。(このまま定着するのであれば)生成AIによるものも、その1歩となるものなのかもしれないです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
#6
総合スコア812
投稿2025/05/16 00:48
いくつかの観点があるかと思うので、もしAIに聞いても納得感がないのであれば、答え無さそうな観点から回答します。
AIを使った開発はためになるのか?
という問いがかなり漠然としていますが、
まず一つ目の観点はAIとは全く関係がないですが、
アプリ開発がためになるのか?という話です。
初めのころは簡単なアプリの開発でも基礎的なことを学ぶためには役に立つといえますが、同じようなことを何度も何度も繰り返してもタメにはなりません。
1+1=2
を永遠に計算し続けてもためにならないのと同じです。
そして、学習の観点からアプリ開発のテーマのレベルを一つづつ上げていくとすればAIを活用していようがためになります。
そもそも、AIを活用すること自体その分野の知識が多少なりとも必要です。レベルを上げていくと不足した知識ではAIにうまく質問をしたり、回答の意味がわからなかったりコピペしても動かなかったりすることがあるでしょうし、最終的には自分で書いた方が早くなってAIは補助的に使うという立場逆転が起きることと思います。
それってためになってるといえますよね。
本質的にはAIの使用とは関係ないですが。
(一応AIの出力方針として初心者向け、中級者向け、上級者向けみたいなのを内部に持ってるみたいですが。)
ただし、これは時間的制約を考慮した内容になっていて、AIを活用しないと解決できない、自分で考えないと解決できない、というよりもどちらの方法が早いかどうかということに関して言っています。
二つ目です
AIを使った開発はためになるのか?
少し文脈が外れますが、AIの使い方は多様でコードを出力するだけではなくAIに教師になってもらうことで知識を蓄えたりすることもできます。
その中で自分で考えて選ぶということをするのであれば、AIを使っているもののためになる学習としてはAIがないころと同じ質になるかと思います。
三つ目です
そもそも、AIを使ってコピペできるのであれば、自分のためになる必要があるのか?というのは若干の疑問です。
もちろん覚えておくことが一番早くはありますが、仮に同じ質問をして同じ回答をするのであれば、AIを活用すればその問題は解決可能なので、ためになる云々なのか?という話になると思います。
自分はそもそもコードを書く必要をどれだけ無くせるのかという観点が重要だと思っています。
ノーコードよりもCUIのほうが作業が速いのは明らかですが、既に同じようなプログラムをどこかの誰かが作成しているはずなのにそれを再利用できないということがもったいないと思っています。
4つ目
まず、そもそもとしてどのような要件
があるのかを咀嚼してみることも重要な課題です。
コード全体を自分でコントロールするというのが本当に要件
であるのか?こだわる必要はないのか?
コードの内容を理解するという要件
が必要なのか?不要なのか?と。
本質的に不要な要件というのも多々あるので整理する必要もあります。
もちろん自分の立場としてはコードを理解するのは必要だと思っていますが、合理的に考えると不要なんじゃないかと思います。
テストコードを作成し、それを通過する。テストケースに漏れがないことを確認する。
理想的に言えばですが、それだけの要件を満たしていればコードの理解などなくてもいいし、リファクタリングで大改造してもいいでしょう。(再三言いますが、理想でいえば)
影響範囲不明の改修を避けようという慣例的な部にあまりに引っ張られすぎていて、既存コードを変えてはいけない、理解していなければならないという不要な要件
や需要が渦巻いているのではないかと思います。
エンジニアにとって、プロジェクトにとって、システム会社にとって、継続的な開発をしたいという需要は当然ありますが、自由に書き換えることとを組み込みつつその需要を満たす方法もあるのではないかと思います。
5つ目
書くほどのことでもないので端的に。
アプリ開発だけでは学べない要件もあります。業務システムを開発するなら業務の理解が必要ですし、質問のような最適ルートを導くためにはアルゴリズムの理解が必要かもしれません。
6つ目
AIを使用するという観点について、
AIの品質があがってきていて、そこまでコードが悪い!ってことも言われてはないとは思いますが、
検索してブログで、本で、みたいなコードでも劣悪なコードというのはあります。それらをコピペして学習するよりも少なくともAIを活用したほうが、マシではあると思います。
AIを全く活用せずに意味不明なことしかしないとか。
最終的にそこら辺の判断は色々経験が必要だと思います。
最後に
AIを使って100日連続でゲームを作成した人の本の内容がAIを活用するうえで何か役に立つかもしれません。
少なくとも1つ目の観点についてはレビューを見ての内容なのでまんま同じことが書いてあるかもしれません。
https://xtech.nikkei.com/atcl/nxt/column/18/03122/032100004/
*ためになるのかというのが漠然としており、どういった方向での回答が必要かわからないため、AIに聞いてみてと回答し反応を見ようと思いましたが、この議題自体にそれなりの需要があるようなので長文ですが投稿しようと思いました。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
#7
総合スコア178
投稿2025/05/17 03:44
ためになると思います。
ただ、現状AIはツールでしかない認識なので、効率化ができたところの勉強をどこに当てるかが重要な気がします。
例えば、もっと良い書き方はないのかAIが生成したコードから調べてみるとか,違う言語をで開発してみるとかですね!
AIがどこまで進化するかなどわかりませんが、自分の職場ではAIを使って確実に生産性を上げているエンジニアとAIに頼りっぱなしでまったく成長しなさそうなエンジニアで別れてきている気がします...
質問見る感じはちゃんと理解しようとしているので、質問者さんは前者に当たるのかなと思ってます!
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。