17/01/23 16:02:00.81 BqV6mX3Z.net
>>514
(めっちゃ長文になったから読みたい人だけ読んでください)
僕はC言語からプログラミング始めてC++に移ったんだけど、当時は継承だとかカプセル化だとかばかりが持ち上げられてて端的に何が魅力なのか良く分からなかったんさ
で、自分なりにオブジェクト指向言語の良さって何だろうと考えてみたんだけど、あぁ英語の文章として自然なんだなと
C言語で関数書くときは
void Do()
{
Do_A();
Do_B();
}
でDoだけしか重ねられないけど
C++だと
void Class::Do()
{
Object1.Do_A();
Object2.Do_B();
}
誰が何をするか文を重ねるだけで、処理が英語の文章として出来上がるから自然なんだと。若い世代には当たり前過ぎることなのかもしれんがw
オブジェクト指向言語ってただの英語の文章じゃんと気づいたあとは、コード書くときは極力英語脳で書くように心掛けてる
関数の処理内容をキチンと表した関数名になるよう、必要ならS.VOC()で、目的語や副詞や前置詞までキッチリ付ける
関数名や変数名をつける為だけに英語の辞書サイトや類語サイトを検索しまくることもしばしばで…
そういう面倒くさいこと続けてきた結果、英語力も割りとついたし、関数名や変数名で表現しにくいのってWhyだけだなぁと気づいた次第です
Why(目的や意図)でも、一つの単語で表現できるような簡単なものForを使えば書けるけど、
ちょっと複雑になると
S->VOCBecause ~()になって、長ったらしくて冗長だから英語圏の開発者も絶対やらんもんねw
まぁ単に文学系プログラマってヤツだよ