关于学习C/C++

 

    通常大家都将C语言和C++语言在一起讨论,就像通常我们会说C/C++一样,但C语言和C++在实际应用中还是有很大差别的。

    当前在实际的开发工作中,客户端的程序通常使用C++进行开发,而一些服务器端的程序,考虑到效率及其它一些因素会采用C语言开发。

    在学习的初期针对语言的特性进行学习,我个人认为还是从C++语言入手比较好一些。在我看来,C语言比C++语言更加“自由”,更加“简单”。但通常简单的事物是不好把握的。

    对于入门来说,我还是推荐在Windows平台下进行学习(虽然我个人更喜欢Linux)。Windows下编写C++程序(当然也可以编写纯C语言的程 序)通常使用VC++,VC++是一个提供了编写程序代码、编译、调试等整套功能的工具。宏观上来看,学习的过程是这样的: 学习C++基本语法 ---> 学习VC++提供的类库 ---> 学习标准C++ ---> 学习VC++提供的类库 ---> ... ...
开始学习C++基本语法,可以写出一些简单的小程序,而后学习VC++提供的类库,可以编写简单的带用户界面的程序提起兴趣,由于使用VC++编写程序的 时候,很多代码是由VC++这个工具生成的,所以随着学习的深入需要理解VC++生成的部分源程序,这时候会发现自己的C++基础知识不够,继而回头学习 C++基础知识中自己的薄弱点,目的是看懂VC++生成的部分源程序。如此循序渐进,在学习C++基础知识和学习VC++提供的类库之间进行迭代,从而像 滚雪球一样的进行学习。

    对于有一定基础的学员来说,也许会有一些编写小型程序的经验。那么你可以考虑深入研究一个优秀的类库,当然这个类库是有源代码的。在研究某一个优秀类库的 时候,通常是先使用,使用的很熟练了,大家能够从使用者的角度大概了解了这个类库的结构和设计思路,然后进而看源代码。在阅读源代码的同时按照他的方式对 自己以前编写过的小型程序进行重写,这个过程主要是模仿类库代码的类、方法等。针对同一个小型程序大概不断的进行重写,至少5次。在每次重写的过程中实际 上也是一种提高。这时候大家可能感觉到纯技巧方面的东西似乎并不重要,而程序的结构非常重要,有这种想法的话,可以去看看设计模式了,同时,恭喜你,你已 经有非常大的提高了。

    下一个阶段可以说是一个小的路口,一部分人偏向技术,另外一部分人偏向软件工程。

    偏向技术的人,这时候有了一定的程序设计能力,需要学习一些操作系统相关的知识了,一般的程序是在操作系统上运行的,要想写好程序,那就必须要深入理解操 作系统。这时候也许也会觉得数据结构和算法是有用的了。把以前做过的程序找出来重新写,这时候写程序会蹑手蹑脚,每写一个方法都会考虑操作系统如何运行, 运行起来是什么样子,会不会有特殊情况,并且在对一组数据进行操作的时候,会考虑是使用链表呢还是使用哈希表呢。

    偏向软件工程的人,这时候需要将代码更高层次的抽象了,好好学学UML吧。养成先思考,后编码的习惯。熟悉了UML后,开始研究软件工程。针对以前做过的 项目使用UML图进行重构,思考如何设计会更好更合理。随着设计能力的提升,如果勤于思考,逐渐会对大系统进行分析、构架。这主要还要好好学习官方的软件 工程和项目管理知识。

    到这里,可以说是从入门到提高,算是在计算机领域入门了。为什么到这里才是入门呢?因为现在你才知道你继续研究哪些东西,不是开发,是研究。而后面的研究才算是进入了计算机领域。

   整体学习的过程就是一个不断迭代的过程,不要因为一时跟不上、看不懂就放弃或者停滞不前。软件方面的知识关联性非常强。一个知识点没有看懂,没关系,随着学习到其它的知识,可能以后会很好的理解以前看不懂的知识。

    最后祝大家能够学到真正有用的知识。我们可以一起探讨。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值