« 主格の助詞「が」と「の」 | トップページ | コミュニケーションで蘇生した会社 »

2014年2月 4日 (火)

プログラミングに関する12の予言

この記事は良い記事なので、ここで共有しておきたい。若干、反論したい部分もあるが、だいたい今日~近未来の状況を適切にとらえている※。関連してこの記事も。

※: 日本語訳(iris60氏提供)が、この記事のコメント部分にあります。

●ずいぶん前に、節分という行事を批判したにもかかわらず、相変わらず各地で行われているようだ。他者不在(コミュニケーション不能の根因)はまだまだ広範囲に蔓延している。バカ総理たちを軸とする政治や外交においても、根深く蔓延しているのは、本当にやばいと思うけど、有権者はまたまた、彼らゾンビ(骨董品)政治家を当選させてしまうのだろう。

ところで、3.11の惨事は、これまた、先祖の教訓を現世代が完全無視したことから起きているのだ。自業自得。次は、自然災害ではなく巨大な外交(と教育の失敗)災害が、再び日本人を見舞うだろう。ほんと、大馬鹿だね、教科書に日本領土を明記させる、なんて…。せめて、沖縄に再び過重な軍事負荷をかけるのだけは、やめるべきだ。最低限の節操として。

ところで、分かってる人にはわざわざ書く必要もないことだが、「結婚は悪である」に、重要な補遺を書いておきたい:

恋愛は悪である


排他的人間関係の典型だから


※排他的==un-communicational

排他性独占性を弱い幼女相手に手っ取り早く実現しようとしたり、あるいは「オレの女」という、まるで所有物的な普遍コーパス。…オトコという悪質な下等動物を、なんとか早期に完全駆除しなくちゃ。


|

« 主格の助詞「が」と「の」 | トップページ | コミュニケーションで蘇生した会社 »

コメント

他者不在でも生きて行ける(と言う思い込み)が問題です。

自己の生からしてが他者なのに・・・。

投稿: 南 | 2014年2月 4日 (火) 08時47分

家事の合間に(笑)ポツリポツリと訳したので一週間近くかかってしまいました。誤訳ご指摘いただければ幸甚です。(長いので3分割)

2014年2月3日
プログラミングの未来に関する12の予言

デベロッパ達が次の5年間に追求すべき企図と開発がどのようなものか、コーディングの未来を見通す水晶玉を覗いてみよう。
ピーター・ウェイナー/InfoWorld

ターゲットに命中させることは難しい。動くとなればなおさらだ。となれば、ターゲットが動くにつれてその形も性質も変化している時に、新たなヒット・テクノロジーを生み出すのはほとんど不可能に近い。考えてもみよ。ラップトップが廃れ始めている時に洒落たラップトップを作ったり、スマホが頭打ちになってきている時にモバイル用のマスト・アプリを考えたり、ウェアラブルの時代が来ようとしているのに強力なタブレット端末を考案したり…。(こうした努力は皆すでに時機を逸してしまっているのだ。)

テクノロジーのトレンドが急速に変化することは疑いなく、開発ツールは常に進化し続ける。しかし、時には顔を上げて次年度のプロジェクトを見通したほうが良いこともあるのだ。さもないとあなたはご自分の書いたコーディングで墓穴を掘ることになるだろう。
(中略)

目にもとまらぬ速さで空を飛び行く未来に備えるか、少なくともそれについて考え始める助けとして、今後5年以内にプログラミングがどう変貌しているかについて12の予言をまとめた。我々の水晶玉はきわめて主観的で、以下の推測のうち幾つかは普遍的でないかもしれない。ある予言は5年では完全には実現しないかもしれないが、他の予言は、単に確立されたとかよく知られたという意味でなく、すでに的中しつつあり、実現はかなり早いだろう。またある予言は、プログラマー達が異なる道を進むことによって半分しか実現しないかもしれないし、ある予言はまったく外れるかもしれない。

こうしたすべての警告にもかかわらず、これから述べることは大筋において正しいはずである。未来は我々が考えるより速く変化するのだから、速やかに読むべし。

予言(1)
GPUがCPUに取って替わる

