嫌われプログラミングの代弁者

「何で頭ごなしに嫌う人間が居るのか」を色々考える

悪口を言われる 3

コボラーに対する悪口

コボラーに対する悪口は、人権をつかさどる機関でも、プラットフォーマーでも野放しだと思います。これはファクトだと思います。

何処もいっさい咎めないのです。

 

悪口の内容

  • 特に「何かの属性を持った人」と言う訳でも無い人が、
  • コボラーに対して、伏せ字無しで○ねと発言したり、
  • 何の根拠も無しに、明らかに劣っている様に言ったり

します。
(100文字以内の単発のコメントのみの、はてなブログと異なり、)コメントをどんどん付けて議論していく様なプラットフォームでも、コボラーに対する故無い悪口を咎め立てするのを見た事は1度たりとも有りませんでした。

さらに、悪口の対象は(COBOLに関してブイブイ言わせていた)先生筋では無く、(自分の様な)弟子筋でした。これは明瞭なファクトです。

もちろんCOBOL陣営も悪口に値する事はやっていて、

  • COBOL言語を、世界唯一の仕様記述言語として統一を図ろう

とかして、迷惑をかけたと聞いております。その様な「解無し」の事で金を取っていたとするなら、それは後に悪口を言われて当然です。

 

悪口の対象の一般化

私の父親は大学の先生で、(今の私の半分程度の)若い父親が初めての子供に、自分の仕事について色々教える訳ですが、子供は吸収する訳です。(ネグレクトの母親の技術者の義理の父親程では無いにせよ。)

後から(その時、言っていた事が)どうだったか考えた結果ですが、

  • 党派的に酷い事をされて、それをされるとかなりの事を諦めないといけない

と言われていた様に思います。

さて、

  • 学術的権威を笠に来て、"素晴らしい"着想を述べ、金を取り
  • 実証責任はこちらだ

と言われた時、「あぁ、これなんだな」と思いました。「ビジネスはファクトが」とも言われて確定的だと思いました。
ただ、そこで我慢しなければ全部を押し付けられて、過労で自○するSEの仲間入りをしていたでしょうから、親の言う事はありがたい、と言う事でも有ると思います。

 

しかしその後、

その"素晴らしい"着想が「解無し」で(長期と言える期間後にも事例が0)、
解を得たと言ったと思えば、見たい(我々が望む)問題に対して「横目いっぱいの解法」のみとなるとすると、

その手法を報じた先生の弟子筋に対して、任意の人間が任意のタイミングで任意の強度で悪口を言うのを許容すると言う趣向も一考に値する様に思います。一般化とは科学の常套手段だと思います。
IT分野で特定の条件の場合、その様な悪口は人権問題とならない様に見えるからです。

 

結論

何にせよ、悪口に戸を建てる事は出来ないと思います。これからも「悪口を言われる」事でプログラミングが嫌いになる人は存在し続けることでしょう。

 

 

意味がわからない 3

もしかすると

もしかすると、プログラミングとは、

と言う側面を持っているのでは無いでしょうか?

人造なので、(特に困る問題に対してのロバスト性を担保する為の)

  • ひらめき、内省に相当するif文

だとかを備えていますが、そこは(機械学習では無い)人造のAIと言う事で、個性なのかも知れません。

そうなると

AIの中身を見て、その部分部分を(人間に都合の良い意味で)解釈しようとはしないですよね?

そして、その部分部分が刻々と変化しても文句は言わないですよね?

だとすると

  • プログラムの部分(オブジェクトだろうと関数だろうと)に(人間の都合の良い意味での)解釈を付けたり、
  • プログラムの部分(オブジェクトだろうと関数だろうと)に不変(ずっと使える自動テストを必須とする事と同義)を見出そうとしたり、

するのは、その側面からは「疑問が付く」、「解無しが疑われる」と思われても不思議では無い様に思えます。

結論

やっぱり「わかる」方向の言い方は出来ませんでした。

ですので、これからも「意味がわからない」事でプログラミングが嫌いになる人は存在し続けることでしょう。

 

家で勉強しないといけない 1

