超上級者用のプログラミング講座ブログを書こうぜ☆(^~^)

ぺらぽっぽ☆(^~^) 高度過ぎてお前らには理解できない☆(^~^) 公開下書き

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 指し手生成が嫌になった……☆
ヒマつぶしに 入門書を焼き尽くす 超上級者用のプログラミング講座ブログを書こうぜ☆(^~^)?」

KIFUWARABE_80x100x8_01_Futu.gif
「 そんな一つ飛ばしブログを喜んでサーチしてるやつは 筋が悪いよな☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu.gif
「 桂馬の動きを まともに書きなさいよ! 左へ1、上に2 と、 右へ1、上に2 の2つなのよ!」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 そんな複雑なプログラミングは もう嫌になったんだぜ☆(^~^)」

オブジェクト指向を犬や猫で説明してはいけない理由

20200314blog8a1.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 ↑ クラスの説明で だいたい 上の図みたいな説明を受けたやつは 地の底の迷路に落ちていくぜ☆
オブジェクト指向を使いこなして 悪いプログラミングを書くぜ☆」

KIFUWARABE_80x100x8_01_Futu.gif
「 お父んが 猫嫌いなのは分かった☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu.gif
「 アフィリエイトで 猫ばっか 上位にいるから 嫌になったのよ。
ちゆりがコンビニ食品の栄養を調べて作ったアフィリエイト用の集客サイトより 猫の写真2、3枚 並べた主婦のブログが上にくるのよ!
今日の猫ちゃんのご機嫌はナナメですね~」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 いらっ☆!」

20200318blog9a1.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 アニマルより ミニマルが重要なんだぜ☆!」

KIFUWARABE_80x100x8_01_Futu.gif
「 ミニマルより アニマルの方が重要だろ☆!」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 オブジェクト指向の継承の機能を使って 現実世界に照らし合わせた 生物大図鑑を作ってはいけない☆
お前ではなく、そのシステムの要件に必要なものだけを 照らし合わせろだぜ☆」

書きかけ

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 重要なのは……☆」

20200314blog8a2.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 顧客の意見、感情は無視し、 顧客に本当に必要なものをエスパーの力で察知し
だいたい イケそうな落としどころのものを 押し付けることだぜ☆」

KIFUWARABE_80x100x8_01_Futu.gif
「 オブジェクト指向でも それはできるだろ☆ 反証があるのか☆?」

20200314blog8a3.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 顧客の要望には際限なく、犬と猫だけを扱えばよかったシステムに タンスの預金や もらった名刺、ホテルでもらったスリッパ まで扱いたくなるだろう☆
顧客に本当に欲しかった要望というものは定形ではない☆」

20200314blog8a4.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 要望は 伸縮、変形する☆」

KIFUWARABE_80x100x8_01_Futu.gif
「 知ってる☆」

20200314blog8a5.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 ↑ 要望に沿うと なんでもできるオブジェクトが生まれてくる☆ そして こいつの使い方は イマイチ分からない☆
なんなら 別のシステムとも くっついていて こいつをいじると 何が起こるか分からない☆
犬とか 猫とか プログラマーが勝手に そうであって欲しいと 昔のある時点で思っていた願望だぜ☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu.gif
「 それは オブジェクト指向 の使い方が悪いんじゃないの?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 悪い使い方をしたオブジェクト指向 と出会うんだぜ☆
そして それを リプレースしようとした 腕の立つプログラマーもまた 新たなる サムシングを造るんだぜ☆」

KIFUWARABE_80x100x8_01_Futu.gif
「 粘土遊びは 止めたらいいのに……☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 本当にやらなければならないのは 業務の理解と その改善だぜ☆
オブジェクト指向には それについて なんの力もない☆ プログラムに何でも押し付ければいいと思ってるのは間違いだぜ☆
クソを正しくプログラミングしたら 正しいクソだぜ☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu.gif
「 その前提条件は クリアーしているものとして プログラミングの話しをしましょうよ?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 非実在プログラミングだぜ☆」

KIFUWARABE_80x100x8_01_Futu.gif
「 焼き尽くしているのは 入門書ではなくて 全て ではないのか☆?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 本当の オブジェクト指向プログラミング というものを教えてやろう☆
is-ahas-a とか考えても無駄だぜ☆」

20200314blog8a6.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 ↑ これは プロシージャ型プログラミングだぜ☆
上司、 チームのメンバー、 フリーランスのプログラマー、 天才プログラマー、 誰も これより難しいプログラミングをすることはできない☆」

KIFUWARABE_80x100x8_01_Futu.gif
「 そうなのかだぜ☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 まず だいたい尋ねられるのは ファイルのあの列、何が入ってるんだっけ、とかいう データの仕様 だぜ☆
そのあとに こんなデータが入ってくると 何が出てくるんだっけ、とかいう 処理の内容 だぜ☆
このとき プログラマーの口から出てくるのは……☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 何の話しだっけ☆? だぜ☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu.gif
「 それはそうかも知れないけど オブジェクト指向 は もっと その話の 下地にあるものなのよ。
ストロベリー・フラペチーノ と 水道管 ぐらい話しの階層が違うの」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 水道管の話しで ストロベリー・フラペチーノ を飲みたい顧客と 対話ができるかだぜ☆!
究極のオブジェクト指向の極意は 仕事をプロシージャ指向に 落とし込むことだぜ☆
仕事が オブジェクト指向になってたら 泡吹く☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 言ってしまえば 至高のプログラミングとは シーケンス☆!
人類に 手順書 以上のことができる知能はない☆(^~^)!」

20200314blog8a10a1.png

