关于C和C++的争论

    好久不上CSDN了。今天新申请了一个帐号。又开始在CSDN的世界里混了。
   上来就看到关于C/C++的争论。基本上看完了所有的BLOG。呵呵 我很有耐心的。
    也在这里记录一下我自己使用不同语言的感受。
    我们在学校学的是C语言(必修),当然后来也教C++和Java(都是选修)。我在大学的时候,我所能看到的最流行的就是VC6了。所以就开始学习VC。学习VC当然就要先学好C++.我基本上还算是一个对事情都喜欢探底的人。所以对C++学习的也比较全面。由于后来就没有再用C写过实际的项目。所以我对C只有一点直观上的概念了。
  
       根据我自己的工作和学习的经历。我发现C语言比C++容易入门。以HelloWorld程序为例。虽然几乎是同样长度的代码。要理解C++版本的HelloWorld要比C难多了(仅从程序员直接接触到的内容而言)。对于C而言 需要知道的概念有头文件、main方法,printf方法,字符串格式化这几个概念就可以了。对于C++呢,除了上面的几个以外还有名字空间、对象引用、操作符重载、输出流。C++的确是比较复杂。
     C++长期以来标准很不统一,而且发展得相当的慢。一开始我一直在研究C++的那些特性。等到我实际做事情的时候才发现那些特性不能帮你做任何实际的东西。好在我用的是VC,这个C++的实现也携带了一个很庞大的库支持。几乎什么都有了。但是基本上离开了VC这些都转不了了。后来我接触到了C++Builder.发现那个代码和我以前写的很不一样。我当时就傻眼了。后来C++也出了标准,但是相对于像Java这样的语言而言,发展的特别慢。我觉得这和C++的那些顶级高手们的思维有关系,他们老是觉得C++就是用来写算法的。结果确是除了算法,用C++来做任何事情都特别困难。有几个人能够通过调用底层API来构造一个大型系统啊。再说系统API都是C接口,如果要我自己亲自去调用的话,我还用C++来干什么啊。这个问题我很困惑,C++标准委员会为什么不扩充C++标准的覆盖面?
      C++提供的语言特性过多。实在太多了。以至于到了影响其本身发展的地步了。我有时候会想这些技巧到底会有什么用呢?比如大名鼎鼎的拷贝构造函数。这个东西完全可以和C#或者Java 一样通过一个接口来提供的一个特殊方法来拷贝一个对象。但是C++就提供这样一个语言级别的特性。这个特性是比较糟糕的。因为它和其它特性链接起来的效果会导致你常常需要去看它的具体实现才知道一段代码的含义。而他提供的好处就是使用这个类的程序员可以少写几行代码。C++出世的时候就支持类的概念了。为什么不通过类型来表达特性,而要通过语言本身呢?
       从个人感情而言,我大学毕业的时候唯一能让我找到工作的技能就是C++.我当然希望C++能够发展的更好。但是希望只能寄托在C++标准委员会了。希望那些人投票的时候多多考虑C++的适用性。不要钻牛角尖了!
     
      
  
 
  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值