人々が自分のコンピュータに実装されたCPUについて自慢げに話した日々を思い出せるだろうか? 今や最高のCPUでも200ドルかそこらだが、いけてるグラフィック・カードは常に500〜600ドルか、もっとする。ゲーマー達は、彼らのCPUではなくグラフィック・カードの能力を自慢の種にするのだ。そしてこれがマーケットを主導している。

このことはゲーム以外の分野にもゆっくりと浸透する。ますます多くのソフトウェアがGPUを使うようになる。本当のところ、こうした初期の進出の幾つかは本質的にグラフィカルなものだ。Webブラウザの働きしかり。しかし我々は次第に、魅力的な画像を描くこととは無関係なアプリケーションをすら、並行的なGPUのアーキテクチャ向けにリライトされたものとみなすようになる。物理学者はGPUで物質を探究し、化学者はGPUで化学反応を研究する。天文学者はグラフィック・カードで銀河をシミュレートし、生物学者は個体数研究のためにGPUで統計を処理する。私はと言えばここ1年間ほど、GPUでビットコインを採掘することでオフィスを暖めてきた。

こうした傾向はますます拡がってゆくだろう。やがて優秀なコンパイラ自らコードを書き、いつそれをGPU上でうまく走らせることができるかコンパイラ自身が判断することが可能になる。学術的なツールではすでに限定されたレベルで可能になっているが、こうしたことが、誰もが容易にあらゆるプロジェクトで利用できるようになるにつれ、ますますポピュラーになるだろう。

あなたのビットコインをごの予言の成就に賭けなさい。

投稿: iris60 | 2014年2月 8日 (土) 22時46分

予言(2)
データベースはますますソフィスティケイトされた分析をおこなう

プログラマー達が、ひとたびデータベースと呼ばれるものにデータのコントロールを譲るや否や、彼らはプログラマーであることをやめ、データベース・ユーザーになる。これは悪いことではない。つまるところ、データベースは人間のプログラマーが作ることのできるどんなものより効率的にデータを扱うことができるよう工夫されているからだ。締切がタイトである時はなおさらだ。データベースはまた(通常)、極めて効率的にRAMを用い、メモリの階層をやり繰りする。データベースに数値をを出力し処理させるのは、得てしてデータ処理の最も知的とは言えないソリューションだが、それでも、データベースが時とともにみずからより知的に進化するにつれて、次第に知的なデータ処理になっていくのである。

だからこれからのデータベースは、単なるデータ集積所以上のものになる。多くのデータベース・システムはすでに「ビジネス情報」として知られる洗練されたリポート・エンジンを持っている。こうした付加機能はますます強力になり、より洗練されたアルゴリズムでデータ処理をおこない、データに潜むパターンを効率的に見つけ出す。あなたも近頃よく聞く「ビッグデータ」と称されるものがこうして生み出される。

データ移動のコストがこうしたデータベースのパワーと洗練に拍車を掛ける。一旦データベースから情報を抽出してから、改めてそれを「ビッグデータ・パッケージ」に手渡すのは時間の浪費とプログラミングの手間を増やすが、データベースの中にデータを残したまま、そのデータベースの持つエンジンに分析を行わせればずっと速い。コミュニケーションに関して生じる費用を節約できるだけでなく、集積されたデータから価値を抽出するためのプログラミングの手間を削減するからである。

予言(3)
Javaがすべて

いや、もちろんJavaScriptがプログラミングの世界における唯一の言語になるわけではない。あいかわらず、驚くべき数のCOBOLプログラマーの求人広告が出ている。だがそれでもやはりJavaが圧倒的になりつつあるように見える。JavaScriptはブラウザ上で不可欠であり、ブラウザはクライアント・コンピュータが行うほとんどすべての事を支配しているからだ。サーバー側はNode.jsのようなツールでそれを包摂している。

間違いなくJavaScriptは、他の領域においてもより支配的となる。かつてスマートフォンにはそのOSメーカーの要求する言語でコードを書かねばならなかった:iPhoneにはObjective-C、AndroidにはJavaScript、MicrosoftにはC#といった具合だ。今やほとんどのモバイル開発者はブラウザ・ライクなHTML5アプリで作業できる。結果はネイティブ・コードのように圧縮されてはいないが、とはいえJavaScriptはWeb用には十分に良く、かつポータブルである。

