И. ソフトウェア開発の世界を変えてから数年経ちましたね。今、振り返ってみて、どのようにお感じになりますか?
C. 実は、あなたが来る直前まで、その頃のことを考えていたんです。誰もが自分の好きなように「C」を書いていて、問題は、その誰もがとてもうまくいっていたことです。大学も、その言語を教えるのに血の気が引くほど優れていました。これが実力低下につながった。この場合の「実力」とは、驚異的なものという意味です。それが問題を生んだのです。
И. 問題点は?
C. はい、問題です。誰もがCobolで書いていた頃を覚えていますか?
И. もちろん、私もそうしました。
C. まあ、最初はこの人たちは神様のような存在だったんですけどね。高給取りで、王様のような扱いを受けていた。
И. ああ、そういう時代だったんですね。
С. その通り、それでどうなったんだ?IBMはそれに嫌気がさし、プログラマーの育成に何百万ドルも投資して、ものすごい数のプログラマーが誕生した。
И. そうやって、あの現場から抜け出したんです。1年もしないうちに給料が下がり、ジャーナリストでももっと稼げるようになった......」。
С. その通りです。C」で書いているプログラマーも同じだった。
И. なるほど、それで何が言いたいんだ?
C. ある日、私はオフィスに座っていて、バランスを回復する方法についてちょっとしたアイデアを思いつきました。もし、あまりにも難解で、学ぶのが難しいプログラミング言語があったら、誰もその言語で書くプログラマーがいなくなり、市場を埋められなくなるだろうか?その時、すでに思うところがありました。X10とかXウィンドウズとかね。当時はSun 3/60で動くようなグラフィックシステムだった。複雑な構文、わかりにくい関数、擬似オブジェクト指向の構造など、私が欲しい要素がすべて揃っていたのです。今でもX-Windows用に直接書いている人はいない。正気を保ちたいなら、Motifしかない。
И. 冗談だろう?
C. とんでもない、別の問題があるんです。Unixは「C」で書かれていた。つまり、「C」で書いているプログラマーは誰でも簡単にシステムプログラマーになることができたのだ。かつて、ほとんどのシステムプログラマーがどれほどの収入を得ていたか覚えていますか?
И. ええ、私も以前はそうでした。
С. さて、この新しい言語は、「C」と「Unix」をうまく結びつけているすべてのシステムコールを隠すことによって、「Unix」と分離する必要がありました。それならDOSしか知らない奴もまともに生活できただろうに。
И. そんなこと言うなんて...。
С. かなり前からですが、もうほとんどの人がC++が時間の無駄であることに気づいているようですが、私はそれに気づくのに予想以上に時間がかかったと言わざるを得ません。
И. もっと正確に、どうやったか教えてください。
C. ただの冗談で、この本を真に受ける人がいるとは思わなかった。 オブジェクト指向プログラミングが直感的で非論理的で非効率的であることは、半分でも頭のいい人なら理解できるはずだ。
И. 何?
С. また、「コードの再利用」に関してですが、一つの企業が何かを「再利用」しているという話を聞いたことがありますか?
И. まあ、実際はそうでもないんですが......。
С. これでよしとする。ちなみに、試した人もいます。オレゴン州のメンター・グラフィックスという会社があったのですが、90年か91年に病気になって、できることはすべてC++で書き直そうとしたんです。本当にかわいそうでしたが、少なくとも人々は失敗から何かを学びました。
И. 明らかに成功しなかった?
С. 全くありません。しかし、同社の株主に3,000万ドルの損害を説明するのは困難であっただろうし、最終的にはうまくやったと評価せざるを得ない。
И. 結局、うまくいったの?これは、「オブジェクト指向」が有効であることを証明している。
C. 実行ファイルは非常に巨大で、128MBのRAMを搭載したHPのワークステーションでロードするのに5分かかりました。これがネックになるかと思いきや、特に気にする人はいなかった。SunとHPは、巨大なリソースを持つ異常に強力な箱を売って、その上でつまらないプログラムを走らせることに大喜びでした。AT&Tで初めてC++コンパイラで「Hello World」をコンパイルしたとき、実行ファイルが2.1MBもあって目を疑ったものだ。
И. まあ...しかし、コンパイラはその後、大きく進歩した。
C. そうでしょうか?同じ「Hello World」の例を最新版のg++で試してみると、約半分のメガバイトになります。また、それ以外にも、世界中の多くの事例があります。ブリティッシュ・テレコムは、危うく大問題になるところだったが、幸いなことに、プロジェクトを中断して最初からやり直すことに間に合った。そして、オーストラリアン・テレコム社よりも幸運だった。そして今、シーメンスが恐竜のようなものを作っているそうで、その大きさにますます不安を感じているようです。この一般的な妄想を見るのは面白くないですか?
И. そうですね、でもC++はごく普通の言語です。
С. そんなに信じているんですか?C++で腰を据えてプロジェクトに取り組もうとしたことはありますか?まず、些細なプロジェクトだけがうまくいくような罠を十分に敷いています。プロジェクトの終盤になると、同じ演算子でもモジュールによって意味が全く異なることが分かってきます。では、これらのモジュールをすべて接続してみてください。特に、100個もある場合は、その数は膨大になります。各社のモジュールが通信できない問題を聞いて、思わず笑ってしまうことがあります。
И. 私は、あなたが言ったことすべてに完全に困惑していると言わざるを得ません。プログラマーの給料を上げるためにやったというが、意味がない。
С. そうでもないんです。誰もが自分の意思で選んでいるのです。まさかここまで荒れるとは思いませんでした。でも、とにかく、ほとんどすべてがうまくいったんです。C++はもう死に体ですが、プログラマはまだ高い給料をもらっています。特に、そんなくだらないことを扱う人たちは、自分で書いていないなら、大規模なC++プログラムモジュールを有効に使えないことを理解しているはずです。
И. どうですか?
С. わからないのか?typedefを覚えていますか?
И. もちろんです。
С. そして、例えば「RoofRaised」が倍精度であることを知るために、ヘッダーを調べなければならない時間がどれだけあるか考えてみてください。大規模なプロジェクトで、すべての型定義を探すのにどれだけの時間がかかるか想像してみてください。
И. つまり、やりたいことをすべて成功させたと言い張る......。
C. 平均的な規模の「C言語」プロジェクトの実装にかかる時間を考えてみてください。 約6ヵ月です。妻子持ちがまともに生活できるほど長くはない。同じプロジェクトをC++で実装してみたら、どうなるでしょうか?1-2年は必要でしょう、すごいでしょう?その上、大学では長い間「C」を教えていないので、「C」でプログラミングする人、特にUnixのプログラミングを知り尽くしている人はもうそんなにいない。今までずっと'new'を使っていて、リターンコードを確認しなかったのに、'malloc'で何をするのか分かった気になっている奴がどれだけいると思ってるんだ?ほとんどのC++プログラマーは、そのリターンコードを全く捨てない。古き良き時代の「-1」はどうなったのか?少なくとも、「throw」「try」「catch」を使わなくても、どこかでエラーになっていることは一目瞭然だったのですが......。
И. それにしても、相続って、かなり時間が短縮されるんですか?
С. いや、言ったはずだ...C』と『C++』のプロジェクト計画段階の違いにお気づきでしょうか?C++のプロジェクトでは、この段階が3倍長くなる。すべてが継承されなければならないこと、すべてが継承されてはならないことを確認することに時間が費やされます。しかし、それでもエラーは発生します。C'プログラムのメモリーリークを聞いたことがある人はいるだろうか?その漏れを探すのが、今では本当に面倒なんです。ほとんどの企業は、メモリリークがあることを知りながら、あきらめて製品をリリースしています。
И. しかし、さまざまなソフトウェアツールがあり...
С. そのほとんどはC++で書かれています。
И. 全部公開したらリンチされるかもしれないんだぞ?
C. どうでしょう。さっきも言ったように、C++はもう過去のものなんです。今、C++で事前テストなしにプロジェクトを始める企業はないでしょうし、テストがあれば、それが失敗への道であることに気づくはずです。そうでないなら、それはそれで仕方がない。私はDennis RitchieにUnixをC++で書き直すように説得したんですよ。
И. なんてこった。そして、彼は何と言ったか?
C. 幸いにも彼はユーモアのセンスがある。彼もブライアンも、当時私がやっていたことを理解してくれていたのだと思います。もし、私が望むなら、C++版のDOSを書くのを手伝うよ」と答えてくれた。
И. それは、どうだったのですか?欲しかった?
С. C++でDOSを書きました。デモをお見せすることができます。別室でSparc20で動かしています。4つのプロセッサーで飛ぶだけで、70メガバイトのディスクスペースを使うだけです。
И. PCではどのように見えるのでしょうか?
С. 明らかに冗談でしょう。Windows'95を見たことがありますか?それが私の最大の成功だと思っています。
И. あのね、Unix++についての考え方で、私は考えさせられました。結局のところ、それをしようと考える男がどこかに座っているかもしれないのだから......。
С. しかし、このインタビューを読んだ後では、そうはいかない。
И. 申し訳ありませんが、このインタビューの一部でも掲載することはできそうにありません。
С. しかし、これは世紀の話だ。ただ、プログラマー仲間に私のことを思い出してほしかっただけなのです。今、C++でのプログラミングがどのように支払われているかご存知ですか?
И. 最後に聞いたのは、本当のプロフェッショナルは時給70〜80ドルだそうです。
С. これで理解できましたか?そして、そのお金に値すると確信しています。C++に組み込んだこれらのトラップをすべて把握するのは、簡単な仕事ではありません。そして、先ほども言ったように、C++のプログラマーは皆、プロジェクトごとに言語のあらゆる要素を使わなければならないということに縛られていると感じている。実は私も、これが目的にかなっていても、困ることが多いのです。でも、これだけ時間が経った今、この言葉が好きになってきた...。
И. 以前はC++が好きじゃなかったということですか?
С. 嫌いだったんです。不器用にさえ見えてしまうのですが、いかがでしょうか?でも、いろいろな本が出始めたら...。その時、全体像が見えてきたのです。
И. 待てよ、リンクはどうするんだ?C'サインポストを改善したことを確認していますか?
С. うーん、自分でもよくわからない。実は私もそう思っていました。それから、最初からC++で書いている人と話をしたことがあります。変数が参照されているかどうか覚えられないので、いつもポインターを使うのだという。
И. いつもはこの段階で「インタビューありがとうございました」と言うのですが、なんだか場違いな感じになってしまいました。
マーケットオープンを待っている?私たちもそうです!
EURUSD, H1
マーケットオープンを待っている?私たちもそうです!
ペア取引です )))
http://gzone.org.ua/readclass/18/show/
ストラウストラップが絡んだとても面白いインタビュー...
2009年12月22日
ハックネットレビュー 01/98
Interview by Bjarne Stroustrup on January 1st 1998
for Computer magazine.
© 1998, Computer
translation by Mike Bluesman.
1998年1月1日、ビャーネ・ストルストラップは「Computer」誌のインタビューに応じた。実は、編集部は、彼が開発した言語を使って、7年間にわたるオブジェクト指向プログラミングについて話すことを期待していたのだ。
インタビューが終わる頃には、インタビュアーが予想以上の情報を引き出していたことが判明し、当然、編集部は「業界のために」内容を削ることにしたのだが、こういう場合、たいてい起こることだが、リークが発生したのだ。
以下は、インタビューの全文と無編集の記録です。いつもの予定通りのQ&Aには見えませんね。
きっと面白いことに気がつくはずです。
インタビュアー - 以下、I. とする。ストロストラップ - 以下、C.
И. ソフトウェア開発の世界を変えてから数年経ちましたね。今、振り返ってみて、どのようにお感じになりますか?
C. 実は、あなたが来る直前まで、その頃のことを考えていたんです。誰もが自分の好きなように「C」を書いていて、問題は、その誰もがとてもうまくいっていたことです。大学も、その言語を教えるのに血の気が引くほど優れていました。これが実力低下につながった。この場合の「実力」とは、驚異的なものという意味です。それが問題を生んだのです。
И. 問題点は?
C. はい、問題です。誰もがCobolで書いていた頃を覚えていますか?
И. もちろん、私もそうしました。
C. まあ、最初はこの人たちは神様のような存在だったんですけどね。高給取りで、王様のような扱いを受けていた。
И. ああ、そういう時代だったんですね。
С. その通り、それでどうなったんだ?IBMはそれに嫌気がさし、プログラマーの育成に何百万ドルも投資して、ものすごい数のプログラマーが誕生した。
И. そうやって、あの現場から抜け出したんです。1年もしないうちに給料が下がり、ジャーナリストでももっと稼げるようになった......」。
С. その通りです。C」で書いているプログラマーも同じだった。
И. なるほど、それで何が言いたいんだ?
C. ある日、私はオフィスに座っていて、バランスを回復する方法についてちょっとしたアイデアを思いつきました。もし、あまりにも難解で、学ぶのが難しいプログラミング言語があったら、誰もその言語で書くプログラマーがいなくなり、市場を埋められなくなるだろうか?その時、すでに思うところがありました。X10とかXウィンドウズとかね。当時はSun 3/60で動くようなグラフィックシステムだった。複雑な構文、わかりにくい関数、擬似オブジェクト指向の構造など、私が欲しい要素がすべて揃っていたのです。今でもX-Windows用に直接書いている人はいない。正気を保ちたいなら、Motifしかない。
И. 冗談だろう?
C. とんでもない、別の問題があるんです。Unixは「C」で書かれていた。つまり、「C」で書いているプログラマーは誰でも簡単にシステムプログラマーになることができたのだ。かつて、ほとんどのシステムプログラマーがどれほどの収入を得ていたか覚えていますか?
И. ええ、私も以前はそうでした。
С. さて、この新しい言語は、「C」と「Unix」をうまく結びつけているすべてのシステムコールを隠すことによって、「Unix」と分離する必要がありました。それならDOSしか知らない奴もまともに生活できただろうに。
И. そんなこと言うなんて...。
С. かなり前からですが、もうほとんどの人がC++が時間の無駄であることに気づいているようですが、私はそれに気づくのに予想以上に時間がかかったと言わざるを得ません。
И. もっと正確に、どうやったか教えてください。
C. ただの冗談で、この本を真に受ける人がいるとは思わなかった。 オブジェクト指向プログラミングが直感的で非論理的で非効率的であることは、半分でも頭のいい人なら理解できるはずだ。
И. 何?
С. また、「コードの再利用」に関してですが、一つの企業が何かを「再利用」しているという話を聞いたことがありますか?
И. まあ、実際はそうでもないんですが......。
С. これでよしとする。ちなみに、試した人もいます。オレゴン州のメンター・グラフィックスという会社があったのですが、90年か91年に病気になって、できることはすべてC++で書き直そうとしたんです。本当にかわいそうでしたが、少なくとも人々は失敗から何かを学びました。
И. 明らかに成功しなかった?
С. 全くありません。しかし、同社の株主に3,000万ドルの損害を説明するのは困難であっただろうし、最終的にはうまくやったと評価せざるを得ない。
И. 結局、うまくいったの?これは、「オブジェクト指向」が有効であることを証明している。
C. 実行ファイルは非常に巨大で、128MBのRAMを搭載したHPのワークステーションでロードするのに5分かかりました。これがネックになるかと思いきや、特に気にする人はいなかった。SunとHPは、巨大なリソースを持つ異常に強力な箱を売って、その上でつまらないプログラムを走らせることに大喜びでした。AT&Tで初めてC++コンパイラで「Hello World」をコンパイルしたとき、実行ファイルが2.1MBもあって目を疑ったものだ。
И. まあ...しかし、コンパイラはその後、大きく進歩した。
C. そうでしょうか?同じ「Hello World」の例を最新版のg++で試してみると、約半分のメガバイトになります。また、それ以外にも、世界中の多くの事例があります。ブリティッシュ・テレコムは、危うく大問題になるところだったが、幸いなことに、プロジェクトを中断して最初からやり直すことに間に合った。そして、オーストラリアン・テレコム社よりも幸運だった。そして今、シーメンスが恐竜のようなものを作っているそうで、その大きさにますます不安を感じているようです。この一般的な妄想を見るのは面白くないですか?
И. そうですね、でもC++はごく普通の言語です。
С. そんなに信じているんですか?C++で腰を据えてプロジェクトに取り組もうとしたことはありますか?まず、些細なプロジェクトだけがうまくいくような罠を十分に敷いています。プロジェクトの終盤になると、同じ演算子でもモジュールによって意味が全く異なることが分かってきます。では、これらのモジュールをすべて接続してみてください。特に、100個もある場合は、その数は膨大になります。各社のモジュールが通信できない問題を聞いて、思わず笑ってしまうことがあります。
И. 私は、あなたが言ったことすべてに完全に困惑していると言わざるを得ません。プログラマーの給料を上げるためにやったというが、意味がない。
С. そうでもないんです。誰もが自分の意思で選んでいるのです。まさかここまで荒れるとは思いませんでした。でも、とにかく、ほとんどすべてがうまくいったんです。C++はもう死に体ですが、プログラマはまだ高い給料をもらっています。特に、そんなくだらないことを扱う人たちは、自分で書いていないなら、大規模なC++プログラムモジュールを有効に使えないことを理解しているはずです。
И. どうですか?
С. わからないのか?typedefを覚えていますか?
И. もちろんです。
С. そして、例えば「RoofRaised」が倍精度であることを知るために、ヘッダーを調べなければならない時間がどれだけあるか考えてみてください。大規模なプロジェクトで、すべての型定義を探すのにどれだけの時間がかかるか想像してみてください。
И. つまり、やりたいことをすべて成功させたと言い張る......。
C. 平均的な規模の「C言語」プロジェクトの実装にかかる時間を考えてみてください。 約6ヵ月です。妻子持ちがまともに生活できるほど長くはない。同じプロジェクトをC++で実装してみたら、どうなるでしょうか?1-2年は必要でしょう、すごいでしょう?その上、大学では長い間「C」を教えていないので、「C」でプログラミングする人、特にUnixのプログラミングを知り尽くしている人はもうそんなにいない。今までずっと'new'を使っていて、リターンコードを確認しなかったのに、'malloc'で何をするのか分かった気になっている奴がどれだけいると思ってるんだ?ほとんどのC++プログラマーは、そのリターンコードを全く捨てない。古き良き時代の「-1」はどうなったのか?少なくとも、「throw」「try」「catch」を使わなくても、どこかでエラーになっていることは一目瞭然だったのですが......。
И. それにしても、相続って、かなり時間が短縮されるんですか?
С. いや、言ったはずだ...C』と『C++』のプロジェクト計画段階の違いにお気づきでしょうか?C++のプロジェクトでは、この段階が3倍長くなる。すべてが継承されなければならないこと、すべてが継承されてはならないことを確認することに時間が費やされます。しかし、それでもエラーは発生します。C'プログラムのメモリーリークを聞いたことがある人はいるだろうか?その漏れを探すのが、今では本当に面倒なんです。ほとんどの企業は、メモリリークがあることを知りながら、あきらめて製品をリリースしています。
И. しかし、さまざまなソフトウェアツールがあり...
С. そのほとんどはC++で書かれています。
И. 全部公開したらリンチされるかもしれないんだぞ?
C. どうでしょう。さっきも言ったように、C++はもう過去のものなんです。今、C++で事前テストなしにプロジェクトを始める企業はないでしょうし、テストがあれば、それが失敗への道であることに気づくはずです。そうでないなら、それはそれで仕方がない。私はDennis RitchieにUnixをC++で書き直すように説得したんですよ。
И. なんてこった。そして、彼は何と言ったか?
C. 幸いにも彼はユーモアのセンスがある。彼もブライアンも、当時私がやっていたことを理解してくれていたのだと思います。もし、私が望むなら、C++版のDOSを書くのを手伝うよ」と答えてくれた。
И. それは、どうだったのですか?欲しかった?
С. C++でDOSを書きました。デモをお見せすることができます。別室でSparc20で動かしています。4つのプロセッサーで飛ぶだけで、70メガバイトのディスクスペースを使うだけです。
И. PCではどのように見えるのでしょうか?
С. 明らかに冗談でしょう。Windows'95を見たことがありますか?それが私の最大の成功だと思っています。
И. あのね、Unix++についての考え方で、私は考えさせられました。結局のところ、それをしようと考える男がどこかに座っているかもしれないのだから......。
С. しかし、このインタビューを読んだ後では、そうはいかない。
И. 申し訳ありませんが、このインタビューの一部でも掲載することはできそうにありません。
С. しかし、これは世紀の話だ。ただ、プログラマー仲間に私のことを思い出してほしかっただけなのです。今、C++でのプログラミングがどのように支払われているかご存知ですか?
И. 最後に聞いたのは、本当のプロフェッショナルは時給70〜80ドルだそうです。
С. これで理解できましたか?そして、そのお金に値すると確信しています。C++に組み込んだこれらのトラップをすべて把握するのは、簡単な仕事ではありません。そして、先ほども言ったように、C++のプログラマーは皆、プロジェクトごとに言語のあらゆる要素を使わなければならないということに縛られていると感じている。実は私も、これが目的にかなっていても、困ることが多いのです。でも、これだけ時間が経った今、この言葉が好きになってきた...。
И. 以前はC++が好きじゃなかったということですか?
С. 嫌いだったんです。不器用にさえ見えてしまうのですが、いかがでしょうか?でも、いろいろな本が出始めたら...。その時、全体像が見えてきたのです。
И. 待てよ、リンクはどうするんだ?C'サインポストを改善したことを確認していますか?
С. うーん、自分でもよくわからない。実は私もそう思っていました。それから、最初からC++で書いている人と話をしたことがあります。変数が参照されているかどうか覚えられないので、いつもポインターを使うのだという。
И. いつもはこの段階で「インタビューありがとうございました」と言うのですが、なんだか場違いな感じになってしまいました。
С. 出版すると約束してください。
И. そのあたりは、編集者の意向もあるので、またお知らせします。
С. どうせ誰が信じるんだ?ところで、その録音したものを送っていただけないでしょうか。
И. できるんです。
翻訳者ノート:
私はC++でプログラミングはしません。私はロシア語の目利きではありません。だから、翻訳ミスの可能性があることをお詫びします。
マイク・ブルースマンによるHacknet Reviewのための特別翻訳、1998年3月。
------------------------------------------------
こんばんは。
アルバム「WALL」(Pink Floyd)からのお気に入りのクリップを見たところです。
U
ずっとMVをダウンロードしたかったんです~この映画の最後のシンフォニー(WALL)
どなたかリンク先を教えてください。
アニメクリップ-映画(WALL)の最後のシンフォニーをダウンロードしたいとずっと思っていたのです。
どなたかリンクをお持ちの方、教えてください。
トライアル?
はい、ありがとうございます。
https://www.youtube.com/watch?v=FCMHmDnfD6I
悪くないですね。"バン、バン、オウ、オウ、オウ..."
https://www.youtube.com/watch?v=3qunMgCD-ww