如果你用C语言编写了一些程序,那么学习OOP的最佳途径是什么?
我的意图是首先采取自然的飞跃和“一加”,并采取Stroustrup。但是,既然我拿到了老贝特朗·迈耶的OOSC2和附录第1135页"..according to Donald Knuth“中的内容,用C++编程就会让Edsger Dijkstra感到身体不适,而Meyer本人则说"..that C++并不是理想的OOP语言……”
那么这个呢--对C++关于这个问题的评论:对C++的批判
如果我的意图是对现代面向对象语言有很深的理解,或者在C++中忽略了这个主题的优点,那么我应该跳过C#和或Java吗?
嗯,我知道这是一种讨论--但是我把它标记为wiki,你的答案对我来说在未来的选择中可能意味着很多。
发布于 2010-02-18 15:21:11
C++不仅仅是一种面向对象的语言。它是多范式的(过程,面向对象,功能,通用.)
所以如果你只想学OOP,也许这不是最好的选择。
发布于 2010-02-18 15:21:33
我建议C#。语法是相似的,但它的不同足以防止您重新陷入旧的C习惯。使用C++时,我总是发现自己正在编写C,偶尔也会添加一些对象。
发布于 2010-02-18 15:26:35
是。如果你的意图是“对现代面向对象语言有着深刻的理解”,那么就选择一种现代的面向对象语言。C#绝对符合“现代”的标准,并以自己是OOP而自豪。类似Smalltalk的语言可能是面向对象语言,但它不那么现代。你总能学到这两样东西。
至于C++,它几乎不是一种OOP语言。学习C++有很多好的和有效的理由,但是如果您只对OOP感兴趣的话,就不会了。
今天,C++的特点不是OOP,而是泛型编程等特性,在某种程度上受到函数语言的启发。
可以从C++中学到许多有用的经验教训。其中有几个是:
如果你问你是否应该学习C++,我会说是的(和其他5-8种语言一样)。C++在任何方面都不是“特殊”的。这是程序员可以从学习中获益的许多语言之一)。
如果您想知道C++是否会是OOP的一个很好的介绍,我会说NO。这就是为什么值得学习的原因。
https://stackoverflow.com/questions/2289642
复制相似问题