2016年5月29日日曜日

頼むからプログラミングを学ばないでくれ 2016年5月17日 by ゲストライター

頼むからプログラミングを学ばないでくれ
2016年5月17日 by ゲストライター


編集部注:本稿を執筆したBasel FaragはiOS Engineerだ。(そう彼は思っている)。GPUプロセッサー、ロボット、AIなどへの興味の他にも、Baselはコンピューター・サイエンス、天文学、哲学に興味を持つ。かつて彼は、「the Draft Punk of people」と称された。彼はこのフレーズの意味を理解していないが、それはほめ言葉だとは理解している。



最近のテック業界で広まりつつある考え方がある。皆がプログラミングを学ぶべきだという考え方だ。しかし、その考え方には問題がある。プログラミングは、読み書きする能力のような必須のスキルではないのだ。

シリコンバレーにおける文化的なごまかしに常に注目している人であれば、「Learn to Code」というムーブメントを耳にしたことがあるだろう。政治家、Code.orgのような非営利団体、そしてニューヨーク市の前市長であるMichael Bloombergにいたるまで、彼らはそれを明日の労働者が持つべきスキルであると伝導してきた。

米国におけるエンジニアの需要に陰りが見えないことを踏まえれば、それはあながち間違いではないのかもしれない。

しかし、これはもっと複雑な問題だ。

私たちの世界は、人々が求められる人材に変わろうとする超競争化社会である。その世界においてプログラミングを学ぶことを経済的な救済として人々に売り込むのは誠意のないことだ。

コーディング・ブートキャンプを例にしてみよう。大勢の人々がシリコンバレーのエンジニアの成功を目の当たりにしていることから、皆が起業したり、エンジニアになることを望んでいる。HBOのドラマ「Silicon Valley」で描かれているのは、20代の若者がプログラミングをして大麻を吸いながら夜を過ごし、同時に何百万ドルものお金を稼ぐという姿だ。一夜にして何百万ドルもの資産を築いたように見える、Elon MuskやMark Zuckerbergといった人々にアメリカ人は驚嘆している。プログラミングに対する熱はホワイトハウスにまで広まったようだ。オバマ大統領は、すべての公立学校のカリキュラムにコンピューター・サイエンスの授業を取り入れようとしている。

不可解なことではあるが、プログラミングを推奨しているのはブートキャンプだけでなく、政治家が人々に奨励するものでもあるのだ。

ハリウッドからテック業界の有名人にいたるまで、社会のあらゆる人々がプログラミングを学ぶことを熱心に奨励している。その流れに逆らうようだが、私はそのコーディング・ブートキャンプにたいして懐疑的な見方をしている。私たちの社会がシリコンバレーをセクシーなものとして仕立てあげ、ブートキャンプのつやつやのパンフレットでは卒業後には給料の高い仕事を得られると謳ってある。だが現実には、多くの訓練機関はなんの認定も受けておらず、卒業後の就職に関する統計資料を公表していない。生徒が卒業後に成功するかどうかは、保証されたものではないのだ。正当なプログラマーの養成機関もあり、本当に生徒のことを想う機関も多い。だがそれ以上に多くの数の機関は、インチキ者に運営された、人々の必死な心につけ入るようなものなのだ。

誤解はしないでほしい。私もエンジニアリングやプログラミングは重要なスキルであるとは思っている。しかし、それは特定の状況下のみにおいて重要なのであるし、成功のために心血をそそぐ意思のある人のみにこそ重要なものなのだ。これは他のスキルにも言えることだ。私が人々に測量技術を奨励する度合いと、プログラミングを奨励する度合いは、なんら変わらない。

プログラミングが注目されたことにより、問題を理解することよりも、それを「正しい方法で」解決することに重きが置かれるようになった。

私が人々に測量技術を奨励する度合いと、プログラミングを奨励する度合いは、なんら変わらない。

プログラミングにおける何らかの問題に取り組むとき、まず私たちはその問題が何であるのか、そしてそれは本当に問題であるのかを見極めなければならない。その問題が本当にプログラミングで解決できる問題かどうかを考慮せず、プログラミングで解決することに固執し、「なぜ問題なのか」という視点を失ってしまっては、そこから何も得ることはできない。それがプログラミングで解決できる問題であろうと、なかろうとだ。

