はてなキーワード: プログラミングとは
ああ、こういう風に描けばいいんだ、うまいなおぬし、みたいなことは普通になった…😟
極論、PhotoshopとかIllustratorの仕様を完璧に満たすソース書いて、はできないし、
ちょっとしたもの書いて、も微妙に間違った物が出力されたりする
まあ、自分のやり方が間違ってるのかもしれないけど、
やっぱり、一文字間違えただけで動かない、みたいなことにはまだまだ弱い気がする
絵とか音は、ちょっと間違えても、寧ろ味になってしまう可能性さえあるし、
この背景のダクトはおかしいだろ、と思っても、まあ絵全体としては見れてしまう…
はい、高校では2022年度から「情報Ⅰ」が必修科目となり、パソコンを使ったプログラミングや情報セキュリティなどの学習が義務付けられています。この「情報Ⅰ」は、2025年度からは大学入学共通テストの科目としても追加されるため、高校生活だけでなく受験においてもパソコンが不可欠となっています。
必修科目「情報Ⅰ」について
内容: プログラミング、データベース、ネットワークの基礎知識など、情報活用能力を高めるための幅広い内容を学びます。
目的: 将来、社会で必要とされる情報活用能力や問題解決能力を育むことを目指しています。
授業での活用: 多くの高校でパソコンが学習ツールとして使われています。
レポート作成や情報収集: 授業以外でも、レポート作成や情報収集のためにパソコンを活用する機会が増えています。
大学入学共通テスト: 2025年からは大学入学共通テストにも「情報」が追加されるため、受験対策にもパソコンが不可欠です。
プログラミングとは、勉強も運動もスマブラも下手なクソ隠キャ中学生が「俺もパソコン1台で凄い技術者になって…!」とワクワクしながら始めるものの思ったより普通に難しいし学校の試験で出たような知識要求されるしで3日で放り投げ、10数年後にnoteで「お前らは絶望的にプログラミングに向いてないからやめろ」なんて記事を書くだけのザコに成り下がる、夢と希望に溢れた技術である。
近年ではパソコンのスペックの上昇にともないできることも増え、どこのご家庭にもあるRTX2080で簡単にディープラーニングもできるようになった。Unityで3Dゲームをバリバリ動かしてもブルースクリーンは出ない。やっぱ世界を広げるのは小賢しい知恵よりもスペックの暴力だぜ。
開発環境や言語も選択肢豊富で、エディタもかつては有料クラスでも手に入らなかったような贅沢な機能が満載のものが出回っている。Eclipseとか今考えるとよくあんなので開発できてたな。
いまや小学生からおばあちゃんまでアプリ作りに熱中し、高校生はIoTとかやり始め、大学生は商業レベルか?ってレベルのものをネットで発表し、私はウェブアプリのスマホでのレイアウト崩れひとつすら直せず静かにエディタを閉じてnoteで過激タイトル記事を書いている。
掛け算に順序があると思っているような知能の下級雑用係(自分のことを教育専門職だと思い込んでいる)ですら「小学生にプログラミングを教えるぞ!」と意気込んでいる。やめろ。お前らには無理だ。無理だからマジでやめろ。考え直せ。無理だって。掛け算に順序つけないと相手に教えられないレベルのやつがプログラミング教えるのマジで無理だって。算数とは次元が違うって。「ピーチ姫いつも簡単に誘拐できるし今度はベヨネッタも誘拐してみるか」ぐらいの無謀さだって。やめとけ。マジでやめろ。
まあそんなこんなで入り口はめちゃくちゃ広く、入門するのはマリオカートより簡単である。話逸れるけどSwitchのマリオカート、運転アシスト機能ついて初心者でもコース完走できるようになったから心折れちゃった人ももう一度チャレンジしてみてね。
それとは特に関係ないんだけど、大学行ってた時ティーチングアシスタント(TA)っていう授業のお手伝いさせられたのよね。ちゃんとお金出るやつ。
学部の3年か4年から始まって、院の1年か2年までやってて、途中で休学挟んだから、ええと、あー、うん、数年間TAやってたんよ。数学とプログラミングのコマ。CとOctaveとかいうやつ。Cのほうは情報学科で、Octaveは違う学科。JavaとかC++のコマはTA入れさせてもらえなかった。
プログラミングの実習は週2コマ(連続)あって、情報学科なら必修科目。なのでサポートは相当手厚く、先生とTAが絶え間なく机間巡視し、わからないことがあればセンパイがなんでも答えてくれるというわけだ。授業外でもサポートはしており、わからなければ先生や研究室にいる学生に好きなだけ聞きにいっても良いということになっていた。必修だから落とされたら困るしな。
2コマだから3時間 * 15回で、45時間。そして私の時は2年まででC/C++/Javaと必修だった(今はなんの言語かは知らない)ので、その3倍、135時間は最低やることになる。プログラミング実習以外にもプログラミング触る授業多いから実際はもっと多い。宿題やる時間もあるので実際はもっともっと長くプログラミングに触れることになる。卒論書く時期に入ると、テーマによっては書く人はさらに書くので、もっともっともっともっと長い。
これだけ時間をかければほとんどの人がプログラミングできるように……ならない。むしろできない人の方が多い。なんで。why。教えて。
会社になるとさすがにプログラミングできるできないは死活問題である。
「今日から入ったxxでーす。業界未経験ですがよろしくおねがしまーす。さっそくなんですけどPythonのここわかんないんですけどどうすれば……あっそうすればいいんですね。次はここなんですけど……なるほど!ありがとうございます。じゃあまた明日ー」
いやー社会人にもなると熱意が違うね。学生なんかわかんなくてもほとんど聞きに来ないのにな。こりゃガンガン伸びますわ。私も社会人1年生でPythonなんて3秒ぐらいしか触ったことないから適当答えてるけど。
「ちょっとお時間よろしいですか?」「いやちょっと今忙しいから後になっちゃいますわ。すんません……」
そんなこんなで1週間ぐらい放置してしまった。やべー絶対嫌われる。どこまで進んだかな……?えっまだそこ?進んでなくない?
もしかしてこれ全部教えないとダメなやつか。そりゃ大学4年間プログラミングやったやつでもプログラミングできないんだから、そうか。よく考えると当たり前だよな。
プログラミングをやめろ
大学4年間と大学院2年間プログラミングやったやつでもできないし、会社で毎日8時間を数週間プログラミングについやしてもできないやつはできないし、そもそも人類というのはプログラミングできない可能性がある。
少年少女たちに「プログラミングはいいぞ!自由にものが作れて達成感がある!頭が良くなった気分にもなれるし!」と吹聴してまわんのもいいけど、6年間情報科学について勉強したようなやつの大半がプログラミングできないんですよ。それもごくごく初歩的な部分。
野球とかサッカーなら、まあ友達との試合には参加できなくてもごく稀にバットにボールを当てたり、ボールを1回あらぬ方向に蹴ったり、ぶっちゃけ周りとのレベル差で楽しくなくてすぐやめちゃうだろうけど、なんとか基礎の一部ぐらいはできるじゃないですか。
ピアノとかダンスでも、猫踏んじゃったをごくごくゆっくり弾くぐらいはできるかもしんないし、学芸会の振り付けを10秒ぐらいは踊れたりできるかもしれない。その後やっぱ周りのレベル見て諦めちゃうかもしんないけどさ。
プログラミング、6年やってミットを頭にかぶってるバッターとか、鍵盤蓋の上から殴って音鳴らそうとするやつとか、まずそういうレベルのやつが大量発生するんですよ。だいたい7割ぐらいの率。どうすんだよこいつら。私の教育の問題か?マジで?本当に?
プロが練って考えて凝縮した本や授業、センパイたちによる指導。それらを結集して得られるはずのものが7割ぐらいどっかに消し飛んでる。無駄だろこれ。
今からプログラミングやろうとしてるやつ、お前は確実に向いてないからさっさと諦めて刺身にタンポポ乗せる仕事に戻ってくれ。参加しても鍵盤蓋叩き割るやつと同じ病室に入るだけだ。
プログラミングをやめろ。
ぼくはこう思うんですよ
そもそもなんで大の大人がそんな両手にバット持ってセカンドに立ったりゴールの方をボールのところまで動かす奇行に走るんだろうな。わかんねえや。
綺麗な分析はできないけど、いわゆる「できない」やつが共通して言ってたフレーズがある。
「ぼくはxxxだと思ってるんですけど、動かないんですよ」
うん、そうだね。そう思うんだ。でも動いてないじゃん。じゃあ違うんじゃない?モニターに「にらみつける」やってもバグは取れないし防御力下がるだけだぞ。
まず根本的に考えと事実が違ってるって結果出てるじゃん。じゃあもう考え変えちゃえば早くない?
名言の引用は好きではないけど、「プログラムは思った通りには動かない。書いた通りに動く」って言葉がある。実に名言だと思う。次点で好きなのが「ある問題を解決しようと正規表現を使うと問題が2つに増える」かな。
お前が何を思っているかはプログラミングにおいて一切影響しないんだよ。お前が何を書いて、コンピュータがどう処理したか、それが全て。
深く考えないことについてぎゃーぎゃーいうやつもいるけどプログラムなんてまず最初は動けばいいんだから何も考えずに次試せばいいだろ。んで3回ぐらいは自分で思い浮かんだの試して、全部ダメだったら調べるとか先生に聞いてみるとかさ。逆に1発で通ったら自分の思考見直して理解深めるとかさ。
ドキュメントとかあんまり理解できない初心者のうちは、とにかくお試しと修正のサイクル回すの重要で、「これがこうだから動くはず」というカードを3種類ぐらい作って全部片っ端から試すのが早いと思うよ。モニターをにらみつけるな。
お前がどう思ってるかよりも、まずはお前の書いたプログラムがどう動いているか(どう動いていないか)を確認するのが先だ。動かなかったら考えが違う、はい次のプラン、はいその次のプラン、はい次。
この「ぼくはこう思ってる」が出てくるの、なんの教育の成果なんだろうね。お前の気持ちなんてどうでもいいって現国でも数学で散々教えられただろ。
Error: variable 'a' is undefined, line 24
↑のエラーは架空のエラー文(英語下手でも許して)だけど、エラー、出るよね。プログラム組んでたら。んでやっぱいるのよ。エラーを「にらみつける」やつ。解決しねえって言ってんだろ。
「エラー出たんですけど、どうすればいいんですか」
「エラーにはプログラムがなぜコンパイル通らないかの原因がそのまま書かれている。例えば今出ているError: variable 'a' is undefined, line 24は、24行目の変数aが未定義ということを示している。事前に変数aを定義していないか、打ち間違えてsになっているとかではないのかな?」
だいたいが「腑に落ちねぇー」みたいな顔する。まあ、一気に喋りすぎたしな。疑問点1個1個潰していくか。
「何か疑問点ありそう?変数ってなにー、とか、定義ってなにー、とか」「ないです。わかりました!」
わかったのか。よかった。またモニターをにらみつける開始。なんでだよ!!!!「お前顔にチョコついてるぞ」って言われたらチョコ拭き取るだろ。変数aが未定義ですねって言われたら変数a定義すりゃいいだろ。
でもプログラミングド下手なやつ(全人類の7割ぐらい)は、エラーをにらみつけてる。ずっとにらみつけてる。防御力下限まで下がったかな。にらみつけてて何が変わるんだよ。
「英語読めなくて……」
いや「a is undefined」なんて「He is Superman」ぐらいの英語だろなんで読めないんだよ。お前この大学どうやって入ったんだよ。たしかどの入試方式でも英語あっただろ。単語わからんかったらググれ。
「aが未定義って書いてあるんですけど、ここのfor文の私の考えが間違ってるのでしょうか」
いや24行目のaって書いてるだろ。まずなんでそこ無視するんだよ。お前がfor文で使ってんの教科書通りのiだろ。24行目ってわかるか?for文あるの40行目あたりだよな?aとiが違う文字ってわかるか?
「さっきのエラー直したら新しいエラーが出たんですけど、どうすればいいですか」
千尋!贅沢な名だねえ
変数に名前をつけろ。関数に名前をつけろ。クラスに名前をつけろ。全てに名前をつけろ。
C言語の古い教科書だと「a」とか「b」とか「i」とかで書いてるけど、そんなの人間が読めるわけねえだろ。冷静に考えろ。「input」「output」「index」とかにしとけ。
2重for文の変数名i, jにしたら絶対途中で打ち間違えるだろ。お前は打ち間違える。そういうやつだ。2重ループなんてどうせ行列計算の課題だろ。rowとcolumnにしとけ。これで打ち間違っても気づくし、それぞれに意味が付いてくる。
ちなみに同じ長い名前にも優劣がある。「result」よりも「sum」のほうが強い。「result」はなんの結果かわからない(全ては結果であるので)が「sum」は合計値であることがわかるからだ。「password」と「plainPassword」なら「plainPassword」が勝つ。暗号化されていないパスワードであることがわかるので、情報量が多いからだ。
ただし例外はいくつかある。「tmp」は一時変数であることが(プログラマにとって)明らかだ。「dir」はディレクトリであることがわかる。「src」「dist」あたりもよく使われる。このあたりは短くていいんじゃねーかな。
でも、この前温度センサ扱うプロジェクトで「tmp」って変数名使って温度(temperature)と脳内で混線してバグって発狂してた同僚いたけど。そういうときは名前長くするか別の名前使おうな。
関数の名前なんて「calcAverageFromArray」ぐらい長くしていいから。「myFunc」とかしなくていいから。「fetchJsonDataFromUniversityInternalServer」とかでいいから。マジで。いやこれ本当に。
そもそも今時ディスプレイでかいし、識別子なんて先頭数文字打ったらエディタが補完してくれるし、短くするメリットがない。
それでも名前が長いと感じる?関数がでかすぎるんじゃないか。細かく処理を分けるとかしてみろ。「combineArrayAndFindMax」関数は「combineArray」と「findMax」に分割したらいいと思うぞ。名前が長いと思っても名前を削るな、機能を分割しろ。自然と名前が短くなる。
それかシンプルでかっこいい名前を見つける。「convertEvilHtmlToPeacefulText」は「sanitize」に置き換えることができる。イカす名前だ。
プログラミングできない奴はマジでこれらのことをやらない。ずっとaとかbとかzとか使ってる。お前それ自分で読めんのか。読めねえだろ。myfuncってなんだよ何するんだよ。お前自分で理解できてんのかそれ。
それでも頑なにaとかbとか使う。なんでだよ。
動作原理わからず書き散らすな。動作原理っつってもそんな深いところじゃなくて言語表面上レベルの動作な。
リテラルは値を作成して、代入は値に名前をつけている、とかその程度のレイヤー。メモリがどうこうとかはいらんと思う。あっでもポインタのときはいるか……。めんどくせえな。
まあ動作原理っていうか自分が何やってんのか理解してくれって程度の話になるんだが。
例えばfor文で処理50回まわすとき、「50回分の処理を行なっている」ではなく「ループ開始時に変数を初期化。条件判定して成立していれば文の中を実行する。条件変数の値を変化させてまた条件判定からやり直す」ぐらいの粒度で捉えててほしいかな、という気持ち。
これはfor文で詰まる人がやたら多かったからだ。彼らはfor文をアトミックな操作だと思っていた。つまりfor文はひとまとまりの命令であり、長いfor文とprintfの間に粒度の違いはないと思っていたらしい。
つまり、「for文の中でエラーが起こる」という事象がほぼ理解できない。forはアトミックであり、内部など見えないのだから。じゃあお前が今書いたfor文の中身はなんなんだってやんわり聞くと「さあ…?」みたいな反応が返ってくる。はあ。
関数についてもなかなか誤解が多かった。関数「sum_array(a, b)」と関数「average_three_numbers(a, b, c)」は全く別の原理で動いているのだと。ここでの「全く別の原理」というのはシグネチャが違うとか実装が異なるとかそういう意味ではなく、コーラを飲んでゲップが出る原理と糸電話で声が伝わる原理ぐらいの全くの別、という意味である。
彼らは関数ひとつひとつについて「新しく原理を学習」していたのだ。マジかよ……。どうやったらそんな発想に行き着くんだろう。そりゃ時間かかるわな。
そのため、関数が値を返す(または返さない)ということも理解できておらず、「関数の戻り値と関数の戻り値を足す」とか「関数の引数に関数の戻り値を直接渡す」とかやりだすと大パニックになる。メソッドチェーンとかやった日には大学潰れると思う。ただ、これはC言語が悪い部分もあると思う。配列とかいじりだすと、初心者が書けるレベルの関数だとあんまり値返さないしな。
たのむ、他のはできなくてもこれはできてほしい。自分が何をやりたいのかは理解してほしい。流石にお前のやりたいことなんて他人にはわからんぞ。
「配列の中の数値の合計値を求めたいんです」とか「名前と身長と体重をひとつにまとめた構造体が作りたいんです」とか。簡単なのでいいから。
「いま何やろうとしてどこで詰まってる?」って聞いても「……?」みたいな反応されたら困るんだよ。
例えば「キーボードから数値を10回入力し、それぞれの値を配列に格納して、最後に配列の値を逆順に表示せよ」みたいな問題が出てきたときに、「キーボードから値を入力する」「10回繰り返す」「配列に値を格納する」「配列の値を逆順に表示する」に分解できると思うんだけど、自分が何やりたいのかわからない奴はまずこれができない。
彼らには「キーボードカラスウチヲジュッカイニュウリョクシソレゾレヲハイレツニニュウリョクシテサイゴニハイレツノアタイヲギャクジュンニヒョウジセヨ」に見えている。
かろうじて「キーボード」「ハイレツ」あたりの単語は拾えるらしく、標準入力から値とったり配列を作ったりはしてるんだけど、そこから先に進まない。モニターにらみつけてる。またにらみつけるかよ。
あれだ、算数の文章題できなくてとにかく文章に出てくる数値足したり引いたりするやつ。あれのプログラミング版。文章が読めない。
こういう人にはメモ用紙取り出して、まず文章が何について言ってるのか、どういう工程に分けることができるのか、今後も同じことが起こったときにどうやって分けるのか。みたいなのを教えるんだけど、大抵あんまりしっくりこないらしく、成功したことは皆無。なんとかうまく教えたいんだが。
もうこのあたりになってくるとプログラミング関係なくね……?ってなるんだけど、意外とそういうプログラミング関係ないところで詰まる人めちゃくちゃ多いよ。
今すぐプログラミングをやめろ
本当に残念なことに、デジタルカメラ時代の「写真家」を名乗る人間のほとんどが自分でRAW処理ソフトウェアの開発をしたことはなく、審査員を名乗っている人間の多くは、実際に行われた処理の内容を想像することすらしない。
主観的に良し悪しを判断するのは間違いではないのだが、何が行われて写真撮影ができているのか、そしてそれをどうやって鑑賞できているのか知らない人間ばかりなのである。
ただひたすらに画角がどうの、コントラストがどうの、彩度がどうのなどと言ってみているが、RAW処理ソフトの「コントラスト」や「彩度」というパラメーターがどのような実装になっているのか、或いはトーンマッピング処理について理解して審査しているまともな人間がどれほどいるというのか?
例えば「ホワイトバランス補正」と言われて「色温度」と思った人は、実写の画像処理に対する理解が足りていない可能性が高い。
特に静止画の撮影者は技術面に明るくないものが多く、動画の人のほうがよっぽど技術面に詳しい。実際には同じことをやるのに。
もっとも重大な誤解は、ある種の「無加工」と信じられている実写映像と肉眼が十分に近い、と思われがちだというところだろうか。
カメラが見ているものとCGは非常に近いが、人間の見ているものとカメラが見ているものには大きな乖離があるという大前提が抜け落ちてしまっているのだ。
なにせ撮って出し信仰者なんてものもいるのだから。カメラの中でどういう処理がされているのか少しでも理解しようとするならば、撮って出しを「真」とするのがいかに愚かなことであるか、初期の段階でわかるはずではないのか。
例えばFUJIFILMのように、この辺りを踏まえて「一般消費者はメーカーの言うとおりにすべきだ」と言わんばかりの姿勢を見せるメーカーもあるが、これはかなり理にかなっているとも思う。FUJIFILMは「記憶色」を謳ってきたが、これ自体は間違いではない。(もちろんFUJIFILMの色の処理が適切だとは微塵も思わないし「フィルムシミュレーション」などという、知識不足の消費者にPROVIA・ASTIA・VELVIAなんてあたかもフィルムを再現しているかのような名称で売るのはいかがなものかと思うけれど)
日本語の意味合いとして「真を写す」なんてものにこだわるのは誤りだと言わざるを得ないが、せめて、何をしているか理解しようという姿勢を見せたらどうなんだ。
「プリセットを販売します」とか「フィルムを再現します」とかいう、ただ消費されるだけの消費者を見ているのは少しばかり腹立たしくもあるが、それを利用して商売を続けてきた側は間違いなく悪い。
美術目的なら好きなようにやれ、と言うことに決めているが、理解した上で全ての利用者が開発者になってくれれば、もっと自由な世界が待っているのに……。
また、せめて複写をするようなプロは「Foveonは正しい紫色が撮れる」「Adobe Camera RawよりCapture Oneのほうが色が良い」「LUMIXは色が良い」「FUJIFILMは撮って出しで正しい色が出る」みたいなバカなことを言っていないで、画像処理(フィルム・デジタル・動画・静止画・実写・CG問わず)の勉強をもう少しばかりやり直していただきたいものである。
フィルム時代に自分の手で現像とプリントを試みることよりも、デジタル時代のほうが圧倒的に安定していてシンプル(同じ処理をすれば同じ結果が得られると言いたい)なのに、それをしない。
とある地域イベントで、大学と提携して学生がアプリを作ることになったのね。
そこで大学側から要請があって、地方でしがないプログラマーをやってる俺こと増田が学生が作るアプリの面倒を見ることになったのね。
~~どうでもいいけど追記~~
その大学のゼミから手伝いの要請があって、外部の増田が手伝ってる。
知らない人は知らないかもだけど、別に珍しくもないよくある話。
別に信じてもらわなくてもいい部分だけど。
~~~~~~~~~~~~~~~~~~~~~
さすが学生たちは若くて吸収する力があって、プログラミング初学者ながらもAIを駆使してアプリを完成に導いたわけ。
「これだけAIが発達してきたらプログラマーも厳しいんじゃないですか?(お前ができてることを学生たちがこんなに簡単にできるようになってしまっては)」的なニュアンスのことを。
そりゃそうだよね。
こちとら30年も地方でプログラマーやってて初老にもさしかかる頃にできてることを、かたや学生たちは20代前半でAI使って1ヶ月でアプリ開発できちゃうんだもん。
そこで俺は言ってやったわけよ。
「そうですね。(サッカーだって小学生や幼稚園児だってできます。
"うちの学生たちだってサッカーボールを蹴ったらゴールに入れられますよ、どうです?すごいでしょう?"
そうですか?私はそうは思いません。
サッカーができたからといって、ゴールにボールを入れられたからといって、プロサッカー選手にはなれませんし、誰もその試合を見たいと思ってお金を払ってくれません。
プログラマーも同じです。アプリが稼働したから仕事があるわけではありません。
とね。
実際、イベント中にWEBアプリとして稼働するために多くのことを増田がサポートしたし、それはプログラミング初学者が1ヶ月の中で想定して稼働にまで導くには無理な部分だったし、絶対に30年の経験がないと先回りできないところだったりするわけで。
お年寄りから子供まで参加する地域イベントで、ペアレンタルコントロール化のスマホでもアクセスできるようにlet's encryptでHTTPSにしておいたり、データーの持ち方的にイベント中にgitの更新がかかるとデーターが飛ぶ恐れがあるんで先回りしてガードしてたり、スムーズなイベントの進行を妨げないようなバックドアを仕込んでおいたり、あえて決め打ちのハードコードを仕込むことで印刷工程に間に合わせたり。
(追記:以前に書いたエントリが知らぬ間にずいぶんバズっているので、コメントを参考に今の考えを書いてみた)
具体的なゲーム名がない。エアプじゃね→そういえば具体的なゲーム書いてなかったな。PCゲームだと初代シムシティ。結局ゴールである市民50万人には到達しなかったっけ。
ミスタードリラーなんかは2000年前後だったがずいぶん楽しんだ。パズルゲームは好きだね。特にランダム要素のあるゲーム。
覚えゲーとは違う、その場の対応能力、反射神経が求められるゲームが大好き。
あとはアーマードコアシリーズ。あれこれ組み合わせを考えるのは楽しかった。
お前が爺になっただけだろ→爺はともかく社会人になってからゲームに没頭する暇と気力が減ったのは事実だ。あとストーリーものだと土日にクリアできないと話を忘れてしまう。
あと、RPGはあまり好きではない。完全に食わず嫌いの偏見だが、戦闘システムが昔と変わり映えしない(特にJRPG)。ストーリーが大したことない。シナリオ分岐とかあるようだが所詮お使いゲームだと思ってしまう。なんかおススメない?
他にやりたいこと、やるべきことが増えたのもあるかもしれない。プログラミングとか奥が深くて楽しいし、資格試験もゲーム攻略のつもりで取り組んだり。ゲームに時間を費やすのがもったいなく感じたりするようになった。人生をゲームのように生きるとか。
ゲームはたくさんある趣味のone of themでいいやと考えを変えればいいのかも知れない。そう考えると、それはそれで一つの生き方かも。
------------
ゲームは昔から好きだった。インベーダーブームを体験し、近所の駄菓子屋の筐体で遊び呆けたりした。
そのうち、コンピュータ(パソコン)でどうやらゲームができるらしいと知った。ちょうどマイコンBASICマガジンが創刊されたころだ。
アーケードゲームは少しづつ内容がレベルアップし始めた。ゼビウスが発売され、その神秘的な内容に痺れた。
そして、ゲームは百花繚乱の時代を迎えた。毎月のように新しいゲームが発売されて、俺は嬉々として紹介記事や攻略法を読み漁った。
この頃はまだその新しいゲームたちの名前をほとんどそらんじることができた。ゲームの内容が高度になっても、まだ俺の手の内にあった。
ゲームの出来を測るのに「攻略時間」が入り始めた。長くプレイできるほど良いというやつだ。それを競うようにゲームの必要時間が長くなり始めた。
ゲームだけに時間を割くのが難しくなった。その上、発売されるゲームの数は増える一方だ。
だんだんゲームは俺の手に収まらなくなってきた。一つのゲームを隅々まで遊び尽くすなんて真似は不可能になった。
最近のゲームはクリアするのに最低100時間かかるのが当たり前になったらしい。
そりゃ、LLMなんてP(x|y)のパターンを一生懸命学習してるんだから、プログラミングほどはっきりパターンがあるものはちゃんと学習されるわな
重み行列に一対一対応の暗記型知識を埋め込もうとするほうが不自然なので、一般知識は重みに収まる範囲でちゃんと学習されるわけがない
IT以外の職種の人に聞きたいんだけど、生成AIって仕事のなにに役立ってる?
便利ではあるけど、世の中がこんな大騒ぎしするレベルじゃなくない?
調べ物をさせると、隙あらば嘘を混ぜ込むし。
https://b.hatena.ne.jp/entry/s/speakerdeck.com/satoshi7/classmethod-20251018
のTOPコメが面接で笑われただけど、しゃあないけどクラスメソッドの人たちは技術好きな良い人と競プロ系の努力教の2パターンくらいしかいない。
そういえば競プロの親玉は「競プロはT型だけど他もすぐ伸びるから会社の重要な人間になれる!」とか言って売り出してたけど、あれから何年経ったよ
未だに競プロ界隈が嫌われてて、むしろ年々ひどくなっているのが結果だろ。裾野が増えてカスが増えたのなら仕方ないがそこまで日本人で増えたという話は聞かない
さくらインターネットの社長もだけど、なぜか競プロ界隈叩かれると擁護する人多いけど、いい加減プログラミング含めた技術と人間性は別で評価しようよ
口では言ってないけど「技術力あるけどその他は目をつぶろうね」って空気出すなよ。むしろ技術力なんて後からついてくるけど人間性は20歳超えたら型にはめたって変わらねえよ。高専か情報学科入った時点で終わりなんだよ
あとなんか最近増えた第3勢力、中性的男子。なんでIT業界は許されるみたいな感じ出てるの?なんかベルト多いパンツ履いてたりして。その見た目だから競プロみたいな尖った技術あるのかな?って思ったらそうでもない。この業界吹き溜まりじゃないよ?
多様化なのかわからないけど、AIも来てゴチャゴチャしているしこれからこの業界くるのはオススメしない。まじで人壊すヤバいのしかいない。そんなのが面接攻略法とADHDな集中で有名どころにも入り込んでどんどん腐ってる。社内SEもDX推進で人増えて腐ってる
eroyamaさんのデータを見ると、マイクラのプログラミング教室が1万人以上の都市圏ならば存在するとある。
ただ、離島にもあるからといって、さすがにそこらへんの田舎にマイクラのプログラミング教室はないだろうと。
他のデータ
塾:1.7万人
マクドナルド:2.7万人
は体感でわかる。
>インターネットに触れていて簡単なプログラミングできればどんなサービスも資金調達はできる
これがおかしい
90年代(特に前半)にインターネットに触れること自体途方もなくハードルが高かった
そんな時代にネットビジネスで海のものとも山のものともわからないものに投資するバカはいない
バブルもはじけたばっかりだしな
https://x.com/iototaku/status/1982452974652973064
「親が左翼」か「高学歴ワーキングプア」以外のルートで現代の若者が左派になるルート存在しない。
あと、ポリタスとかみててもまじでその2種類のタイプの人たちだけがどうすれば幸せになれるか?という話(=脱経済成長の大きな政府)しかしていない。
うわぁ。俺がリベラルに対して思っていたこととほとんど同じ。あんまりこういう意見聞いたことないから「やっぱ間違ってんのかな?」と思ってたけど少なくとも一人はいて安心した。
温泉むすめとかにキレてたオタクを自認する男とかまさに↓のとおりだった。
・子供の頃からアニメやゲームに興味なくて電子工作やプログラミングとかしてた
・高校生の頃から個人書店で立ち読みして時間潰すのが趣味だった(書いてないけど本人の口ぶりからして人気漫画や雑誌の立ち読みじゃなさそう…)
・ほしい物リストが政治、経済、歴史の分厚いハードカバー本でいっぱい
まさに「すごい頭は良いけど、それを仕事に活かせていない人間。または仕事にするには難しい知識ばっかり知ってる人間」のオンパレード。
脱経済成長の大きな政府って要するに「資本主義とか金稼ぐとか反対。俺たちの好きな学問研究させろ。あ、でも衣食住は国が担保しろよな」ってことでしょ。
大概の人間にとって勉強というのは「役に立たなくてあくまでもいい大学に入るための知識ぶち込みゲーム」でしかないからな…
代ゼミの有名講師も「大人になってからは学歴学力よりお前の人間性が大切。もっというと本当は学生時代の時も人間性が大切なんだけどな。」的なことを言っているし。
具体的になにをしているかというと、リーダーの考える通りのWebサイトのコンテンツを作成できるように黒い画面で英文をカタカタする仕事だ。なんてつまらなさそうな仕事紹介だろう!
この熱量の無さからわかる通り、プログラミングとかいう行為が好きではない。じゃあなんでそんな仕事を選んだかというと、学歴と体力のない人間の消極的選択である。
頭を動かすことは得意なので現場からもそれなりの評価を頂いている、が。今それなりに危機に瀕している。
人手が足りないから別のチームに応援に呼ばれた。これはいい。意思の確認とかされなかったけど。まあいい。
問題は別チームのやり方が本当に別すぎてなんもわからんことだ。
言語は同じなのだ。しかし書き方が違う。曰くフレームワークをゴリゴリに使用している書き方らしい。
IT業界でない人に説明するなら、同じアルファベットを使ってるはずなのに文法が全然違くてわからん。無理。
すごく頑張った。AIも駆使した(うちの現場では推奨はされていないが、非推奨でもない)。最低限求められている動きをしているものができた。
そして脳内のお嬢様が叫ぶ。「自分で何を実装しているのか、わたくしさぁ~~~ぱり、わかっておりませんわぁ~~~~!!!」
求められているものができているなら良いだろうと思うだろうか?しかしこの次の工程でレビューというものがおれを待ち受けている。
おれはこれが嫌いだ。諸々仔細は省くが嫌いだ。省く理由はおれのレビュー担当者への怨嗟で埋まるからだ。(別チームの応援におれのレビュー担当者=チームリーダーも一緒に来た)
そもそもおれはおれの上に立つ人間を好ましいと思ったためしがないので社会人が向いてない。終わりだ。
しかし時は無常。作業はまだまだある。ひとつめの壁で立ち止まっている場合ではないのだ。
短絡評価とは、それが真とわかったらそれ以上の議論をしないことを意味する。
例えばA or Bという論理で、Aが真とわかったらBは評価しない。あるいはA and Bとあって、Aが偽なら評価をしない。
一見すると、プログラミングにおける演繹の話でしかないように思える。 しかし、これは人生の知識についてあらゆるところで使える考え方である。
短絡評価の考え方を経済学的に言い換えるなら、「限界分析を打ち切る合理性」ともいえる。
経済主体は、すべての選択肢を無限に検討するわけにはいかない。情報収集や分析そのものにもコストがある。
これを経済学では「情報の限界費用」あるいは「取引コスト」と呼ぶ。 追加の情報探索コストよりも、得られる期待便益が小さいと判断した段階で、人は探索をやめる。
合理的無知もまさにこの文脈に属する。 つまり、ある命題Aが真であるとわかった瞬間に、Bを検討しないのは、最適停止問題の一種である。
例えば投資について考えよう。「素人は個別株はダメ。インデックス投資一択でいい」という論理。この論理を容認するなら、個別株それぞれを見ていくことは単なる時間の無駄ということになる。
あるいは「自分はスポーツ全般が苦手だ」とわかっていれば趣味探しでスポーツを検討しないし、「俺の将来の出費はこうだ(不確実性込み)」と事前にわかっていればそれ以外の出費はない。
選挙で、有権者がすべての候補者の政策を精査しないのは怠慢ではなく合理的行動だ。自分一人の票が結果に与える影響がほぼゼロであるなら、情報を調べるコストの方が高いからだ。これは「政治的短絡評価」とも言える。
さらにマクロの視点で見れば、企業の投資判断も同じ構造を持つ。市場分析を無限に続けるより、「一定の確信度に達した時点で投資する」方が、機会費用を最小化できる。
経済学者ハーバート・サイモンが唱えた限定合理性が示す通り、人は完全情報の世界ではなく、限界的に合理的な世界で生きている。
AIにもできること・できないことがある。
しかし、テンプレートがAIで作れるようになると、テンプレートを作れる人の価値がなくなる。格安でAIで作れるのに、誰が人に頼むというのか。そして、より専門性の高い内容・或いは変わり種が要求されるようになる。
そうなれば、AIに任せていた人は使い物にならず、切り捨てられていく。
これから先、一生、テンプレートでいいなんてことは、どの界隈でもほぼないと思う。基礎的な構造は変わらないにせよ、その姿形は変わっていく。
何事も「基礎」はできて当たり前の世界。AIはそこを補助してくれるにすぎない。その先の才能は自分でひらくしかない。
AIに頼りすぎたら、自分の才能すら潰してしまう可能性があることは、必ず念頭に置いとくべき。
自分には絶対無理だと思うことこそAIに頼るべきだと思う。例えば、物理や数学なんて1ミリも分かんねーし、プログラミング?英語見ただけで頭パンクするし、pythonですら全くわかんねーや!って人は、AIに任せてしまえばいいと思う。
話せない趣味
Youtube → くだらない動画しか観ていない。登録者10万人でも、日本の人口的にマイナーなので話が合わない。
読書 → 具体的なタイトルを出すと、そのタイトルの解説をしなくてはならないのでめんどい。学問系とかだったら「写像ってなんすか?」とか聞かれて答えに詰まると気まずい。
プログラミング → 「何作るの?」と言われても、データをあっちこっちするだけのもので説明がめんどい。「電卓とかですかね」と言ったら、「まだ電卓作ってるの?」といじられ続けたので、二度と言わない。
日記 → 「世間的には少数派という意味」で趣味だと思うけど、趣味として言っていいのかわからない。
筋トレ → 筋トレって言うのは孤独に己の内面と向き合うことなんだよ。見せつけるものじゃない。昼食にプロテインを摂るとバレやすい。
話せる趣味
ゲーム → Steamのよくわからないゲームをやっている。同じ返答を維持し続けるために、FPS・ローグライク・シミュレーションなどリプレイ性が高いものが良い。
変に流行りのゲームや終わりがあるゲームを言うと、「まだそれやってるの?」となったとき面倒なので。
Steamのフレンドになったら本当に何やってるか話す。ただSteamでゲームやってる人は現実の人にフレンドを申し込んだりはしない。
もうアラフォーになるんだけど、でも、夢は捨てきれていない。
劣っている自分でも、プログラミングなら負けないと言えるようになりたかった。
諦めればいいんだけど、でも、自分にはプログラミングしかない。
「コンピューターサイエンスのすべての分野に精通」してないのを恥じている。
いや、「インフォメーションエンジニアリングのすべての分野に精通」してないのも恥じている。
全部を上手くできない自分が、ただただ劣っていて嫌で仕方がない。
「コンピューターサイエンスのすべての分野に精通」している人がいるなかで、自分ができてないのが嫌になる。
なんで、自分にはできないんだと永遠に責め続けてしまう。できる人がいるのに、どうして自分にはできないのか。
全部できていたい、なんで全部できていないのか、それが自分の頭の問題だということを受け入れたくない。
UT入ってIS行くような人ができることが出来ないことに勝手に差を感じてる。
プログラミングが得意になるように頑張った。
お前は劣っているのだから、要領よく文系としては生きられないからと。
しかし、だからといってあきらめたくない。全部上手くできるようになりたい。
少しづつあがいてるけど、結局、やることなすことうまくいかない。
React/Vueみたいなフロントエンドフレームワークも作れてない。
出来てないことだらけなのに、まだ挑戦していたいと思ってしまう。
たぶん、脳の病気なんだと思うけど、でも、やめたくない
一等賞になれないのだろうけど、でも、一等賞を目指したくなる