アカウント名:
パスワード:
C#に置き換わり、C++は廃れてしまったりするのでしょうか
そんなことないと信じています。 というか、C#ってC++
30年どころか、100年たっても間違いなく生き残るであろう言語が少なくとも2つはあるでしょう。アセンブラとCです。
これらの言語の特異な点は、言語のsemanticsに面倒な実行時の支援処理や初期化が一切含まれていないことです。すなわち、自分で作ったエントリポイントにいきなり処理を飛ばしてもきちんと動作するわけです。これは計算機をbootさせるためには
ノイマンを覆すようなパラダイムについては、夢を語るぐらいならやってみてもいいでしょう。ですが、商売として成り立つかというと、私は悲観的な見方をしています。
計算機を買ってくれそうなお客さんというのは、まず第一に処理速度を見ます。過去、関数型や論理型で攻めた人達はプロセッサの数を増やすことでお客さんに買ってもらおうとしました(そもそも言語が大量の記憶域を仮定していたため、メモリやディスクを買い足す発想がなかった)。ところが、このアプローチの場合、データをロックするために必要なコストの見積もりが難しく、一定の性能を達成することが困難でした。
一方、ノイマンで押した勢力は、メモリやディスクを増やしただけスケールアップするようなシステムを目標としていました。この場合、メモリやディスクの管理に必要なコストはプロセッサの場合よりもはるかに確実な見積もりがとれます。かくして、一定の性能を容易に達成できるだけでなく、処理能力の制御までも可能になりました(リアルタイムはその典型)。
いくら夢があるものでも、暴れ馬ではお客さんに売りたくなるようなものにはならないでしょうね...
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
Stay hungry, Stay foolish. -- Steven Paul Jobs
ISOってなんか意味あるの? (スコア:2, 興味深い)
よく分からないのですが、今のところ.NETフレームワーク以外に使用されるようなことはなさそうですし、標準でなくていいからMSのほうで勝手にやっていてくれという感じです。
ちなみに、
そんなことないと信じています。
というか、C#ってC++
// Give me chocolates!
Re:ISOってなんか意味あるの? (スコア:1)
ISOになると、各国政府がある程度の後押しをすることになってます。
例えば、おそらくJISにもなるでしょうし、情報処理技術者試験の
選択科目にもなるかもしれません。さらにひょっとしたら、中学や
高校の授業でとりあげられるかもしれません。
今すぐの影響は
100年たっても生き残る言語 (スコア:3, 興味深い)
30年どころか、100年たっても間違いなく生き残るであろう言語が少なくとも2つはあるでしょう。アセンブラとCです。
これらの言語の特異な点は、言語のsemanticsに面倒な実行時の支援処理や初期化が一切含まれていないことです。すなわち、自分で作ったエントリポイントにいきなり処理を飛ばしてもきちんと動作するわけです。これは計算機をbootさせるためには
Re:100年たっても生き残る言語 (スコア:3, すばらしい洞察)
> 言語が少なくとも2つはあるでしょう。アセンブラとCです。
アセンブラが当分生き残るということには同意しますが、100年と言われるとちょっとどうかなあという気が。
アセンブラはノイマン型コンピュータの最下層のソフトウェア(を人間に可読な表記にしたもの)ですから、ノイマン型コンピュータと一蓮托生です。その意味で、ご指摘の通りアセンブラの寿命が非常に長いというのはほぼ間違いないでしょう。が、ノイマン型コンピュータがあと100年持つかどうかというと、それにはちょっと漠然とした疑問があります。確かに今のところ不動の地位を保っていますが。
また、Cは「アセンブラの体のいいwrapper」としての側面が強く、今さらCと同じ立場を置き換える言語が現れることもないでしょうから、アセンブラとCは同じ寿命を持つと思います。この点はそのまま同意です。
もしノイマン型コンピュータを駆逐するような制御構造が現れたとすると、記述の抽象度が高い関数型言語や論理型言語の方が案外生き残りやすいかもしれません。
# ただの妄想かも
Re:100年たっても生き残る言語 (スコア:1)
ノイマンを覆すようなパラダイムについては、夢を語るぐらいならやってみてもいいでしょう。ですが、商売として成り立つかというと、私は悲観的な見方をしています。
計算機を買ってくれそうなお客さんというのは、まず第一に処理速度を見ます。過去、関数型や論理型で攻めた人達はプロセッサの数を増やすことでお客さんに買ってもらおうとしました(そもそも言語が大量の記憶域を仮定していたため、メモリやディスクを買い足す発想がなかった)。ところが、このアプローチの場合、データをロックするために必要なコストの見積もりが難しく、一定の性能を達成することが困難でした。
一方、ノイマンで押した勢力は、メモリやディスクを増やしただけスケールアップするようなシステムを目標としていました。この場合、メモリやディスクの管理に必要なコストはプロセッサの場合よりもはるかに確実な見積もりがとれます。かくして、一定の性能を容易に達成できるだけでなく、処理能力の制御までも可能になりました(リアルタイムはその典型)。
いくら夢があるものでも、暴れ馬ではお客さんに売りたくなるようなものにはならないでしょうね...
Re:100年たっても生き残る言語 (スコア:1)
> 夢を語るぐらいならやってみてもいいでしょう。
> ですが、商売として成り立つかというと、私は
> 悲観的な見方をしています。
それはそうです。現時点や予測可能な近い未来についてであれば、専用用途ではなく汎用用途においてノイマン型を上回るものは存在しないでしょう。性能・開発効率・費用対コスト・ソフトウェア資産量などの観点からノイマン型が合理的だからです。
私の意見はただ単に、現状で考えられる条件で100年も先のことは予想できないかな、と考えたって話でして。
ついでに関数型言語や論理型言語については、生き残りやすいかもしれないけれど主流にはならないと思います。新しいハードウェアに適した構造を持つ言語が開発されて、新しい主流になるんではないかと。その方が性能面で有利でしょうから。
Re:100年たっても生き残る言語 (スコア:1)
> ですが、商売として成り立つかというと、私は悲観的な見方をしています。
量子コンピュータやDNAコンピュータは?
得意分野が違うんで、ノイマン型を覆すってことにはならないと思うけど、
商売としては成り立つんじゃないの?
DNAコンピュータはすでに実用化 [olympus.co.jp]もされてるし。
このオリンパスの製品のように、ノイマン型と非ノイマン型は補完し合ってくもんだと思うけど、
100年後にいまだにノイマン型が主流か、といわれると断言できないと思うな。
#どうでもいいが、「遺伝子解析用DNAコンピュータ」の「電子計算部」って、どうみてもDELLのPCだよな。
Re:100年たっても生き残る言語 (スコア:0)
> 得意分野が違うんで、ノイマン型を覆すってことにはならないと思うけど、
> 商売としては成り立つんじゃないの?
特定分野の専用機としてはね。
量子コンピュータが今後どのような展開をするか分からないが、
数十年以内に天気予報に使えるようになるとは思えない。
Re:100年たっても生き残る言語 (スコア:1)
非ノイマン型のアーキテクチャのための言語です。
ハードウェアですので、すべてが並列に動作します。
で、C言語のコードをHDLに変換するものがすでに存在しています。
(詳細は、googleってください)
CのコードからアセンブラやHDLが生成できるとなると
重要なのは、言語では無くて思想なのかもしれませんね。
Re:100年たっても生き残る言語 (スコア:1)
> で、C言語のコードをHDLに変換するものがすでに
> 存在しています。
おそらく、System-Cなどに代表される「C言語をハードウェア記述言語として用いる開発環境」のお話かと思います。
私見かもしれませんが、C言語がHDLに採り入れられるようになって来たのは、Cがハードウェア設計に向いているからではなく、別の理由によるものではないかと思います。
C言語をHDLとして使う試みは4~5年前ぐらい(もっと前?)からありますが、一部の現場で使用されるようになってきたのは最近(1~2年前ぐらいから?)の話だと思います。採用されるようになった理由は、
(ごく簡単に言えば普通にコンパイルして普通に実行するだけ)
# 怪しげなので識者・経験者のツッコミ歓迎
ということで、私はC言語は非ノイマンな用途への流用にはあまり向いていないんじゃないかな、と思います。
Re:100年たっても生き残る言語 (スコア:1)
>C言語をHDLとして使う試みは4~5年前ぐらい(もっと前?)から
>ありますが、一部の現場で使用されるようになってきたのは
>最近(1~2年前ぐらいから?)の話だと思います。
>採用されるようになった理由は、
わたしは、ハードウェアの設計が出来る人間が少ないし、増えにくいので、
計算機言語の論理などを理解できるソフトウェア技術者をハードウェアの
設計者に転用するための方便だと思っています。
#ま、(Cからの変換とは言え)HDLが書けるだけではハードウェアの設計は
#完了しないので、HDLを作った後にいろいろ他のシミュレーションするの
#からは、逃れられはしないんですけどねぇ・・・。
---- redbrick