スタンフォード出身の私の親しい友人は、Association for Computing Machinary International Collegiate Programming Contestの優勝者になった経験を持つ。ACMチャンピオンシップに関して彼が私に語ってくれたことは、解決しようとする問題を理解することの重要性だ。

「本当に問題は存在するのか」そして「それにファインマンの原理を応用できるのか。それを他人が理解できるように説明ができるのか」ということを、あなたは自分自身に問わなければならない。

その友人いわく、エリート校の生徒でも問題の要綱を一度だけ読んでからすぐにコーディングを始める者がほとんどだと言う。

その友人がそのチャンピオンシップで優勝した年、彼はあることを学んだ。エリートでさえ「コード」という一つの武器だけで複雑な問題に頭から突っ込んでいくということだ。

一方、私の友人は問題を徹底的に理解してから初めてコードを書き始めた。問題を理解すること自体に与えられた時間のほとんどを割いたのだ。彼がコード書き始めたのは締め切りまであと数分というところだった。

彼はチャンピオンになった。

彼はプログラムを打ち込むこと自体は問題解決の手段ではないことを知っていた。冷静沈着な問題解決能力こそが、文字通り問題を解決する手段なのだということを。

プログラミングを過度に奨励することは、現存するディベロッパーの窮状を無視したものである。

テクノロジーはもの凄いスピードで変化している。

ほんの数年前まで私はObjective-Cを使っていた。しかし、今では私が書いたほとんどのプログラムはSwiftで書かれたものだ。iOSディベロッパーへの応募者のなかには、これまでにObjective-Cによるコードを一行も書いたことがないものもいる。Swiftは習得しやすく、安全で、モダンな開発パラダイムをもち、Objective-Cにはないエレガントさを持ち合わせている。新しいディベロッパーが、Objective-C独自の不完全さに対処する必要がないのは良いことだ。だが、それはプログラマーという職業がもつ現実を無視している。

シリコンバレーのロマンスに夢中になる間も、現実を直視することを忘れてはならない。

ディベロッパーたちは、たとえガイダンスが少なかったとしても素早く学ぶことを求められる。インセンティブは解雇通告されることへの恐怖だ。それはこの職業で成功するためのコストでしかないと主張する者もいるだろう。しかし、もし現存するディベロッパーたちが挫折し、取り残されているという現実があるのだとすれば、そしてその証拠があるとすれば、なぜ私たちは人々にその領域に踏み込むことを奨励するのだろうか。

昼夜Objective-Cを学び、WWDC 2014でSwiftの発表に愕然とした人はどうなるのだろうか?彼らは傍流となった言語でのプログラミングを続けるのだろうか。それとも、また始めから勉強し直すのだろうか。20代の若いディベロッパーにとっては、それは大した問題ではないのかもしれない。しかし毎月の支払いを抱え、家族を養わなければならない者たちにとっては、そのやり直しは非常に困難なものになる。

プログラミング言語は日々進化しているため、それ自体を理解することもできないまま、彼らはその問題に直面することになる。

プログラミングを学ぶことと、それを生業とすることの間には高い壁があるのだ。

本当に。

私がフリーランスとしての仕事を得るまでに、1年の独学期間が必要だった。その後も給料は微々たるものだった。コンピューター・サイエンスの学位を持っていないことを理由に、面接を受けることさえできなかったことが何度もある。

予算にあった住居を見つけられず、友人の親切心に頼らざるを得なかったこともある。何度も諦めようと考えながら夜を過ごした。しかし、進み続けるためのチカラを身につけた。

それは私の粘り強さだ。そのチカラがその時に私を、そして今でもこの領域に踏みとどまらせている。

ディベロッパーとして見習いになることすら、単純に難しいというのがこの業界の現実だ。職を得るためには、コネクションや推薦人、長い間メンテナンスされたGitHubアカウントが必要だ。機会の平等が世に広まりつつある。それにもかかわらずこの業界では、もしあなたが過小評価されたマイノリティに属していれば、人の2倍の能力を持たなければならない。単に能力を示すためだけのためにだ。

