“Components have the encapsulation and abstratction
characteristics of objects. Addtionally, they are part of a
technology framework that defines the standards for their
structure, capabilities, and interaction. The most useful
components are also a part of, or work with, a business
framework.”
【按﹕Technology Framework, 例如﹕COM/DCOM CORBA
JavaBeans】
【眼尖的網友們大概一下就看出 inheritance, 和 polymorphism
不見了】
就像 OOP 定義 Objects 一樣 CBP 也得定義 Components
這個是問題的核心所在
OOP 經過近 20 年的反覆討論 大家逐字逐句的研究 終於
有一個大部份人都可以接受關於在“OOP”裡 Object 的
定義
但是慢慢地【大概 10 年前吧﹗】OOP 已經不再是軟體
研究學者對於發展軟體方法的【熱門】研究重心了
CBP 似乎愈來愈有淩駕 OOP 的氣勢
【這是為什麼 Object Magazine 要改名的原因 寫到這裡想到
“小明”網友說在臺灣大家都在看 MSJ 或 DDJ 大概也沒什
麼人知道 Object Magazine了 http://www.sigs.com 】
【我個人的比方是這樣的﹕
PC Magazine ﹕: 翡翠 美華報導
MSJ DDJ ﹕天下 統領
Object Magazine ﹕ 傳記文學】
I am going home, post later.
十年前??? 那麼早!!!!
我還一直以為 CBP 只是這4,5 年的事呢!!!
CBP 會有這樣的氣勢我想就是層次上的不同
OOP 強調的是 Coding/Maintaince 的方便性
指的是 Source level 的
而 CBP 卻跳脫這個層次 強調的是 binary level
不過拿這兩者來比好像怪怪的說!!!
: 【這是為什麼 Object Magazine 要改名的原因 寫到這裡想到
: “小明”網友說在臺灣大家都在看 MSJ 或 DDJ 大概也沒什
: 麼人知道 Object Magazine了 http://www.sigs.com 】
這個 Object Magazine 就是現在的 Component Strategy 嗎???
另外 Component Strategy ctang 你是如何訂的
一年多少錢呢????
幾天前拿到 sigs 免費送的 C+ report
一年就要 80 英磅 換算起來要 4500 左右
實在是太貴了
--
假如人的能力以他的腦細胞利用率來衡量
那號稱本世最聰明的愛茵斯坦
也不過是一堆超級大白癡中最聰明的一個罷了
CBP 這個名字的出現會早得嚇死人 1968 !!!
【希望沒記錯 好像是在 NATO 的一個 conference】
其實這概念一直都有的
說它和 OOP 比 怪怪的 倒也不盡然
【一個 subroutine, 一個 function 算不算是 component 呢﹖
甚至一個 operator 算不算是 component 呢﹖】
當然 假如把 Technology Framework 【COM JavaBeans】
拿進來 當然比起來有點不倫
可能是我的想法比較接近 CMU 那群 Software Architecture
的人吧﹖
事實上 CBA 【不是被 NBA 吸收的那個】也是門大學問呢﹗
這點就我的觀點來看是與 OOA + OOD
最不同的地方 因為 CBA + ??? + CBD ~ OOA + OOD
這個 ??? 就是怎麼用 UML 裡的 use cases 了﹗
而 OOA 和 OOD 通常界線很模糊【Booch 說的 與我無關】
我是覺得 CBA ??? CBD 應該會分得很清楚
【這個 ??? 我用的名字是 Software Technology Mapping
STM (或許 CBM 也不錯 嗯﹗我再想想看)】
>: 【這是為什麼 Object Magazine 要改名的原因 寫到這裡想到
>: “小明”網友說在臺灣大家都在看 MSJ 或 DDJ 大概也沒什
>: 麼人知道 Object Magazine了 http://www.sigs.com 】
>
> 這個 Object Magazine 就是現在的 Component Strategy 嗎???
YES, SIR !
Their title:
Component Strategies (Formerly OBJECT Magazine)
> 另外 Component Strategy ctang 你是如何訂的
> 一年多少錢呢????
> 幾天前拿到 sigs 免費送的 C+ report
> 一年就要 80 英磅 換算起來要 4500 左右
> 實在是太貴了
說實在話 我也不知道怎麼訂的【Object Magazine】
大概他們看我順眼就“送”我了吧﹖:)
也許是不曉得什麼時候有和某個 SIGS 的人
連絡過或什麼的 反正兩三年來都沒間斷過
我也沒收到過帳單就是了【其實我也會付的 :)】
我是怕我問了 反而會沒了 所以就沒問了
手上最起碼有五六本雜誌是這種狀況
所以沒事 Social Social 還是值得的 :>
80 英磅 ?
Let me see ... one year(twelve issues)
personal: domestic $49 (~ NT$ 1700)
Canada/Mexico $74,
foreign $98 (~ NT$ 3350)
Institutional: d $149
C/M $174
f $198
(P.S. 比較多人用的關係 就像網路版比較貴一樣)
應該可以 Online Order 吧﹗
差點兒忘了 這裡還沒打完
【因為我和同事 Car Pool 他要回家我也得走】
還有什麼要說的呢﹖﹖﹖﹖﹖
對了﹗
不知道各位網友覺得要怎樣定義 Component ﹖
之前的那位【抱歉﹗用您的筆名的話好像在罵
人 :) 】網友提了 Binary Level 和 Source Level 的
不同 不知道這定義需要加上這個嗎﹖
我是比較傾向用較廣義的範圍去定義 Component
也就是 Libraries, Behavior description, Patterns,
甚至 Templates 都算上 這樣在作 Automated
Reasoning 或是 CASE tool 時 都蠻好用的
而且 用 CPN HLPN 甚至 G 這些個 PL 也很方便
來描述 Distributed Applications 或是 Concurrent
Applications 也不需要被 Synchronization Mechanism
搞得頭昏腦脹 【沒事還得去理理頭 去教人用叉子
吃飯】
這倒也是個有趣的問題, 就我對 component 這個字的印象
以及它在討論中被使用的情形, 覺得 component 的獨立性
高(呃, 是該說它的內聚力高, 和外界的耦合程度低嗎?)一
個 subroutine 或是一個 function 可能交錯的和其它的
function 或是 subroutine 相互牽連著 (寫的不好?!) 這
樣算是 component 嗎? 若是和外界交互影響的程度小, 那
算是一種 component 嗎? 若是把 component 譯為元件,
又會引導我去直覺的認為 component 應該具備一些 property.
而不只是行為而己. 在此前提之下, function 或是 subroutine
似乎又像是 component, 您覺得呢?
我只是在 Inside COM 中看到這樣的說法罷了
對於兩者的差異實在不是很了解
就其中的講法來看
確實 CBP 與 OOP 的差異就是 binary 與 source 的不同
: 我是比較傾向用較廣義的範圍去定義 Component
: 也就是 Libraries, Behavior description, Patterns,
: 甚至 Templates 都算上 這樣在作 Automated
: Reasoning 或是 CASE tool 時 都蠻好用的
Automated Reasoning???
: 而且 用 CPN HLPN 甚至 G 這些個 PL 也很方便
CPN HLPN ?????
G????
: 來描述 Distributed Applications 或是 Concurrent
: Applications 也不需要被 Synchronization Mechanism
: 搞得頭昏腦脹 【沒事還得去理理頭 去教人用叉子
: 吃飯】
--
假如人的能力以他的腦細胞利用率來衡量
那號稱本世最聰明的愛茵斯坦
也不過是一堆超級大白癡中最聰明的一個罷了
突然覺得自己有點不行了
腦中完全想不起來 Automated Reasoning 是什麼
也不記得有 formal 的方法可以有效描述分散式系統
而不用為那些「叉子」們煩惱
我都用自己發明的方法
有些像費曼圖的東西來處理
其實我腦中的程式架構圖像並不能用單一名詞來說明
所有的名詞、工具和方法都只是在試圖更精確描述它而已
我想,對軟體的瞭解到某個程度以上的人
腦中都會有一些理想的軟體架構的樣子才對
只是我們總是不知道如何說明它
沒有人發現新的真理
卻有人想到更好的比喻來趨近真理...
還在考慮要不要接受出版社的提議
出個一系列介紹軟體技術的書
覺得又要唸好多書有點累
可是又想試試
只剩一個多月讓我決定
看到這裡,好像愈來愈讓人心虛了...
順便問問大家
希望有《世紀末軟體革命 3》
全面介紹各種軟體技術的沿革和發展嗎?
如果有可能
你們願意幫忙嗎?
這會是國內有史以來
最大的程式設計相關書藉的出版計劃了
需要很多人的幫忙才能完成
--
本來《世紀末 3》是不可能出的
不知幸或不幸
我離開了自己一手創辦的網路公司...
[m [1;34m※ 來源:‧蛋捲廣場 bbs.tku.edu.tw‧[FROM: 163.13.93.101] [m
這個是絕對正確的 因為他們將 Technology Framework
放了進來 這個在我心目中是比較狹義的解釋 但是我
覺得這很可能是目前最廣為接受的解釋 以後可能會
變成 CBP 裡 Component 的定義也說不一定
> Automated Reasoning???
The "Automated Reasoning" is concerned with the development and application
of theorem proving methodologies. Use of theorem proving methods is finding
substantial application with the increasing use of computers in
safety-critical applications, whose workings require detailed analysis.
所以這是個可以把人搞瘋的課題 看看劍橋大學一些
大叔們寫的“歪”詩吧﹗ 8)
Theorem proving sucks
I don't know why we bother
What a waste of time.
- Michael Norrish
The sun spills darkness
A dog howls after midnight
Goals remain unsolved.
- Chris Owens
Forgotten lemma?
Shameless optimist!
Use HOL, then you know it's right.
- Mark Staples
crazy semantics
embedded in a prover
raises exception
- Daryl Stewart
No more goals remain
Out the door, down the dark road
Unknowing city.
- Konrad Slind
It's blatantly clear
You stupid machine, that what
I tell you is true
- Michael Norrish
I know not a thing
to do with theorem proving -
somehow, life goes on.
- Kona Macphee
Cherry blossoms fade
Their beauty is gossamer
Theorems are blossoms
- Phil Windley
HOL words frighten me;
Axiomatization,
In particular.
- Robert Beers
Theorem proving and
sanity; Oh, my! What a
delicate balance
- Victor Carreno
This chip is correct?
Well no, but it's verified
Which means what? (you know)
- Evan Cohn
What is, may be seen
Suck and see, the answer is,
But may not be, known
- Gerard M Blair
In the cool morning
A man simplifies, a goal
A theorem is born
- Don Syme
Axiom of choice
Hilbert's epsilon serene
I construct no more
- Don Syme
Co-inductive set
I do not transgress your rules
You are well-founded
- Don Syme
Formalization:
dense phrasing... obfuscation
is side benefit.
- Trent Larson
In finding the truth
Found a tool to demonstrate false
and so what now ?
- Dirk Van Heule
Isabelle doesn't
understand me. I don't speak
her meta-language.
- Claire Quigley
>
> CPN HLPN ?????
> G????
>
這些個 PL 都是 Graphical Programming Language
【就像中文對上英文一樣 也是圖像文字】
基本上 CPN 【Colo(u)red Petri-Nets】
HLPN 【High Level Petri-Nets】 都是從 Petri-Nets
來的 因為他們沒有 Linearity 所以處理 concurrent
computing 的時候 分析起來比較自然
G Programming Language 也是 Graphical Programming
Language 我猜大概是取 “G”raphical 的 G 吧﹗
前面那篇 reply 不知有無幫助
其實長久以來 大家一直在用 Linearity 的思考模式
去觀察這個幾乎任何事情都是 Concurrent 在發生的
世界 【一個“因”通常會有 “零”到“許多”的
“果”】
>沒有人發現新的真理
>卻有人想到更好的比喻來趨近真理...
【這個說得好﹗】
>希望有《世紀末軟體革命 3》
>全面介紹各種軟體技術的沿革和發展嗎?
>你們願意幫忙嗎?
好像很好玩﹗可是我有論文要趕 打算明年春季來
給他畢業說﹗【這個是標準的一廂情願 :(】
手上資料倒是很多 有整理過的【先聖先賢】的論文
大概有兩千多篇吧﹗大部份是軟體工程 正規方法
和 VLSI Design 方面的文章 看看有沒有可以幫得上忙
得地方
其實給這個問題的答案是很難的
我之前的問題其實蠻亂七八糟的 既沒給 Domain 又不設 Range
不過您倒是給了一個“放諸四海皆準”的答案
(它的內聚力高, 和外界的耦合程度低)
Cohesion Coupling
應該是指這兩個吧﹗
【PS 我人在美國 有些名詞的正式翻譯我有時搞得迷迷糊糊的 :<】
我覺得這個倒是 Component 的核心所在﹗
嗯﹗謝謝您了﹗
請問,CBP是什麼?
--
Oh! What is this ?
char p[]="char p[]=%s%s%s,e[]=%s%s%s%s,q[]=%s%s%s%s;main(){printf(p,q,p,q,q,
e,e,q,q,e,q,q);}",e[]="\\",q[]="\"";main(){printf(p,q,p,q,q,e,e,q,q,e,q,q);}
就是 Component based programming
--
假如人的能力以他的腦細胞利用率來衡量
那號稱本世最聰明的愛茵斯坦
也不過是一堆超級大白癡中最聰明的一個罷了
啊﹗對呀﹗還有個中華職籃也叫 CBA 【我出國時還沒這東東
只有一個中華職棒“大”聯盟 ﹖是不是也叫CBA﹖或CBL﹖ 】
不過我想的是Continental Basketball Association
就是 Official Developmental League of the NBA
在這個 League 的 players 打得好的話 就“雞犬昇天”進入 NBA
ABA 死了好久嘍﹗【不過他們用的球蠻好玩的 看錄影帶那些
蓬蓬頭 緊身褲也是一絕 花招也多】
有印象是因為雪大的籃球隊還不錯 :)
有沒有人有興趣來聊今年的足球啊【football 啦 不是一場得個一
兩分的那種 每次看每次睡著說】
今年橘人隊第一場對田納西大學 第二場對密西根大學
大概還沒有隊有這種賽程吧﹗
》》》》》離題太遠了 :P
【PS 在美國不談棒球 籃球 足球 Bar-B-Q 好像沒人要理你 總
不能一見面就說“Hello! There is an excellent article about the
software engineering and computer science getting divorce in the
COMMUNICATION of the ACM. Page 128 by Peter J. Denning.
What do you think about it ?”】【再PS 前面這一段可不是胡謅
的 這期的COMMUNICATION of the ACM 真有這篇 還真的蠻有
意思的 大家假如有興趣的話 我們再開個 Thread 來聊聊】
打個小小的岔, 被NBA吸收的是ABA, CBA是中華職籃聯盟...
沒事, 請諸位繼續...
--
* Origin: ★ 交通大學資訊科學系 BBS ★ <bbs.cis.nctu.edu.tw: 140.113.23.3>
先不管 Testing 當然也就不管怎麼把CB App 切得一片片
【...想到士林夜市大香腸的笑話... :)】
來 test 了 先把他認為目前最流行的三種 Models 拿來看看﹕
“
COM/DCOM (from Microsoft): To many developer, a "component
application" means any system developed with DCOM-based
ActiveX controls. COM is an umbrella for Microsoft's strategic
technologies, including DCOM, COM+, MTS and ActiveX. COM
components are binary executables. DCOM is the component
model for all Microsoft Visual Languages (including Visual J++).
【按﹕Microsoft 這個字 可能不常看到 因為大家都用 M$ 用習慣了 :)】
JavaBeans and Enterprise JavaBeans (from Sun's Java Software
Division): JavaBeans are Java classes that are mainly useful for
supporting client-side user interface development. Enterprise
JavaBeans is a pure component model, offering a Java API to a
wide range of distributed object services.
【嗯﹗原來琥珀戈碧柏在銀河飛龍裡也賣爪哇咖啡﹗】
CORBA (from the Object Management Group): The CORBA
Component Model supports implementation and deployment of
component-based applications in a variety of languages and
environments, including the component models of Sun and
Microsoft.
【記得以前有人問過 CO-BRA 是不是 WONDER-BRA 的新產品 :P】”
打這麼多 只想問一下 有沒有人有興趣把符合這三種 Models
的 Components 可以把它們湊起來作成 Applications 而不需要
再用一些 Tools 如 VB VC++ 來“搞”【老共的說法】
我已經大致完成 COM/DCOM 的部份 想看看有沒有人有興趣
加上另兩部份把它作成 freeware 給大家用
至於規格等我們可以在網上慢慢討論
【事實上我有一個 extended C++ 的 version 那個是將 所有
classes templates 都當成 components 但礙於 contract 我不能
release 那個版本 不過基本概念是相同的】