Topics

・関数型プログラミングとオブジェクト指向のパラダイムとしての対立 国内の【自称】関数型コミュニティと海外の論調の違い

ガラパゴス・ネットスラング=「関数型ポエム」という呪詛、先入観的読書と、フェアなレビューの登場

Qiitaの騒動から派生して、東北大学の住井 英二郎@esumii氏、らくだの卯之助@camloeba氏その他が、犯罪者集団に合流して2ちゃんねるでの誹謗中傷チームの「8賢者」「ウィザード組」とかアホなことをやってる件について

JavaScriptではES6+とReact-JSXからES5へのトランスパイルが標準に / ATOMエディタで最速環境構築 厳選パッケージ 3 + 3 2015年夏バージョン

2016年のnode、ES6、React、Babel、Atomエディタ界隈の方向性

Dockerじゃないsystemd-nspawn+machinectlが非常に良い

99%のプログラマがIQ145のJKに「ダサい」と言われてしまう理由とは?【その1】「計算機科学のほんとうの基礎」を理解していない。IQ145のJKと同じ事を語るMITの権威とSICPという聖典の権威を借りてマインドコントロールを解いてみよう

99%のプログラマがIQ145のJKに「ダサい」と言われてしまう理由とは?【その2】関数型プログラミングのイミュータブルな世界観とイミュータブルな実世界を完全に統合

10年先を行く斬新な関数型(FRP)データベースについて説明する 99%のプログラマがIQ145のJKに「ダサい」と言われてしまう理由とは?【その3】