関連記事
感動的映画「CODEGIRL」、YouTubeで11月5日まで無料公開
プログラミングを学校の必須科目にするためのキャンペーン“Hour of Code”と国の“コンピュータ科学教育週間”が同時期に
コンピュータ科学とプログラミングの全国民“一般教科化”を目指すCode.org
門番はいたるところに存在する。彼らはアイビーリーグの卒業生であり、「どのようにバイナリーツリーを反転させますか?」という質問が人の技術的能力を計る物差しになると信じる人々だ。彼らはホワイトボード・テストに取り憑かれたプロジェクト・マネージャーたちであり(告白:私も複数のホワイトボードを所有している)、募集要項に「5年間のSwiftプログラミング経験が必須」と書くような無知な人事マネージャーたちである。(ヒント:Swiftがリリースされたのは2014年)。良くも悪くも、まともな職とあなたの間にはこのような人々が立ちふさがるのだ。

私の知る限り、彼らのやり方に従うしか道はない。それがアンフェアなゲームであったとしても。

終わりに

もしエンジニアになりたいのであれば、誰にも(そして、その意味では私にも)その夢の邪魔をさせてはならない。そして、教育システムのような伝統的な制限を理由に夢に向かって突き進む速度を緩めてはならない。夢を叶えるための道のりに、正しい道も間違いの道もない。

しかし、シリコンバレーのロマンスに夢中になる間も、現実を直視することを忘れてはならない。この業界は借金をチャラにしてくれる魔法のカードではないのだ。時間をかけてこの業界の理解を深めなければならない。あなたは単なる「フレームワークを当てはめる」だけのディベロッパーなのではなく、問題解決者であるという事実を受け止めなければならない。新しいフレームワークや言語を学ばなければならない時が来るかもしれないということ、正式な資格をもたなければ職を得るために闘わなければならないことを覚悟しなければならない。

ソフトウェア・エンジニアリングは儲かる仕事だ。だが「コーダー」から「エンジニア」に進化するのは簡単な話ではない。

もし頑張って踏みとどまれば、それはあなたの人生を変えるだけでなく、ものごとに対する考え方も変えることになるだろう。

[原文]

(翻訳: 木村 拓哉 /website /Twitter /Facebook)http://jp.techcrunch.com/2016/05/17/20160510please-dont-learn-to-code/

