知秋一叶

日出而作,日入而息,凿井而饮,耕田而食,帝力何有于我哉
随笔 - 55, 评论 - 311, 引用 - 79

导航

工具

标签

每月存档

广告



访客

 

      C++和Java/C#在基本设计理念上是不同的:C++倾向于把强大的功能不计后果的推出去,让程序员自己调整适应,结果就是功能最强大,也最容易被误用的语言;Java/C#则相反,无论一个新功能能够带来怎样的性能或者开发效率优势,如果不完全清楚它在安全和易用性上可能造成的后果,那么设计者宁可限制这个功能的使用。最明显的例子是Pointer,最近在和Justin ShenLostinet... 讨论的Generics大约也算是。

    More: 对C++来说,合格的语法不一定能拼成合格的程序,像virtual destructor,copy constructor这些概念都要程序员正确理解,编译器对此无能为力。所以C++程序员通常更注重所谓Best Practice,C++著作一大半是这方面的:Effective C++, More Effective C++, Effective STL, Exceptional C++等等;C#的编译器替我们take care了太多的问题,需要注意的语法之外的事项少了不只一个数量级,所以目前C#的著作一多半只是语法讲解,有几本例外:Applied .NET Framework Programming, Advanced .NET Remoting... 寥寥几本。

   Best Practice可以用来区分高级C#程序员和初级C#程序员;但是没有Best Practice,就没有C++程序员了。

相关文章

Loading...

打印 | 张贴于 2004-04-14 00:19:00 | Tag:.NET

留言反馈

#re: Design Philosophy 编辑
有道理!
2004-08-15 17:22:00 | [匿名用户:jerry051]
#回复: Design Philosophy 编辑
是这样的,虽然C# java C++长得都很像,然而真要从C++的思路调整到C#的思路,还真需要很长时间的适应。因为对很多问题的看法,从根本的出发点上就是不同的。
2004-04-14 09:37:00 | [匿名用户:Justin Shen]
对不起,目前本随笔不允许发表新评论.

Powered by: Joycode MVC Blogger System