見出し画像

感想文:大塚あみ「#100日チャレンジ 毎日連続100本アプリを作ったら人生が変わった」

(よみながらかいてます)

・良く覚えているな、という印象。その時にやったこと、やれなかったことの試行錯誤の詳細、考えていたこと、などなどを事細かに記述しており、日記ではなくエッセイや小説に近い。その点は、読み始める前の予想と違った。もっと、生成AIとのやりとりが中心かと思ったら、所感などが多く、大学生のリアルを感じた。

・プログラミング教育を言語学習中心から設計や上流工程を重視した学習方法に変える、という提案が、自分のやってきたこと(NoCodeや生成AIでのアプリ作成)に近いと勝手に共感。そうなんだよね、言語学習や環境設定みたいなことを延々とやってまずはじめるのがHello Worldだと、本当にやる気が起きないんだよね。ブロックを組み上げてカメラアプリ作ったり、AIに聞いてサイコロアプリをすとんと作った方がどれだけ楽しく、学習意欲が湧くか。そして、身につくものも多いと思うんだよね。(ということであってる?)

・自身の発表や成果物などを客観視することに長けていると感じた。自分の性格についてもそう。

・Fake it till you make itはいい言葉。狂人の真似とて大路を走らば即ち狂人なり、のポジティブバージョン。偽りても賢を学ばんを賢といふべし、と続く、ので一緒か。

・品質へのこだわりがすごい。Day1での、品質向上の努力と、それがうまくいかなかったときのがっかり感。Day6の、スムースな動きが実現できた後の「これで本当によかったのだろうか?」と自問自答。これから先、そのこだわりが他の人と比較して大きな差になってくると思った。

・ライブラリ、アルゴリズム、高校数学などの意義を、必要にせまられて理解していく過程がスリリングであり、なんか、頑張れと応援したくなる。読みながらリアルタイムでこの文章を書いているのだが、たぶん、すぐに私の理解を軽々と超えていきそうな予感。どうなるかな。

・遠藤さん登場。コンピューター系雑誌の編集長の遠藤さんといえば遠藤諭さんだろうな。「近代プログラマの夕」とか月刊アスキーとかで育ってきた私にとっては、知り合えるなんてとても羨ましい。ほぼ同郷(隣の市)だったりするし。

・「手を抜くことに全力を尽くすタイプ」との自称、わかるー。私もそのタイプ。一緒にしちゃ失礼だしレベルも段違いだが、その性格のおかげでExcelのマクロが組めるようになったりしたし、その性格のせいで、楽に回避できないイベントを回避しきれなくて酷い目にあったりしてる。

・whileループを知らずにプログラミングしていたのか! と驚く間もなく、コードをひとつひとつAIの力を借りつつも理解していく姿にちょっと感動。そしてクラスやメソッドやインスタンスへ。成長速度がすごい。ChatGPTもすごい、質問するとただ単に問題解決のコードを返すだけでなく、そのコードの意味などを的確に説明してくれる。質問→解説→実行→振り返り、の繰り返しをきちんとしていると、そりゃ成長するよね。私に足りないのはそれだ、エラーが出てもきちんと動くようになるまで理解せずずっとAI(Claude)に頼りっきりだから成長が遅いのだ。

・「努力が時代に合わない?」、と先生が驚く、私も読んでいて驚くが、ここまでの流れからするとちょっと納得。この人ならばそういう、という思い。

・プログラマとエンジニアの違い。なるほどー。

・ステートについて。頭の中がそれでいっぱいの時は、カフェのWi-Fiの説明を見てもそれに関連づく。世界がみなそれに見えてくるあの瞬間。集中力と思考の寡占のまさにステート。

・「ChatGPTは私を超えられない」との見出し、そうそれ! わかる! 私はこうして欲しい、の指示の範囲内でしか最適解を提案してくれないの! こんな手法で解決してほしいと提案して初めて適切な答えが返ってくるの!
そして、適切な回答を求める中で、スプライトやクラスからのオブジェクト指向の理解へ。そういうしっかり理解した概念に基づいて質問を投げかけると(もうこの時点で設計みたいなものだが)、それに従ってChatGPTは非常に有用な答えを返す。逆にいえば、理解していないままの曖昧な指示では、その曖昧さに従って答えを返す。AIといえども万能でも天才でもなく、道具なのだという実感。

・再利用の重要性。これも、プログラムを理解しているからこそ出る発想だろう。ChatGPTの提案するコードを鵜呑みにしているだけでは出ない発想。楽をするために全力を尽くす、の先に自然に現れる発想。前に書かれていた、文章(レポートなど)を書くためのメモ取りデータベース的発想にも現れている発想。すばらしい。この考え方は私も取り入れるべきと痛感。

