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

[b-free: 1329] Re: OOに関する言語の取り扱い。(長いよ)





隆一です。


From: Hideaki Suzuki <h1suzuki@bridgew.edu>
Subject: [b-free: 1317] OOに関する言語の取り扱い。(長いよ)
Date: Fri, 10 Apr 1998 17:42:44 -0400


...[snip]...
> 
> 導入:
>  二つの類別がある。一つは型のない純粋 Object Oriented Language。
>  もう一つは型付けされた、Hybrid Object Oriented Language。
>  さらに、純粋な方は静的結合(i.e Smalltalk)と動的結合(i.e.Eiffel)に

えーと、 smalltalk って動的結合はできないのでしたっけ?
(もっとも、動的結合が私の思っている意味とは違うかもしれませんが)


...[snip]...
>  7.polymorphism(訳注:多様性?)に関する議論はある意味、
>    曖昧である。主な原因は、それが違う言語によって、余りに
>    も違った様相をとるからである。

Polymorphism の訳語は決まっていないみたいですね。
私の知っている限りでも、多態性とか、多相性とかまちまちの訳語があてはめ
てありました。


> 
> 評価[C++内でのOOP支援]:
> 
...[snip]...
>  一方、C++はそういった単一哲学のない、非常に巨大で複雑な言語
>  である。最も重要な目標の一つは効率とCっぽさを維持したまま
>  OOPを提供する事にある。そのため、人によってはこの言語の
>  色々な特徴は互いに相容れない物であり、多くの複雑さは不要な物
>  だと感じている。

はい。この辺の評価は私も賛成です。

> 
>  Chamber と Ungar(1991) によれば、Smalltalk は小さなC的な
>  benchmarks を走らせると、Cの10%しか speed が出ないとの事
>  である。一方C++で行うと、わずかな時間しかよけいに掛からない。
>  この、大きな性能の差を持って見れば、C++が商業利用で
>  Smalltalkに比べて、ずっと急成長したのもうなずける。
>  もちろん他の原因もあるが、効率は明らかに強力な論点だ。

この効率というのは、あまり当てにならないと思います。

たとえば、Smalltalk と同じく、バイトコードを使っており動的束縛の 
Java と C++ を比較してみた場合、最近の処理系ではあまり差が出ていません。

(Smalltalk と C++ とでは、性能面での市場からの圧力が違うので、その辺
を考慮しないと。特に性能は、処理系のオプティマイズによって変わってくる
ところですから)

# 大体、「小さな C 的」なベンチマークを使った時点で、結果が見えている
# ような。。。



p----------------------------------------------------------------------q
| FROM R.Night                                                         |
| E-mail:                                                              |
|         rnaitoh@st.rim.or.jp                                         |
| Key fingerprint = 89 EB 77 95 40 C0 3C CC  37 A1 A7 FA 1C 66 FF D0   |
b----------------------------------------------------------------------d