学过「纯种」的 OOPL 之後才能学 C++ 吗?
不是(事实上,这样可能反而会害了你)。
(注意:Smalltalk 是个「纯种」的 OOPL,而 C++ 是个「混血」的 OOPL。)读这
之前,请先读读前面关於 C++ 与 Smalltalk 差别的 FAQs。
OOPL 的「纯粹性」,并不会让转移到 C++ 更容易些。事实上,典型的动态系结与非
子型别的继承,会让 Smalltalk 程式者更难学会 C++。Paradigm Shift 公司曾教过
数千人 OO 技术,我们注意到:有 Smalltalk 背景的人来学 C++,通常和那些根本
没碰过继承的人学起来差不多累。事实上,对动态型别的 OOPL(通常是,但不全都
是 Smalltalk)有高度使用经验的人,可能会“更难”学好,因为想把过去的习惯“
遗忘”,会比一开始就学习静态型别来得困难。
【译注】作者是以「语言学习」的角度来看的。事实上,若先有 Smalltalk 之类的
物件导向观念的背景知识,再来学 C++ 就不必再转换 "paradigm"--物件
导向的中心思维是不会变的,变的只是实行细节而已。
不是(事实上,这样可能反而会害了你)。
(注意:Smalltalk 是个「纯种」的 OOPL,而 C++ 是个「混血」的 OOPL。)读这
之前,请先读读前面关於 C++ 与 Smalltalk 差别的 FAQs。
OOPL 的「纯粹性」,并不会让转移到 C++ 更容易些。事实上,典型的动态系结与非
子型别的继承,会让 Smalltalk 程式者更难学会 C++。Paradigm Shift 公司曾教过
数千人 OO 技术,我们注意到:有 Smalltalk 背景的人来学 C++,通常和那些根本
没碰过继承的人学起来差不多累。事实上,对动态型别的 OOPL(通常是,但不全都
是 Smalltalk)有高度使用经验的人,可能会“更难”学好,因为想把过去的习惯“
遗忘”,会比一开始就学习静态型别来得困难。
【译注】作者是以「语言学习」的角度来看的。事实上,若先有 Smalltalk 之类的
物件导向观念的背景知识,再来学 C++ 就不必再转换 "paradigm"--物件
导向的中心思维是不会变的,变的只是实行细节而已。
Go confidently in the directions of your dreams,live the life you have imagined!Just do it!
It is no use learning without thinking!