[React (.js Facebook)解説 関数型プログラミングに目覚めた! IQ145の女子高生の先輩から受けた特訓5日間 サポート記事【静的HTML編】React 解説【動的HTML-FRP編】

量子コンピュータが超高速である原理と量子論とそれに至るまでの科学哲学史をゼロからわかりやすく解説01量子コンピュータが超高速である原理と量子論とそれに至るまでの科学哲学史をゼロからわかりやすく解説02

『関数型プログラミングに目覚めた!』のレビュー(Day-1)について

LISPデータ構造の問題点の指摘と抜本的解法としての新プログラミング言語の策定/純粋関数型言語「SPINOZA」

著書『関数型プログラミングに目覚めた! IQ145の女子高生の先輩から受けた特訓5日間』 [Day1]たち読み記事 無料公開中

『関数型プログラミングに目覚めた! IQ145の女子高生の先輩から受けた特訓5日間』を大変多くの方々にお買い求めいただき、感謝します。本書の全目次を公開し、質問を受け付けます。

2015年5月26日火曜日

関数型プログラミングと私の著書の正確性についてきちんと議論(論争)します。

関数型プログラミングと私の著書の正確性についてきちんと議論(論争)します。

私の著書である、

関数型プログラミングに目覚めた! IQ145の女子高校生の先輩から受けた特訓5日間

著書『関数型プログラミングに目覚めた! IQ145の女子高生の先輩から受けた特訓5日間』 [Day1]たち読み記事 無料公開中

enter image description here

について、一部巷では、その
「技術的正確性」について、

  • 良い部類では、フェアな疑義
  • 程度の低い部類では、本気で勘違いしながら個人攻撃と混ぜものにしながら論者の自己都合、保身による感情的なネガティブキャンペーン
  • 最悪な部類では、自身が間違っていることを本当は理解しながら、あるいは内容をまるで理解する位置にいないのに、とにかく当方の足を引っ張ることだけが目的であるのに、フェアであることを装いながら展開するネガティブキャンペーン

が存在します。

Why? なぜ今、議論(論争)を開始するのか?

大前提 私のスタンス

大前提として、私は、一言論人として、ひとりの物書きとして、ひとりの技術者として、正確な情報を世に広めたい、特に次世代にむけて、教育者の端くれとして、正しい情報を発信、伝達しておきたいと考えています。

現状を観察して是としない

しかしながら現状、私の主張に反対する、ごくごく一部のフェアな論者、そして大多数はアンフェアな連中が一定数存在しており、この情報伝達を不当に妨げています。
一言論人として、ひとりの物書きとして、ひとりの技術者として、現状を是とはしません。

「批判」は上等なのですが、何故か「批判」を「装う」そのほとんどが、文責をまったく伴わない捨てアカウントによる書き込み、というより無様な「書き捨て」によって行われており、そのほとんどの内容は事実の歪曲、中傷が核となっている。

私は、著書を「批判」あるいは「中傷」されており、社会的実体としてまずまずいろんな影響を受けるわけですが、著書を「批判」あるいは「中傷」する、その発信元の大多数が「書き捨て」であることに留意してください。

わけのわからない文責を伴わない烏合の衆による「書き捨て」が、私への反論主体として形成されている。なんでこんなことになっているのでしょうね?

基本、現代のネットは言いたい放題で、いかに自分のリスクがなく、いかに相手にダメージを与えるか?みたいな極めて卑劣な力学をもって行動している連中が多いです。
で、これは、書籍の話であり、技術の話なんですよね。
そもそも論なんですが、なんで、技術者が技術論を語るのに、なんで匿名じゃないと語れないのか?
非常に胡散臭い状況であるのは、ちょっと気が利いた人ならば誰でもすぐに感じ取れることでしょう。

この辺の欺瞞、異常さに多くの人は気づくべきでしょう。

単純に、あっちこっちでワーワー言われているので、一周させるまでゆっくりと様子見をしていたから

で、なんでそんなことになっているのか?っていうと、基本、総体としてネガティブキャンペーンなんだからなんですね。ネガキャンじゃなければ、普通にフェアに文責を明らかにして、ひとりの技術者として立論すれば良い。で、いったいどこにそんなものがあるのですか?
ごくごく一部の例外は存在しますが、基本「ワーワー言いたいだけ」で、それが「印象操作」の助けになって、自分の気持ちをスッキリさせたいだけなので、反論の体をなしていません。

そういうのにいちいち反応するのは、私は体もひとつしかないし、本件にコミットできる手間時間も原理的に限られているので、物理的に不可能なんですね。そもそも連中は「技術的正確性」とやらを謳うが、そういう物理的不可能性の要素も見越していろいろ圧倒して単にゴリ押ししたいだけなので、最後はわけのわからない個人攻撃、あるいは「この著者は理解していない!」と言いたいだけなのが丸見えで、中傷の域を出ません。

だから、しばらくどんなもんなのか、連中の「手口」が全部明らかになるまで様子見をしていました。

「手口」っていうのは、ただ単に「揚げ足取り」だからです。
あらゆる人、物事の「悪い部分」をあげつらって「揚げ足取り」をするのは、どんな愚か者にも簡単にできます。

「レビュー」と称した、単なる誤解に基づく中傷、勘違い、理解不足、悪口の列挙なんてどんな愚か者でも簡単にできます。

そういう「パターン」が一通り出尽くすまで、逐一こちらがまっとうな「反論」あるいは是正行為をする価値は認められませんでした。

もう現段階で満足ですかね?もう出尽くしましたか?ご苦労様です。

論争の需要が大きい

本書の読者から、様々な、本書への反論あるいは「あからさまな」ネガティブレビューについてのご質問のメールが絶えません。

本書を出版した当初から、もちろんコントラバーシャルなトピックを扱うことはそれまでの経緯から、またパラダイムシフトをテーマとする本書の性格から、論争は想定していました。
ただし、それはあくまでフェアなスタンスで、展開されるものであったのですが、一部懸念していたとおり、著者としての私への個人攻撃とごちゃまぜにされながら、「論争」とは到底呼べない、極めて低レベルの、結構な暴力的行為を伴う、ネガティブキャンペーン、ゴリ押しに留まります。

「技術的正確性」という点で、まるで無頓着であり、本書、あるいは私の主張の否定があからさまな目的化しています。
たとえば、Amazonレビューのクロージャの反論説明ですが、これは大嘘です。

Amazonで、102 人中、93人の方が、「このレビューが参考になった」と投票されている、著書の「クロージャ」の説明が誤っているとの指摘が、誤っていることについて

正確な知識を求める読者、あるいは潜在的読者にとって、このような状況は間違いなく害悪なのですが、本書の正確性を云々いう連中は、この状況を批判することはまずありません。

広い初心者の正しい理解、よりも本書の毀損、「自分が属する陣営」の正しさ、という構図が透けて見えます。

関数型プログラミングの理解の推進となる

事実関係の検証、異なる見解の対比は、対象の理解を深めます。
特に、誰々がXXと言ってるのがソースで、だから正しい、これが関数型プログラミングである!というような、説明者の権威的保身に満ちた、たいして役に立たない説明を延々と読まされるよりは、それをも相対化して俯瞰して検討することにより、概念の理解が深まるでしょう。

誰を相手に議論すべきなのか?

まず、議論(論争)というからには、相手を特定しておく必要があります。

とりあえず、いろいろ面倒ですが分類をしていく下準備をします。

論外

当ブログでもすでに説明しましたが、私は個人として数年前から、ネット上の露骨なヘイト行為、誹謗中傷の対象となっています。その中心的グループは、昨今のネット事情をご覧になれば容易に感じは掴めるとは思いますが極めて執拗で病的な、法に抵触するレベルの集団であり、本来この連中はこのような技術的な議論に関与できる存在ではありません。
彼らが当方に「粘着する理由」「怒っている理由」とは、とりもなおさず、私が連中の卑劣さと異常さを堂々と指摘したからに過ぎません。
この件については、
著書のAmazonレビューによる露骨な名誉毀損、業務妨害行為についてでも、説明していますが、「ターゲット」とされている被害者は私ひとりではありません。連中を相手に批判した複数人が同じような被害に遭っています。この誹謗中傷集団には、Twitterでは誹謗中傷犯とグルになっている悪名高い弁護士もいるし、大阪大学の教授もいるし、著名なITライターもいます。
こちらを「叩く」ことで、こういう異常な連中が「自己正当化」される道理などありえるはずもないのですが、こういう連中は頭がおかしいので、私を誹謗中傷することで、「私の間違いを証明」できて、「自分たちは正しい」ということにしたいようです。要するにそういう動機で延々と粘着しています。連中は異常な自身のアイデンティティ(2ちゃんの誹謗中傷常習犯によくいるアレ)を正当化したいという、ただ一つの目的で利害が一致して集まる烏合の衆であり、道義的にも論理的にも倫理的にもなんの正当性もありません。単に損得勘定だけで振る舞う集団です。
要するに「逆恨み」ですね。PC遠隔操作事件の片山裕介が、自分の極めて異常で幼稚な犯罪行為を手段を選ばず「自己正当化」しようとしたのとまったく同じ異常なメンタリティです。この連中はもちろん、片山裕介被告を最後の最後まで「同類」としてシンパシーを露骨に表明しながら擁護していたのが非常にわかりやすかったです。
彼らは2ちゃんねるのスレッドに巣食って、数年に渡り当方へ嫌がらせ、誹謗中傷を延々と繰り返しています。自分らの振る舞いがそんなに正しいのであれば、匿名の2ちゃんねるの書き込みではなくて、実名で堂々と書けば良いのですが、できるわけもありません。法に抵触するレベルのことやらかしているからですね。「意図」としては単に当方の足を手段を選ばず(実際、2ちゃんねるに書き込むときにも集団的に、中国製の違法Wifi機器を悪用したりVPNで身元を隠蔽する工作を行っている)引っ張りたいだけであり、「ことさらおもしろおかしく」することで、当方を怒らせたいだけであり、なんの正当性も存在しません。以上は誰が見てもブラックである「違法」な集団です。技術的議論の「スペック」的にはその水準に達しておらない連中がほとんどすべてであり、「技術的正確性」の是非の議論から、この連中は厳密に排除しておくべきです。

論外+

次に、このような「技術的正確性」の是非の議論から厳密に排除しておくべき連中を咎めるどころか、その流れを歓迎し、「合流」して、技術的議論を展開するように見せかけて、当方への個人攻撃を悪用、援用することで、あたかも自分の断片的な技術の主張の短文書き捨てのほうが信頼できると見せかける、自分の主張が正しいと理屈もへったくれも存在しないゴリ押しをして平気な連中がいます。すでに何名かは、かなりはっきりと上述の誹謗中傷グループに合流していることでしょうし、2ちゃん的メンタリティに片足以上踏み込んでいる連中です。「毛の壁」なんちゃら、と、とにかく「毎度」書きたい連中がこれに該当します。

例の『数学ガール』の著者が一蓮托生となってなんか言っていた件については、

qtamaki キーボートを叩く狂犬。 #毛の壁注意

SICPと絡めて論じた記事については、

qtamaki 長いだけの怪文書です。費やした時間分あなたの人生を損ないます。#毛の壁注意

とかですね。私がこういう記事上げるや否や、ほぼ毎回Hatenaブックマークでこういうコメント投下する常習犯です。
この、アプリカティブ株式会社代表の人はいい加減にしておいたほうが良いと思う。こういうの法にも抵触すると思うので。程度問題でもありますが、あなたかなり執拗に延々とやってるんで、いい加減警告しておきます。
ネット上の露骨なヘイト行為に合流しているこの層の輩は根本的に「技術的正確性」の議論なんてのには関心なんてありません。雰囲気だけでわーっと便乗しながら、いかにゴリ押しを手段を選ばず完遂したいか?それだけが目的であり、それ以上の意図なんてありません。この連中は、2015年5月の段階で「もう岡部の技術的主張は間違いと証明された」と既成事実化を図っているのでわかりやすいです。それだけが目的であり、本当の技術的正確性なんて気にもしていません。例のクロージャの話でもなんでもそうです。とにかく歪曲して、私が間違っており、自分らのネガキャン目的の「訂正」のほうがまさに正しかったとか延々とゴネています。なんら整合性のないゴネぶりですが、とにかくそういう「印象操作」だけは余念がありません。ほんとは技術的に不正確でデタラメでもデマでも私の説明のほうががデマで、それを咎めている(つもりの勘違いした)Amazonレビューの「正しさ」が「証明」できればそれでいいみたいなんですね。

上記この層も、なんら具体的な技術の議論はしない(するように見せかけるが嘘を前提にしている)ので、「技術的正確性」の議論から厳密に排除しておくべきです。

中立あるいは味方と勘違いさせる形で、論外層と、対立論者と一緒になっている層

「技術的正確性」を論じる水準にないと本人が明言しているにも関わらず、なんとなく私の著書が「技術的正確性」に欠くという印象を後押しするだけで、「技術的正確性」については論じるつもりはなさそうな層。

『関数型プログラミングに目覚めた! IQ145の女子高校生の先輩から受けた特訓5日間 』の著者として、『数学ガール』の著者である結城 浩氏に申し上げます。本書のたいせつな潜在的読者の読書機会を奪わないでください。

という極めて属人的なエントリ記事が、また当ブログの他の非属人的エントリを押しのけて注目されましたが、勝手に注目した連中が「炎上マーケティング」だのまた中傷しているのはともかくとして、氏もそうですし、それ以外にも、なんとなく日和見だけれども、正確性はない、間違っているに違いないと、印象論で判断している層は結構多いようです。

この層も、自身「技術的正確性」を論じるではなく、無条件に信じる信じないのレベルに留まっているので、議論の相手からは除外します。

対立論者

基本的に、文責を伴う、氏名や社会的属性がある程度確認できる個人。
ある程度まとまった情報を発信しているのであれば、匿名であっても構いません。

ただし社会通念上、可能な限り、それなりに文責を取る形で論じるのがまっとうな作法であるのは言うまでもありません。

どこで議論すべきなのか?

私はこのブログで一貫して情報を発信します。

反論があるのであれば、同じ土俵でフェアにやってください。

そもそも論ですが、TwitterやらHatenaブックマークのコメント、2ちゃんスレッドの書捨てで、なんかワーワー言われても、情報として統合なんてされないし、こちらは知ったことではないのですよね。

ランダムでネット上のアイデンティティでさえ定かでない、一時的な書捨ての情報、たとえばTwitterのタイムラインやHanteのコメントでは、まとまった情報をトレースするのは極めて困難であるので、そういう断片的な情報は除外します。

あと、Amazonレビューをもって、議論を仕掛けらたら全面的に反論しますが、後述するとおり、間違っているとこちらが説明しても、やったらやりっぱなしであることはすでに証明されていることでしょう。これまでの状況の’推移より、上記に説明した単にネガキャンの一環と見做すのが妥当でしょう。それが「テロ行為」であり暴力とみなす読者も多いことはすでに説明しました。

当たり前のことで、念の為ですが、2ちゃんねるスレッドは論外です。最初から「そういう場所で、そういうことしかできない連中」による「そういうレス」なので、情報としてカウントしません。
くだらない、価値がない、いかなる「内輪の合意」がそこでなされようとも、そういう歪な合意は世論としてカウントすべきではありません。
どーせ頭数に任して、最後にレスしたものの印象操作で勝ち!みたいなことで、まともな人間であればあるほど、そういう場所から遠ざかるでしょうから、そういう場所の力学を心底理解しながら、そういう場所の力学をもって「勝った」と思っている愚者の行動は、あくまで愚者による結論であるので、論理的にカウントしません。
また、そういう歪な合意や風潮に左右されかねない良識もある一般の方々におかれましては、謹んでご注意申し上げておきます。

ボトムラインとしては、まとまった情報で、こちらに「わかるように」おねがいします。できたら、メールでお知らせいただければありがたいです。読者の方々もそういうまとまった情報があったらお知らせ願えれば、こちらから議論の対象としてカウントもできるのでよろしくお願いします。

何を議論するのか?技術論である

何を議論するのか?
もちろん技術論です。

技術論とは無関係な個人攻撃は厳密に排除します。

これは「権威主義」にも関わることですが、論者が誰であるか?
そういうのが心配で心配でたまらない人はこういう技術論には向いていません。
昨今、大阪で、長期的な地方統治と、ごく短期間の利害のみで判断した特定の層の有権者の影響が大きい残念な民主的な決定がなされましたが、政治家個人への感情論も、完全ではないが一番マシな民主主義の結果ではあるのでしょう。

しかし、これは技術論です。「感情論」「属人議論」「多数決」で決まる、民主主義の議論ではありません。

また、2ちゃんねるのレスや、Hanteブックマークのコメントは、民主主義ですらありません。ただの暴力です。

本書への「批判の仕方」は検証され、議論の対象となる

後述する項目も含め、「論者のスタンス」あるいは「論者の先入観」というのは議論の対象となります。

技術論とは無関係な個人攻撃は厳密に排除します。

と矛盾すると勘違いした人へ。

「批判の仕方」「論者のスタンス」あるいは「論者の先入観」を検証するというのは、あくまで議論のフェアネスを担保するために必要な作業であり、議論のフェアネスを最初から損なうのが第一の目的である不当な個人攻撃ではありません。

ちゃんと読んでるの?それってただの中傷でしょ?というのを批判的にフィルターアウトするのに必要な作業です。

その時彼と喫茶店にいたのですが、その30分くらいで大体内容は把握しました。
「内容を把握した」だけで、理解、共感は到底出来ません。
パラパラっと全体の構成を見ても、ラノベ→JavaScriptコード→ラノベ→宗教哲学→React→ラノベと、読み手としては何の本を読んでいるのかわからなくなり、表紙を見ると関数型プログラミングと書いてあり、更に「??????」となります。

という物言いなどは、検証します。

また、XXでXXなので、故にこの著者=岡部は、関数型プログラミングを理解していない、という物言いについても検証します。
このパターンは技術的議論を装った書評、レビューの中で巧妙に展開されているケースが多いです。結局それがやりたかったのだな・・・と馬脚を表すパターンです。

本書のラノベ、「ものがたり」自体の運びについての論評は技術論でないので厳密に排除するが、本書、技術の説明の構成、「読みやすさ」については解説書としての性格上重要なので、議論の対象とする

上記と関連します。
根本的なことですが「30分くらいで大体内容は把握しました。」という読み方を想定して400ページの本を書いたわけもありません。

本書で出現する、用語や言葉遣いは議論の対象となる

特に「論理」「論理の物質化」という言葉遣いなど。

Day1に出てくる「問題の論理」「論理操作」「論理構造」といったキーターム(らしきもの)の内実はさっぱりわかりません。特にどれも「論理」という語を含んでいる辺りが問題で、いったいこの3つに何か共通する要素としての「論理」なる何事かがあるのでしょうか?
そのような「論理」なるものの説明が与えられないままに、「問題の論理」「論理操作」「論理構造」といった表現を並べられても、関数プログラミングを関数プログラミングよりも不明瞭な何事かで説明しようという無益な試みになるしかない、というのがDay1についての率直な感想です。
また著者の主張をそのまま信ずるならば、現実に行われている関数プログラミングの多くが「ダサい」ものだという事になりますが、翻って、著者が「クールなコード」と認めるようなものでどれほどの関数プログラミングができるかは極めて疑わしいということになるでしょう。

これは、上記の、【本書への「批判の仕方」は検証され、議論の対象となる】や、【本書、技術の説明の構成、「読みやすさ」】と関連します。基本事実に基づかない中傷行為です。

以上のような中傷は結構頻繁になされており、まとめて明示的にリンクしながら、論証します。

技術における属人的な趣向は議論の対象となります。

技術にも、特にプログラミングの世界では「より好み」というのが存在し、特にプログラミング言語やパラダイム選択には、ある種の宗教的選択に似たものがあります。

プログラミングとは知的コミットメントであり、その世界を掘り下げるにはそれなりのリソースが必要です。これまで投入したリソースや構築したスキル、そしてキャリアに関わる、極めて「個人的に親密」な行為でもあります。

技術論には、技術にまつわる背景思想、設計思想、技術的パラダイムの世界観、哲学を含む

論点

議論がとめどなく発散しないように、本書が論じている範囲に限定しながら、論点をいくつか上げます。随時追加します。

JavaScriptを関数型プログラミング言語として使う是非について

なぜ関数型プログラミング本でHaskell, Erlang, Clojureなどの関数型言語を採用しなかったのか。
本書を手にする人達は、少なからず関数型言語に興味があり、まさかJavaScriptで関数型プログラミングやろうとなんて考えていないかと思います。

というトンデモ見解については、ここまであからさまなもの、よりオブラートに包んでいるが根本的に同様の勘違いをしているもの、
例えば

素人としては深入りを避けたいと思いますが、そうだとすればそもそもJavaScript選んじゃったのが関数プログラミングへの無理解を象徴的に示すものなのだということになるような気がします。)

とりあえず
「素人としては深入りを避けたい」
と言い訳しながら、
(著者の)「無理解を象徴的に示すもの」
と中傷するあたり、お里がしれます。

この類のそれこそ「関数型プログラミングへの無理解」による中傷が、非常に多いので反論というか、きちんと批判していきます。

関数型プログラミングとオブジェクト指向の関係性、マルチパラダイムなど

関数型プログラミングは、「理論」さえ語れば十分なのか?「世界観」「設計哲学」は不要なのか?

プログラミングと計算機理論、「実世界」と「時間」こそが本質的であることの哲学的考察

関数型プログラミングと、宣言型プログラミング、遅延評価、イベント駆動の関係 先行評価との対比

関数型プログラミングとGUIプログラミング、関数型リアクティブプログラミング(FRP)についての考察

クロージャとレキシカルスコープと関数型言語の関係性

以上の論点について、今後、本書への批判的記述についての反論記事を集中的にUPしていきます。

0 コメント:

コメントを投稿

Popular Posts