前回の続きです。
『関数型プログラミングに目覚めた!』のレビュー(Day-1)というのは、
@nonstarter
http://qiita.com/nonstarter
という素人かつ大学関係者を自称しながら、
言論人として文責をまったく負わずに済む、
素性のしれない匿名のQiita捨てアカウントによる、
書捨て記事であり、
「批判のための批判記事」です。
「レビュー」などと称していますが、対象となる書籍の良い部分は一切書いておらず、とにかく徹頭徹尾、揚げ足取り、歪曲捏造しているので、「批判のための批判記事」であることが露骨にあらわれてしまっていますが、本人はそのことに露ほども自覚がないのでしょう。
これから、記事をわけて、住井 英二郎@esumiiさんとか、らくだの卯之助@camloebaさんに聞きたいのだけど、そもそも貴方たちはOCamlでデスクトップアプリ書けるんですか?への「回答」の精査と、この
『関数型プログラミングに目覚めた!』のレビュー(Day-1)
シリーズによる本書への批判のための批判を精査していきます。
プログラミングの世界的潮流と机上の空論としての関数型プログラミング②「素人としては深入りを避けたいと思いますが、そうだとすればそもそもJavaScript選んじゃったのが関数プログラミングへの無理解を象徴的に示すものなのだということになるような気がします。」
いくら、「素人としては深入りを避けたい」と前置きをしていたとしても、
「そもそもJavaScript選んじゃったのが関数プログラミングへの無理解を象徴的に示すものなのだということになるような気がします。」
という発言の「無理解」ぶり、門外漢ぶりは苦笑レベルですが、実際、こういう門外漢が、訳知り顔として、本書や私の「無理解を象徴的に示す」とか、書き連ねているのが通常です。
プログラミングの世界的潮流と机上の空論としての関数型プログラミング、をテーマとして、投げかけたのが実は、
住井 英二郎@esumiiさんとか、らくだの卯之助@camloebaさんに聞きたいのだけど、そもそも貴方たちはOCamlでデスクトップアプリ書けるんですか?
であったわけですが、皮肉なことに、この回答(エアリプライ)自体も、この問題としている批判のための批判記事に追記、コメントされているので、まとめて扱えるのは好都合です。
- React.jsは業務レベルで使えるのか? 実践的利用について解説
- React.jsのボタンの作成方法 ECショッピングサイトのカートの場合
- React-Bootstrap React.jsフロントエンドのための再構築されたテンプレート
と、まとめてトリロジー(ということにしておく)記事を、直近で書いてUPしましたが、この辺が、今現在の世界で、リアルタイムで怒涛の勢いで関数型プログラミング界隈で起こっていることです。
JavaScriptが、今一番、関数型プログラミングでアツい!というような状況であり、
名前の通り、Reactの
1.FunctionalReactiveProgramming
2.コンポーネント指向
の急速で圧倒的な普及により、プログラマの知的需要とすれば、JavaScriptベースの関数型プログラミングを習得したいわけです。
プログラミングの世界的潮流、主流は、言うまでもなくWeb、クラウドであるわけですが、「机上の空論」ではない関数型プログラミングも、Web、クラウドにあります。
住井 英二郎@esumiiさんとか、らくだの卯之助@camloebaさんに聞きたいのだけど、そもそも貴方たちはOCamlでデスクトップアプリ書けるんですか?って書いたのは、そういう背景があるわけです。
あんたら、広く一般の開発者が、最終的に使えない机上の空論こねくり回してるだけじゃないのですか?と。
信じてついていったら、最後、本当に何かいいモノがもらえるのですか?と実利的に質問したわけですね。
多くのプログラマはもちろん純粋な知的好奇心や学術性もあるけれど、ほとんどのプログラマは最終的な実利も求めるから。
そもそも関数型プログラミングがこれまでたいしてメインストリームとして普及しなかった理由はその辺にあります。「関数型プログラミングは理論先行で実用的ではない。」と。
昨今になって急に注目されはじめたのは、実用的になりうると認知されはじめてきたからです。
そして、この点、Webのデファクト言語であるJavaScriptの功績が多大であるのは言うまでもありません。
また、クラウドコンピューティングの最大手であるAWS - Amazon Web Servicesでは、本書にも書きましたが、関数型クラウドのAmazonLambdaを最近リリースしました。
AWSコンソールにログインすると、AWSの代名詞EC2に続いて、左上2番めにメニューがある、今AWSイチオシのクラウドサービスです。
関数型クラウドのAmazonLambdaに使われている言語はなにか?
もちろんWebデファクト言語のJavaScriptであり、node.jsです。
この、@nonstarterとかいう捨て垢の人物はそんな知的素養もなく、いや失礼、少なくとも、批判のための批判の対象の本書を読んだから、その程度の「世界的潮流」は学習できているはずですが、その上で、
「そもそもJavaScript選んじゃったのが関数プログラミングへの無理解を象徴的に示すものなのだということになるような気がします。」
と他者の「無理解」を象徴的に示す、とか、自らの愚かさをもって人を愚か者扱いにするという最低の行為をしているわけです。
GitHubやStackOverflowでの人気言語ランキング–Swiftが20位圏外で大躍進
産業調査会社のRedMonkが、2015年1月版のプログラミング言語ランキングを発表した。これはGitHubでの各言語の使用率と、プログラマー向けQ&AサイトのStack Overflowでの発言量を元に作られたもので、2010年から定期的に発表されている。
2つの統計の相関を示すグラフと、各言語のランキングは以下の通りだ。
順位
1 JavaScript
2 Java
3 PHP
4 Python
5 C#
5 C++
5 Ruby
8 CSS
9 C
10 Objective-C
11 Perl
11 Shell
13 R
14 Scala
15 Haskell
16 Matlab
17 Go
17 Visual Basic
19 Clojure
19 Groovy
(同率順位はアルファベット順)
「机上の空論」ではない、
1. 実用的で洗練されたコンポーネント指向+FRPのWebアプリの実装であるFacebookのReact、
2. AmazonのクラウドサービスLambda、
関数型プログラミング言語としては人気実力ともに、JavaScriptは他を圧倒している状況であり、正直、誰も上記ランキング圏外のOCamlなんかで関数型プログラミング学びたいなんて思っていないわけですよ。
JavaScript言語における関数型プログラミング、特に、FRP、コンポーネント指向の実用的な関数型プログラミングの知識こそが広く多くの技術者、開発者が求める情報であり、私はその知識の基盤を提供できるから、本を書いた、そういうことです。
気力が尽きたので、Day3で本書のレビューは終了です。
研究関連の本1冊余裕で読めるくらいの時間を浪費した気がするのでもうやりません。
あとは誰か他の人がやってくだされば幸いです。
などと書いていますが、実際この人その辺りの本当に必要とされる知識、FRPやReactコンポーネント指向のことなんて何も知らないから、トピックに追随できなかっただけでしょう。
それも「おいおい、なんで一番大事なところの論評を君たちしないんだい?注意深く逃げているよね?」と欺瞞が明らかだったので、
住井 英二郎@esumiiさんとか、らくだの卯之助@camloebaさんに聞きたいのだけど、そもそも貴方たちはOCamlでデスクトップアプリ書けるんですか?って書きました。
長くなったので、次、この「お返事」について記事わけます。
0 コメント:
コメントを投稿