・ふと思ったんだけど、ChatGPTの提案するコードと、自分の書くコードとをどうやって擦り合わせているんだろう? 自分の書いたコードをChatGPTに読み込ませる仕組みがあるのかな。ClaudeだったらProjectsを更新する時に自分の書いたコードを滑り込ませているけれど。私はそういう基本的なことが理解できていない。あとで調べようっと。

・成長の話。初期段階からの、成果物だけでなく生成過程、思ったこと感じたこと、悩んだ点改善した点、学んだことなどなどを記録に残しているからこその成長記録。もちろん、それぞれの過程で熟考を繰り返していたからこその成長。私もAIでアプリを作っていたけれど、イメージをいかにAIに伝えるか、いかにエラーを回避するのかということしかしてこなかったので、内容を理解しようとか、より効率的な構造にしようとか考えてこなかったのが痛い。成長の良きチャンスだったのに、みすみす逃してしまった。恥ずかしい。

・バイナリーオプションって面白そう。意味はわからない→調べた。株価や為替レートの動きを上がるか下がるかで(だからバイナリーか)予測し、予測通りに動けば利益、逆方向に動けば損失となる、ってこと。これのゲーム化を電車の中や待機スペースで、か! あと、作品の設計は常にしている、ノートがあればできる、とのこと。おおお。

・しりとりゲームで、ChatGPTは単語リストを最初はメインプログラムに組み込んでいて、でも、こちらから言い出すまではそれを通していたというのが面白い。「なんとかならない?」と聞いて初めて改善策を出すAI。そうそう、そういう挙動するよね。そしてデータ構造の重要性。ここをおろそかにすると、軌道修正となったときの労力といったら!

・デザインパターンだ。この辺から急速に難しく感じるようになる。私の経験値の限界なのだろうな。理解が追いつかない。(と、AIにデザインパターンについて聞きながら読み進める)
お、脱字発見。P.189 下から8行目、「ステートを追加するだけよく」は「するだけでよく」ですね。

・スクレイピングツールのあたりから、作りたいアプリの形を事前に構築する様子が、レベルがぐんと上がってる。実際の制作過程も。エラー発生場所特定のための検査用コードの設置などだ。

・先生の言葉が心に響く。「私がサポートできるのは、何かをやり始めた人に対してだけだ。何も考えない人には適切な手助けができない」。本当にそう。子育てでも、やりたい!っていえば全力でサポートするけど(自炊とかギターとかDTMとか編み物とか)、子供がやりたがらないことを押し付けても結局長続きしなかった(水泳とか読書とか体操とかその手のことだ)(少し苦い後悔)(まったくの無駄じゃなかったと信じたい)(けどなあ)。

・「作品作りの主体は私なのだ」の境地・確信に至る経緯に尊敬を覚える。試行錯誤の末の結論。ChatGPTに頼り切りだったところからここに到達するまでの過程の尊さよ。


読了。純粋に面白かった。
成長物語は良いね。
この著者は最初から最後まで軸である考え方「手を抜くためには全力を尽くす」がぶれず、その思考に付随してスキルが上がっていくのがなんかアンバランスさ?があって楽しい‥‥と途中までは思っていたが、(作中でも触れられているが)その考え方はプログラマによくあるもので、DRY原則(Don't Repeat Yourself)とかOAOO原則(Once And Only Once)とかいう言葉もあるくらい。複雑なものを構築するのに(プログラムに限らず)必須な考え方なのではと思いながら読んでいた。実際、学会発表やこの本の執筆に使われたベースのメモ群が、その考え方をもとに作られていた(っていう記述があったよねたしか)。

自問自答:
◾️読み返すか?→はい。学び続ける姿勢に鼓舞されるので。
◾️100日チャレンジするか?→いいえ。時間がない。1週間かけて1アプリ、ならできなくはないが、やらないよ。
◾️影響を受けたか?→はい。アプリ作成をClaudeに頼り切りになるのではなく、もっと主体性を持って指示出ししていきたい。そのためにはプログラマ向け数学、デザインパターン、その他プログラマに必要な概念(ステートやクラスやオブジェクト指向などなど基本的なところ)を学びたい。そういうことを学ぶには、これまでコードを読み解かなければならなかった/自力で書けなければならなかったが(そういう前提で教科書は書かれていた)、AIという強力な助っ人がいるから、手助けを受けながら、学習が進められそう。

◾️ひとに勧めるか?→はい。このnoteがそれ。本を読むのだ。電子書籍でも。

さいごに

ここから先は宣伝。
私もAIでアプリ作ってまーす。比べるのもおこがましいけど。下はやり方を書いたnoteです。

これは作ったアプリの解説。自分用に作ったんだけど、まあ悪くない出来なので公開したよ。

ではー。

いいなと思ったら応援しよう!

この記事が参加している募集