ブラウザはスマホを支配するだけでなく、すべてのプラットフォームを飲みこむ。Chrome OSとChromebookは通常のオペレーティングシステムを時代遅れにしつつある。JavaScriptとブラウザであらゆることができるのに、どうしてOSのことに気を煩わせる必要があろう?

メインフレームはCOBOLを用い、生物学者はPythonに執着し、LinuxはCで書かれるだろう。だが公平に言ってその他はすべてJavaScriptが飲みこむ。

予言(4)
あらゆるデバイスにAndroidが載る

ブラウザの勝者とは言えなくても、Androidは覇権を狙う位置にいる。優秀なレンズを付けたケータイの脅威を感じたカメラ設計者は、デジカメにAndroidを載せ始めた。今あなたはInstagramをニコンのデジカメから利用できる。だからこれからはニコンはコンピュータメーカーということになるのだろうか? それが何か問題だろうか?

Android搭載の冷蔵庫、カーステレオ、腕時計、テレビやヘッドホンすら存在する。Androidはあまりに多くの機能があるせいでUIが複雑すぎると不平を言う人もいるが、これは的外れだ。UIの階層はいつでも単純化できる。Androidが背後で動作していれば、それは支配的なプラットフォームなのだ。

Androidはさらに複雑にすらなるだろう。PCメーカーはタブレット市場の急成長を見て取り残されたと感じている。彼らの対処策はWindows上でAndroidを走らせ、デスクトップ上でもユーザーが自分のAndroidアプリを使うように仕向けることだ。あるメーカーは単に、プログラマーが使用していた既存のAndroidエミュレータを走らせるが、他のメーカーは「PC Plus」のようなブランドを作ることを見越している。ひとたびAndroidがPCに導入されるやそれがブラウザと結びつくことで、Windowsのネイティブ・アプリを駆逐してPCの片隅にに追いやってしまうかもしれない。

予言(5)
モノのインターネット=かつてない多様なプラットフォーム

Android(とLinux)が世界を支配する一面の結果として、ますます多くの対象物が「モノのインターネット」で結びつく。あなたの冷蔵庫のAndroidは冷蔵庫そのものの為のコードを書く機会をもたらす。それが冷蔵庫のドアに子供の絵を表示することであれ、カロリー計算の小言を言うことであれ、中の残り物で作るレシピの提案であれ…、誰が予想できよう。

これから現れる多くの新しいプラットフォームの中で、最も重要なものは自動車である。ナビとショッピングは始まりに過ぎない。自動運転車が発売されれば、車のロケーションと情報に関してソフト開発者が儲ける機会がさらに増大するだろう。

鍵となるのは、新しい領域にとってどのような特徴が本質的かを理解することである。AndroidのようなOSが統一的なコアを提供する一方で、個々のプラットフォームはカスタマイズされた機能を要求する。例えばロボット玩具は、年齢に適切なコンテンツを提供するフィルタリングを必要とするかもしれない。サーモスタットは天気予報との情報リンクを欲するだろう。適切な機能を実現するためのアプリケーション・プログラム・インターフェイスの構築がモノのインターネットの支配拡大への鍵となる。

予言(6)
オープンソースは新たな方法で我々を搾取する

AndroidやUbuntuやMySQLのようなオープンソース・システムの成功にとって依然として厄介な問題は、サポート開発のための収入をどうやって得るかということである。オープンソースのコードがいかにハッカー達を助けてきたかについての幸福な物語は多い。しかしながら、コンピュータ会社がそこそこに安定したエコシステムを構築して、プログラマー達がヘルスケアや食料を買えるようにした実例はあまり多くない。

圧倒的多数のオープンソース・カンパニーは、オープンソース・ライセンスのもとにデモバージョンと呼ぶ方が適切な版を配布する。かくしてある種のソースがプログラマー達のハッキングから秘匿されるが、これは世の習いだ。牛乳がタダで手に入るのにわざわざ乳牛を買うだろうか? ベストなオープンソース・プロジェクトは一般ユーザーが不快に感じるような仕方を巧妙に回避しながら、かつ、ハッキング防止のネジを締め上げる道を見つけるのだ。

