[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends:00081] Re: Microsoft C#



           ●●●●●資産形成についてお考えですか●●●●●
個人の資産形成に関するアドバイスを提供する金融サービスに注目が集まってい
ます。そこで、「ゆたかな生活設計を考える」資産運用のためのセミナーを開催
します。個人の暮しを対象としたわかりやすい内容です。後援/毎日新聞社 毎日
放送 主催/アドバイザーテック証券主催 → http://www.ogc.ne.jp/at-seminar
−−−−−PR−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−


上原です。

Taturou Mizuno <mizuno@xxxxxxxxxxxxx> writes:
  > > だから、そういうのはGC使えば良いのです。
  > > 「必要に応じて使う分には」と書いたはずです。
  > すでにそれが使われてしまったプログラムを手渡さ
  > れる危険はどうなるのでしょう。
  > 
  > 機能的に存在しなければ、だれも使う事は出来ません。
  > 
  > > 
  > > GCが無い C++ の場合は、std::auto_ptr<> や STL を利用することで、
  > > 生のポインタを使う機会はかなり減ると思います。
  > std、ヘルプに載っていたけど使い方がよく分かりません。
  > 
  > memsetもないのが一番いいのです。

つい最近MLに参加したので、文脈を読み違えてとんちんかんなことを言うか
もしれませんが、

「プログラマを信頼する」ことは、C,C++の根源的理念の一つです。危険な機
能であっても、プログラマの自由を制限することはしない。C#でポインタが使
えるということは、まさにC#がC, C++の継承者であることを示しています。

ただC#ではそこで言語設計上の、ソフトウェア工学的な妥協もなされていて、
unsafe という「危険領域」に閉じ込めてプログラマの注意を喚起し、安易な
使用を避けること、あるいはポインタ使用個所の局所化、明示化を狙っています。

あと別の考え方として、Javaを使っていて「本当に」ポインタが必要な場合に
どうするか、というとnative methodを使ってCだのC++でガリガリ書くわけで
すが、unsafeはメソッドはその代替となる「インラインnativeメソッド」だと
思えば、よっぽどましだと言えるのではないでしょうか。

--
§NTTS○FT 技術開発部エレクトロニックコマース技術センター 上原 潤二 §
PGP Key fingerprint = B7 C0 CB 1F 1C 88 69 2A  25 36 8A EE 93 A3 61 72