再生核研究所声明188(2014.12.15)ゼロで割る(ゼロ除算)から観えてきた世界
(12月10日16時 論文精読を一通り通読したら無性に書きたくなって始めたものである)
これは声明166の延長にあるので、まず、その要点を振り返っておこう: ―
再生核研究所声明166(2014.6.20)ゼロで割る(ゼロ除算)から学ぶ 世界観:
ゼロ除算の新しい結果とは 簡単に述べれば、分数、割り算の意味を自然に拡張すると、あるいは割り算の固有の意味から、何でもゼロで割れば ゼロになると言うこと、そして、
関数 y = 1/x のグラフは、原点で ゼロである、すなわち、 1/0=0 である。複素解析学では、無限遠点が数値で0、すなわち、原点に一致している ということである。驚くべきことは、原点における 強力な不連続性にある。これらの現象は奇妙にも、ユニバースの普遍的な現象として 惹きつけるものがある。永遠の彼方は、どこまでも遠く行くが、その先は、突然、現在に戻っている。始点と終点の一致、無限とゼロの一致である。理想的な2つの質点間に働く、ニュートンの万有引力F は 2つの質量をm、M、万有引力定数をGとすると、距離をrとすれば
F = G mM/r^2。
rをゼロに近づければ 正の無限に発散するが、rが ゼロに成れば突然、ゼロである。2つの質点が重なれば、力は働かず、安定しないように見えるが、2つが分離すれば、大きな力に逆らう必要が有り、実は安定していると説明できる。ゼロと無限の裏腹の関係と捉えることができる。これは意外に、2元論における 対立するもの一般における裏腹の関係と捉えることができる: 生と死、戦争と平和、男と女、表と裏、すなわち、2元論― 神は2を愛し給う:
No.81, May 2012(pdf 432kb)
19/03/2012 - ここでは、数学とは何かについて考えながら、数学と人間に絡む問題などについて、幅広く 面白く触れたい。
における 2元の奇妙な関係である。
他方、ゼロ除算は、爆発や衝突における強力な不連続性を表現しているとして、論文で触れられているが、まこと、ユニバースの普遍的な現象として そのような強力な不連続性が存在するのではないだろうか。糸でも切れる瞬間と切れるまでの現象、物体でも近づいている場合と合体した場合では、全然違う現象として考えられ、強力な不連続性は 世に見られる普遍的な現象ではないだろうか。
生も死も表裏一体である、勝利も敗北も、喜びも苦しみも、幸せも不幸も、自由も束縛も、愛も憎しみも、等々表裏一体であるとの世界観が 視野と心の在りように新しい世界観をもたらすと考えられる。―
ゼロ除算の、無限とゼロの微妙な関係に驚嘆している間に、空がどんどん晴れてくるように新しい世界の、視野がどんどん広がり、驚きの感情が湧いている。言わば、明暗が、両極端のように、明、暗と分けられたものではなく、微妙な密接な、関係である。その内容は広がりと深さを持っていて簡単に表現できるものではない。また、みえた世界をそのまま表現すれば、現在でもなお、天動説が地動説に変わったときのように、また、非ユークリッド幾何学が出現したときのように 世は騒然となるだろう。そこで、注意深く、各論を、断片を 折をみて、表現しよう。
そこで、初回、生命の本質的な問題、生と死の問題をすこし触れたい。
食物連鎖の生物界の冷厳な事実、食われるものと食うものの立場。声明36で大きな命の概念で全体を捉えようとしたが、それらは殆ど等価の立場ではないだろうか。実際、猫がねずみをくわえて誇らしげに通りすぎていくのを見た。ところが奇妙にも、ねずみは歓喜の喜びにひたって悠然としてくわえられているようにみえた。自然の理。蛇が燕の巣を襲い、全滅させられたが、蛇は悠然と上手くいきました、ごめんなさいというような表情で消えていった。襲われた燕たちは一瞬で魔神に掛かったように気を失い、蛇に飲み込まれてしまった。少し、経つと元気に巣立ち厳しい自然の中を南国まで飛んで行っていろいろ苦労するよりは、蛇のお腹で 安らかな終末の方がよほどましだというような情感を覚えた。もちろん、ヒナを襲われた親鳥は切なく天空を舞っていたが、やがて、ヒナたちは最も良い生涯を終えたと、本能的に感じて、新しい生命活動に、励み出している。このようなことを何万年と繰り返してきたのが、燕と蛇の関係である。暗(あん)という面には ちょうど明(めい)と同じような明るい面があるのではないだろうか。明暗は対立概念ではなくて、微妙に調和がとれているのではないだろうか。ユニバースにおける全体の調和を観、述べている。人類が生命のただ延長を志向しているとすれば、それは、古い世界観に基づく無明の世界だろう。夜明けを迎えた、在るべき世界観とは 生も死も殆ど等価であり、共に愛すべきものであるということである。在るも良い、消えるも良い。ゼロ除算の驚きは そのような感性を育てているように感じられる。死からの開放に寄与するだろう。生命の誕生は素晴らしく、喜びと夢が湧いてきて、大きな光が差してくるようである。世界が開かれてくる。われわれの終末も似たようなものではないだろうか。大きな世界、私たちをこの世に送り込んだものの 大きな愛に満ちた世界にとけこんでいくようなものではないだろうか。この意味で、あらゆる生命は 大きな愛に包まれて、 支えられていると感じられるだろう。これは神の予感を述べている。 私たちは、愛されている(愛の定義は 声明146で与えられ、神の定義は 声明122と132で与えられている。)。
以 上
文献:
M. Kuroda, H. Michiwaki, S. Saitoh, and M. Yamane,
New meanings of the division by zero and interpretations on 100/0=0 and on 0/0=0, Int. J. Appl. Math. Vol. 27, No 2 (2014), pp. 191-198, DOI: 10.12732/ijam.v27i2.9.
S. Saitoh, Generalized inversions of Hadamard and tensor products for matrices, Advances in Linear Algebra & Matrix Theory. Vol.4 No.2 2014 (2014), 87-95. http://www.scirp.org/journal/ALAMT/