投稿: iris60 | 2014年2月 8日 (土) 22時47分

予言(7)
WordPressで書かれたWebアプリが蔓延る

オバマ政権のおかした最大の過ちは、政府の保険手続きWebサイトを一から作ろうとしたことだ。今はもう誰もそんな事はしない。WordPressにプラグインを追加できるのに、誰がわざわざ面倒なことをするだろうか? もしあなたが真のこだわり派なら、JoomlaやDrupal(というオープンソース・ソフトウェア)を用いて仕事ができるだろうに。要はどのプラットフォームであろうと関係なく、必要な機能性は(WordPressという)支配的なフレームワークにすでにビルトインされているのだから、あなたがご自分でWebアプリを作る理由がなくなっていくのだ。

コードをハッキングすることで楽しみはぐっと増える。WordPressは備え付けのエディタを持っているので、あなたはWordPressの内部でもソフト開発ができる。デバッガは無いが、その点はなんとかなる。もしWordPressにPHPMyAdminのような良質なデータベース・ブラウザと、ちょっとした基本的なデバッグ・ツールがあれば、ソフト開発は本当に捗るに違いない。

予言(8)
従来型の全機能を網羅したプログラムはプラグイン・ソフトに取って替わられる

プラグイン・ソフトのような断片的なコードを付加することで、より大きなフレームワークの機能が強化されるのは基本的なWebアプリだけではない。かつてPhotoshopが支配的な画像レタッチソフトだったのは、プラグイン・ソフトの豊穣さに一因があった。MagicHourのような新しいアプリはプラグインをよりシンプルにしてきている。例えば、MagicHourユーザーは写真を共有するのと同様の仕方で画像フィルターをシェアできる。最もメジャーなプラットフォームは優れたアプリケーション・プログラム・インターフェイスを提供しており、その中でも最良のものは数千のモジュールやライブラリ、プラグイン・ソフトに満ちた豊穣なエコシステムを形成している。

コーディングのエコシステムが急成長するおかげで、プログラマーはちょっとした断片コードばかりを書き、アプリケーションは書かなくなる。ほんのちょっとしたグルー・コードが、メガバイト級のバイナリ・ファイルを持つ手製のアプリケーションより百万倍も強力になり得るのだ。(プラグインのような)断片コードが全エコシステム内で強力な梃子の原理=支配力を発揮する。これに対し巨大アプリケーションは何でも自前でやらなければならないのだ。

だから物の解ったプログラマーは、プログラムではなくプラグイン・ソフトを書いてエコシステム内を支配しようとするだろう。彼らはホスト・システムのアプリケーション・プログラム・インターフェイスを学んでパーツを束ねようとする。もう誰も一から構築しようとはしないだろう。我々は皆、スタートレックに出てくるBorgのような機械生命体の一部になるのだ。

予言(9)
コマンドラインは死なず

動作中のアプリ上で、何でもクリックで簡単に出来るようになっているのに、いまだに驚くほどの量の仕事がコマンドラインとターミナルウィンドウ内で行われている。つまり、あなた方の予想とは異なり、コマンドラインが無くなることはないということだ。事実、ますます多くの今日的なツールがコマンドラインのみで動くようになるだろう。

実際、コマンドラインはとても柔軟かつ万能で、他のものが取って替わることはできない。クリック操作の洒落たGUIやドラッグ・アンド・ドロップのウィジェットが目を引くかもしれないが、プログラマーは常にコマンドテキストに立ち還るのだ。

記述の手軽さこそコマンドラインが生き延び続ける主因である。Appleのような会社はたいそう立派なGUI記述ツールを持っているが、それらは決してコマンドラインほど柔軟でも集積可能でもなかった。いったい何人の人が自分のMacの為にシェルスクリプトを書くだろうか? 何人がAppleScriptを書くだろうか?

コマンドラインはその単純さと伸長性のおかげで生き続けるだろう。もしスクリプトを持っていれば、あなたはそれを容易に伸長し、他のスクリプトに繋ぎ合わせることができる。

予言(10)
プログラミングを易しく噛み砕いて教えることはできない