KIFUWARABE_80x100x8_01_Futu.gif
「 CRUD とか、 非同期処理とか いっぱいあるのに……☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 人類 には理解できない☆(^~^) 図で説明すると……☆」

20200314blog8a7.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 ↑ 顧客は (1)いくらで、(2)いつまでにできるもので、(3)当然要望を満たす高品質で不具合がないか、 にしか興味がないし、
業務と開発の分かる人は (1)フォルダー数が少ない (2)ファイル数が少ない (3)行数が少ない (4)簡単 (5)当然要望を満たす高品質で不具合がないか の5つしか興味がない☆」

KIFUWARABE_80x100x8_01_Futu.gif
「 くそっ☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 そこで オブジェクト指向が分かる人 が本当に やらなければならないのは……☆」

20200314blog8a8.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 マウスクリックで調べられる フォルダー数、ファイル数 を少なくすることだぜ☆
キロバイトも減らせだぜ☆」

KIFUWARABE_80x100x8_01_Futu.gif
「 くそっ☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu.gif
「 逆じゃないの? プログラミングは 紙に印刷して キログラムで良し悪しを測るんじゃないの?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 そんなとこからは 今すぐ 転職しろだぜ☆」

KIFUWARABE_80x100x8_01_Futu.gif
「 オブジェクト指向の話しが始まらんなあ☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 本当の オブジェクト指向 の話しが始まっている☆ カプセル化とか喜んで読んでいるやつは ペーパードライバー☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 例えば簡単な計算だぜ☆」

20200314blog8a9.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 ↑ 話を単純にして、クラス1つを1ファイルに書いているとしよう☆
ファイルを2つも増やす コスト に対して、どれぐらい メリット があるかだな☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu.gif
「 大容量時代に ファイル数を気にするとか 無意味なんじゃないの?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 大容量、高性能CPUは、プログラミングを 実行時の性能で評価しない方に働いている☆
ダウンロードした圧縮ファイルを解凍したときの 気分 で評価は決まる☆
できれば 開けたファイルに プログラムは 何も書いてない ぐらいがいい☆
だいたい この圧縮ファイルは メールの向こう側の あんまりプログラマーじゃなさそうなやつが どこかで開けている☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 しかし そうもいかないので、プログラマーは仕方なく申し訳なさそうに ちょこっと プログラムを書くことだけが 許されるんだぜ☆」

KIFUWARABE_80x100x8_01_Futu.gif
「 プロシージャ言語ぐらいの 上から下へ読んでいくやつか☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 プログラマーが 一番 抑えておかなければいけないのは、
プログラマー以外の人種は プログラムなんか嫌いだ ということだぜ☆
これは超重要、最重要☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 社長から見れば 開発はコスト☆ 製品もコスト☆ 売上にはなんも直接影響しない☆(^~^)
プログラマーは 全然歓迎されていない人件費 ぐらいに思えだぜ☆
Windows XP のサポートが切れて パソコンを買い替えろなんて、IT屋が勝手にやってる コストだぜ☆」

KIFUWARABE_80x100x8_01_Futu.gif
「 プログラマーの使い方が分かってないんじゃないか☆? 製造の発想だろ☆
物を製造するのは プログラマーの仕事ではないぜ☆
プログラマーの仕事は 要件に対し 最大値の結果を返すことだぜ☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 全部必要、全部重要 という要件定義しかできないところに プログラムは必要ない☆
ブルートフォースやってりゃいい☆
何が不要か、どれを捨てれるか 順序付けれる人類も存在しない☆ 言ってしまえば 自由にプログラムしたけりゃ 一代目の社長になれだぜ☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu.gif
「 プログラムなんか習得しても ほとんどの人に 役に立たないじゃないの」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 オブジェクト指向で すぐ役に立つ1番目は 実装の隠蔽 だぜ☆」

KIFUWARABE_80x100x8_01_Futu.gif
「 お父んの口から 初めて オブジェクト指向っぽい単語が出てきたぜ☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 これは もちろん、 変更の影響を最小限に留めるとか そういうことではなく、
会社で出会う 社長も 上司も システムエンジニアも だいたい プログラミングなんか嫌いだ というところに根拠がある☆
プログラムなんか読まされない方がいい☆

OKAZAKI_Yumemi_80x80x8_02_Syaberu.gif
「 上司のレビューから逃げ切るための オブジェクト指向プログラミング なのね」

KIFUWARABE_80x100x8_01_Futu.gif
「 話しが見えてきたな☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 これから プログラマー とかに なってしまうやつは覚えておけだぜ☆
わたしは プログラムが嫌いなんだ、長いコードなんか嫌いなんだ、あれこれ考えて使い分けるのは嫌なんだ、 という人格を持て だぜ☆
プログラムが好きそうなやつが書いたプログラムを書いてはいけないぜ☆
プログラムは 成果物の物量が少ない方がいい☆ ブレイン・ファック はやりすぎだが……☆」

KIFUWARABE_80x100x8_01_Futu.gif
「 それはお父んの 特級仮想上司 なのでは……☆」

<書きかけ>

何度でもクリック!→

むずでょ@きふわらべ第29回世界コンピューター将棋選手権一次予選36位

光速のアカウント凍結されちゃったんで……。ゲームプログラムを独習中なんだぜ☆電王戦IIに出た棋士もコンピューターもみんな好きだぜ☆▲(パソコン将棋)WCSC29一次予選36位、SDT5予選42位▲(パソコン囲碁)AI竜星戦予選16位

Crieitは個人で開発中です。 興味がある方は是非記事の投稿をお願いします! どんな軽い内容でも嬉しいです。
なぜCrieitを作ろうと思ったか

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください!

ボードとは?

むずでょ@きふわらべ第29回世界コンピューター将棋選手権一次予選36位 の最近の記事