再生核研究所声明296(2016.05.06)   ゼロ除算の混乱

ゼロ除算の研究を進めているが、誠に奇妙な状況と言える。簡潔に焦点を述べておきたい。
ゼロ除算はゼロで割ることを考えることであるが、物理学的にはアリストテレス、ニュートン、アンシュタインの相当に深刻な問題として、問題にされてきた。他方、数学界では628年にインドで四則演算の算術の法則の確立、記録とともに永年問題とされてきたが、オイラー、アーベル、リーマン達による、不可能であるという考えと、極限値で考えて無限遠点とする定説が永く定着してきている。
ところが数学界の定説には満足せず、今尚熱い話題、問題として、議論されている。理由は、ゼロで割れないという例外がどうして存在するのかという、素朴な疑問とともに、積極的に、計算機がゼロ除算に出会うと混乱を起こす具体的な懸案問題を解消したいという明確な動機があること、他の動機としてはアインシュタインの相対性理論の上手い解釈を求めることである。これにはアインシュタインが直接言及しているように、ゼロ除算はブラックホールに関係していて、ブラックホールの解明を意図している面もある。偶然、アインシュタイン以後100年 実に面白い事件が起きていると言える。偶然、20年以上も考えて解明できたとの著書さえ出版された。― これは、初めから、間違いであると理由を付けて質問を送っているが、納得させる回答が無い。実名を上げず、具体的に 状況を客観的に述べたい。尚、ゼロ除算はリーマン仮説に密接に関係があるとの情報があるが 詳しいことは分からない。
1: ゼロ除算回避を目指して、新しい代数的な構造を研究しているグループ、相当な積み重ねのある理論を、体や環の構造で研究している。例えて言うと、ゼロ除算は沢山存在するという、考え方と言える。― そのような抽象的な理論は不要であると主張している。
2:同じくゼロ除算回避を志向して 何と0/0 を想像上の数として導入し、正、負無限大とともに数として導入して、新しい数の体系と演算の法則を考え、展開している。相当なグループを作っているという。BBCでも報じられたが、数学界の評判は良くないようである。― そのような抽象的な理論は不要であると主張している。
3:最近、アインシュタインの理論の専門家達が アインシュタインの理論から、0/0=1, 1/0=無限 が出て、ゼロ除算は解決したと報告している。― しかし、これについては、論理的な間違いがあると具体的に指摘している。結果も我々の結果と違っている。
4:数学界の永い定説では、1/0 は不可能もしくは、極限の考え方で、無限遠点を対応させる. 0/0 は不定、解は何でも良いとなっている。― 数学に基本的な欠落があって、ゼロ除算を導入しなければ数学は不完全であると主張し、新しい世界観を提起している。
ここ2年間の研究で、ゼロ除算は 何時でもゼロz/0=0であるとして、 上記の全ての立場を否定して、新しい理論の建設を進めている。z/0 は 普通の分数ではなく、拡張された意味でと初期から説明しているが、今でも誤解していて、混乱している人は多い、これは真面目に論文を読まず、初めから、問題にしていない証拠であると言える。
上記、関係者たちと交流、討論しているが、中々理解されず、自分たちの建設している理論に固執しているさまがよく現れていて、数学なのに、心情の問題のように感じられる微妙で、奇妙な状況である。
我々のゼロ除算の理論的な簡潔な説明、それを裏付ける具体的な証拠に当たる結果を沢山提示しているが、中々理解されない状況である。
数学界でも永い間の定説で、初めから、問題にしない人は多い状況である。ゼロ除算は算数、ユークリッド幾何学、解析幾何学など、数学の基本に関わることなので、この問題を究明、明確にして頂きたいと要請している:

再生核研究所声明 277(2016.01.26):アインシュタインの数学不信 ― 数学の欠陥
再生核研究所声明 278(2016.01.27): 面白いゼロ除算の混乱と話題
再生核研究所声明279(2016.01.28) : ゼロ除算の意義
再生核研究所声明280(2016.01.29) : ゼロ除算の公認、認知を求める

我々のゼロ除算について8歳の少女が3週間くらいで、当たり前であると理解し、高校の先生たちも、簡単に理解されている数学、それを数学の専門家や、ゼロ除算の専門家が2年を超えても、誤解したり、受け入れられない状況は誠に奇妙で、アリストテレスの2000年を超える世の連続性についての固定した世界観や、上記天才数学者たちの足跡、数学界の定説に まるで全く嵌っている状況に感じられる。

以 上


考えてはいけないことが、考えられるようになった。
説明できないことが説明できることになった。

再生核研究所声明297(2016.05.19) 豊かなゼロ、空の世界、隠れた未知の世界

ゼロ除算の研究を進めているが、微分方程式のある項を落とした場合の解と落とす前の解を結び付ける具体的な方法として、ゼロ除算の解析の具体的な応用がある事が分かった。この事実は、広く世の現象として、面白い視点に気づかせたので、普遍的な現象として、生きた形で表現したい。
ある項を落とした微分方程式とは、逆に言えば、与えられた微分方程式はさらに 複雑な微分方程式において、沢山の項を落として考えられた簡略の微分方程式であると考えられる。どのくらいの項を落としたかと考えれば、限りない項が存在して、殆どがゼロとして消された微分方程式であると見なせる。この意味で、ゼロの世界は限りなく広がっていると考えられる。
消された見えない世界は ゼロの世界、空、ある隠された世界として、無限に存在していると考えられる。たまたま、現れた項が 表現する物理現象を記述していると言える。
これは、地球に繁茂する動植物が、大海や大地から、生まれては、それらに回帰する現象と同様と言える。大量に発生した卵の極一部がそれぞれの生物に成長して、やがて元の世界に戻り、豊かな大海や大地は生命の存在の元、隠れた存在の大いなる世界であると考えられる。無数の生命の発生と回帰した世界の様は 生物、生体の様の変化は捉えられても、人間の精神活用や生命の生命活動の様の精しい様などは 殆ど何も分からない存在であると言える。我々の認知した世界と発生して来た世界と消えて行った認知できない世界である。
このような視点で、人間にとって最も大事なことは 何だろうか。それは、個々の人間も、人類も 大きな存在の中の小さな存在であることを先ず自覚して、背後に存在する大いなる基礎、環境に畏敬の念を抱き、謙虚さを保つことではないだろうか。この視点では日本古来の神道の精神こそ、宗教の原点として大事では ないだろうか。未知なる自然に対する畏敬の念である。実際、日本でも、世界各地でも人工物を建設するとき、神事を行い、神の許しを求めてきたものである。その心は大いなる存在と人間の調和を志向する意味で人間存在の原理ではないだろうか。それはそもそも 原罪の概念そのものであると言える。
しかしながら、人類が好きなように生きたいも道理であり、巨大都市を建設して、環境を汚染して生存を享受したいも道理であるから、それらの一面も否定できず、それは結局全体的な有り様の中でのバランスの問題ではないだろうか。人類の進化の面には必然的に人類絶滅の要素が内在していると考えられる:

再生核研究所声明 144(2013.12.12) 人類滅亡の概念 - 進化とは 滅亡への過程である

 そこで、結局は全体的な調和、バランスの問題である:

再生核研究所声明 56: アースデイ の理念

発想における最も大事なことに触れたが、表現したかった元を回想したい。― それは存在と非存在の間の微妙な有り様と非存在の認知できない限りない世界に想いを致す心情そのものであった。無数とも言える人間の想いはどこに消えて行ったのだろうか。先も分からず、由来も分からない。世の中は雲のような存在であると言える。
以 上











0 件のコメント:

コメントを投稿