過去50年間、プログラマー達は、人々がプログラミングを容易に学べるように努力してきた。だが50年で成功したのは、ごく初歩的なタスクについてのみである。プログラミングの世界の95%はif-then-else構文で理解できるが、それだけではプログラマーにはなれない。

このことは、あらゆる人々がプログラミングができるように解り易く説明しようとする善意の努力を妨げるものではない。プログラミングの伝道師は、すべての人がプログラミングのできる世界という大きな夢を売るだろう。そしてもしX国が競争に負けない唯一の道は、X国民すべてがRuby言語を学ぶか、伝道ビデオを見ることであると主張して巨額の補助金をせしめるかもしれない。

残念ながら、真のプログラミングとはコンピュータの中で踊り回る目に見えない数字を理解することを意味する。それは、ソフトを作るしきたり、責任を切り分けるしきたりを理解することだ。そうすることでソフトはまっとうに走ることができるのだ。少数の頭脳だけがこうした作業をこなすことができると思われるし、あと50年努力したとしても、こうした能力のある人の割合が著しく増えることはありそうもない。あらゆる人がif-then-else文を理解できるように教えることは良いアイデアだが、それだけではより多くのプログラマーを生み出すことにはならないのだ。

そして、より英語に近い構文の開発言語もまた、助けにはならない。

予言(11)
アウトソーシングと内製化の板挟みの悩みは無くならない

標準的な予言では、すべてのプログラミングの仕事は最も賃金の安い国々へと流出するだろうとされている。

この経済学の鉄の法則の対極には、別の予言、すなわち、末端の作業は自動化されたツールによって代替され、本当の仕事はビジネスそのものを理解している人々にのみ残されるだろうという予言がある。

どちらも真実であり続けるだろう。アウトソーシング・チームは低予算で仕事を勝ち取るだろうが、同時に新しい自動化ツールとも競合することになる。あるWebサイトは全世界から容易に低賃金労働者を雇うことができるが、他のWebサイトはマンパワーを雇わずにすべてを片付けることをますます容易にする。アウトソーシング契約で雇われた一団の人々は、気付いてみれば、マンパワーの助けを必要としないビジネス内部の人間に足元を見られ、値切られることになるのだ。

予言(12)
経営者はプログラマーとプログラミングを誤解し続ける

プログラマーでない経営者達の要求を聞くことは、最も苦痛な会話のひとつである。彼らはFacebookやらeBayやらのいけてるデモサイトが何か洒落たことをするのを見て、今度はあなたにちょっとしたボタンの変更を要求するのだ。そうした作業に精を出す時は、それらが例のデモサイトと同じようにクールに動作させなくてはならない。時にはこうした要求にうまく応えられることもあるが、しばしばそれはうまくいかず、経営者達には不満な結果に終わるのだ。

最もありがちな対処法はスタンフォード卒の22歳を雇おうとすることだ。スタンフォード以外は駄目だ。23歳では遅い。たぶんもう別のキャリアを考えているだろう。22歳なら、(HTMLの)カスケーディング・スタイルシートの洗練に磨きをかけるために膨大な時間を費やすことも可能だろう。

経営者達が何年もかけてテクノロジーを学ぶこともできないわけではないが、それよりは何人かの新人を釣り上げる方が簡単だ。経営者が基本的なテクノロジーを理解できないことが、年齢による差別の最大の要因のひとつになっている。彼らが思いつく唯一の解決策は、何か単機能のプログラマーを探すことだ。30歳以上やスタンフォード卒以外はお呼びでないのである。

夢を越えて、他の人々皆の才能を利用することができる会社こそが、成功を見出すことができる。そうした会社が、使用に耐える機能を発揮するしっかりとしたソフトウェアを堅実なペースで作ることができるのである。
(後略)

投稿: iris60 | 2014年2月 8日 (土) 22時50分

@iris60
長文を翻訳していただき、ありがとうございます。近く、全部読める機会があると思いますので、そのときまたあらためて感想など書かせていただきます。

投稿: iwatani | 2014年2月 9日 (日) 12時50分