どの様な話?

プログラマーは家で勉強しないといけないのか否か、と言う議論はよく有り、結論も出ません。しかしよく考えてみると、私の場合、家で勉強すると言うのは、

  • 新しいやり方(新版のLinuxとか)で解が有るのかについて、
    Linuxだと本来的には有る筈ですが、知らなければ自分にとっては解無しも同じになってしまう)
  • 解の存在証明をする(家のPCではVMを作れないので、VPSとか借りて)

事だと思います。

自分の仕事の範囲内で、新趣向を試す程度の裁量はありますが、解の存在証明の時間までは取れない(出来ないなら旧来のやり方でやれば良いので、酷な話という訳では無い)のが普通なので、
家でやるより無いと思います。*1

それをしないのは、

  • 新趣向に挑んで解無しで時間切れでも許してもらおうとする

行いです。それを是とする立場か否かで、議論に対し結論が出ないのは納得です。

結論

業務としてプログラミングをやる場合は、これからも「家で勉強しないといけない」事でプログラミングが嫌いになる人は存在し続けることでしょう。

 

*1:もっとも、仕事として解の存在証明からやれと言われた事も1度だけ有りました。.NETでコレクションのキーワード検索の速度を上げろと言うものでしたが、これは本当に例外でした。

意味がわからない 2

学術分野で無く商用分野でも

学術分野で無く商用分野でも、

正当なチャレンジをする若手に対しては、かなりの配慮はなされます。そしてそれは中堅の犠牲の上になされます。
もちろん、自分らもしてもらったから、同じ事をしているだけで、それ以上でも以下でも無いのですが。。。

ただ、学術分野と違い、「解が無い」で終わるのは禁忌です。それは、

  • (レガシーであるにせよ)実際に出来ている手法を用いている人の手を払い除けて、自分がやるとしたにも関わらず、
  • レガシーなら出来た)結果が出せなかった

という事を意味するからです。

日本で高学歴の人の処遇がおかしいのは、それら人に割り当てられた論文の課題が水増ししゃぶしゃぶの、「解が無い」で終わる課題で、
それらの人は、「解が無い」で終わるのに全く抵抗が無い、商用分野ではあり得ない態度を取るのに慣れきっているからでは無いかとすら、疑います。

 

これも20年かかりましたが、

まともな名前を変数に付けさえすれば、操作的意味が自動で付くなんて解は、ほんの最高に単純な場合のみだと思います。
実用的には「解が無い」と思って良いと思います。

日付が1つあっても、

  1. その日付当日を表す
  2. その日付から翌月の同じ日付の最後までを表す
  3. その日付から翌月の同じ日付の前日の最後までを表す
  4. その日付から翌月の同じ日付の指定時刻の前までを表す
  5. その日付から翌月の同じ日付の前日の指定時刻の前までを表す
  6. etc.
  7. etc.

意味は数限りなくあります。

 

解だと言われているものは

解だと言われているものは、

  • 「横目いっぱい」のパターンで、
  • 少し問題が変わると、操作的意味を維持する為に、プログラムを破壊的に変更する必要が出る(正面の視座の解なら少し問題がずれても、解にも相応した程度のずれしか無いが、横目いっぱいの視座の解の場合、破壊的なずれが生じる)

ものばかりだと思います。繰り返しのfor構文を「簡単にする」と称するmap関数など、まさにこのパターンだと思います。
データの意味のみならず、プログラムにまで意味付けをして「分かりやすく」してしまったが為に、破綻する(必要な問題に対する解がなくなる)のです。

酷い話です。

 

結論

トニカクこのブログでは、肯定的な話は出ません。その様な話があるなら、20年も待たずに、次世代論議に加わる事が出来たからです。

自分より若手である、パソコンサーバーでリーダーをやっていた人にもその事は言い、それら弱点はその通りだという回答を得たことがあります。
ただ、DBサーバーを広めるのが責務で、弱点を今言う訳には行かないとも言われ、なるほどと思い、そのまま時間が経ちました。

これからも「意味がわからない」事でプログラミングが嫌いになる人は存在し続けることでしょう。