iris60さんへ、
本当にありがとうございます。
とても読みたかったです。
しかし、難しいので、Javascript のところだけ、ざっと読みました。
内容的に、Java のところは、全部 Javascript の勘違いだと思います。
あと、興味深かったのは、プログラミングを人に教えるのは、難しいという話ですが、少なくとも、
  プログラミングをとても覚えたい人
を、救うことはできるのではないでしょうか?
この部分で、ちょっと反論したいですね。
あと、Javascript が、すべてを呑みこむ、、というのは、反対であり、その通りだとも思います。
ものすごく長い目で見れば、Javascript自体が変わるか、新しい言語、Dart 等が、取って代わるような気がします。
お忙しくなければ、この先の、翻訳もリクエストしたいです。

投稿: huang1mu4 | 2014年2月 9日 (日) 16時14分

iris60さま

翻訳してくださって、ありがとうございます。
大助かりです。なんだか気分がイイです
お疲れ様でした

私も貢献できたらいいな

simomitu

投稿: 下光博之 | 2014年2月 9日 (日) 18時00分

@huang1mu4
たいへん失礼しました。
おっしゃる通り、ここではすべてJavaScriptです(汗;;
(JavaScriptとJavaは異なる言語なんですね。無知でお恥ずかしい。)
他にもイロイロ間違いがあると思いますので、ご指導よろしくお願いします。

ワタクシ的には、12番目の予言が今ひとつピンときませんでした。特に最後のパラグラフは全体のまとめなのかもしれませんが、抽象的で、「??」という感じです。

投稿: iris60 | 2014年2月 9日 (日) 20時53分

@iwatani
恋愛は悪である
排他的人間関係の典型だから

恋愛が悪なのではない。恋愛に拘束されることが、悪なのである。人が人を好きになるのは、自然であり本能的なものだと思う。しかし、それに執着して周りが見えなくなるのがマズイのだと思う。
人が人を好きになるのは、ある条件が整った偶然だと思うし、同じ人を嫌いになるのも偶然(by chance)だと思う。それはそれで良いのだが、そんな風のような偶然に翻弄されてはいけない。
恋愛が大事という価値を持つのは、それが稀少視されているからだろう。それよりもあらゆる人の間に、共に安心して生きていけるのだ、という通底したものがあれば、付き合おうが別れようが大した事ではないという成熟した社会になれると思うのである。

しかし今の若い人なんかは、恋愛も面倒臭くてしたくないという、その不活発な心情のほうが問題だと思うのだが。

投稿: ohiya | 2014年12月23日 (火) 04時50分

[変更]
恋愛が大事という価値を持つのは、それが稀少視されているからだろう。あるいは、結婚という制度が待ち構えているからだろう。なにしろ、特定の人を愛するのが「善」という風潮は打破したほうが良い。それは人を共同体へと強いる古いベクトルを投げかける。それにそもそも恋愛時期とは、ふらっとやって来て熱病のようになり、やがて終わっていくのが当たり前のものだから、それに固執するのが無理であり不毛なのである。
だから恋愛というのは、いつも身の周りに転がっているのが望ましい。出産・育児というのは結婚とはまったく別の制度を用意して、全員が全力でサポートするべきである。

投稿: ohiya | 2014年12月25日 (木) 01時29分

人が人を好きになるのも、嫌いになるのも、勘違いによるものだと思う。100%の理解や一定なんて有り得ないのだから。So、そんなものに固執せずに、その時その時を楽しめたら、それで良いのだと思う。Let life flow.

投稿: ohiya | 2015年4月18日 (土) 01時30分

嫌いになったとしても大したことじゃない。時が経てば、場所が変われば十分やり直せることは可能だと思える。

なんというか、母から昔こんな言葉を聞いたような気がする。「男というのは今に生き、女というのは時間をつなぐために生きる。」で、昔、男の重要な役割は戦うという今が現場なわけだし、女というのは出産育児という未来へつなぐのが現場なわけだ。こういう両者の違いというのも、性質の違いを見分けるのに参考になるのではないだろうか。アウフヘーベン2。

投稿: ohiya | 2015年4月18日 (土) 01時52分

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: プログラミングに関する12の予言:

« 主格の助詞「が」と「の」 | トップページ | コミュニケーションで蘇生した会社 »