做web开发已经有5年多了,现在觉得如果想让自己在技术上有所提高,必须在C语言、数据结构和算法上下点苦功。以前我也是零零散散的学习C语言,总是没有耐心坚持下来。——这次我得下决心学好了。

AD:


    介绍

    做web开发已经有5年多了,现在觉得如果想让自己在技术上有所提高,必须在C语言、数据结构和算法上下点苦功。以前我也是零零散散的学习C语言,总是没有耐心坚持下来。——这次我得下决心学好了。

    为什么我学习C呢?

    1、php内核是用C开发的。

    如果你想知道某个函数是怎么实现的,手册有的时候是说不明白的。——你敢保证你能把你写的代码中所有函数,所有类说明白吗?我估计你一般心里明白。 ——所以看代码是最直接和最有效的。

    如果你想做一些特殊优化,或者需要一些特殊的加密,通过扩展实现这些功能,那么使用C是首选。

    很多数据结构和算法的书是以C为基础语言。就像英语是国际语言一样,C语言应该是程序员的国际语言吧?

    C比较接近于底层,能更直接的控制计算机。PHP只是在应用层面上,想直接控制底层硬件设备,比如寄存器,缓存,还是比较困难的,所以C对底层硬件的控制和优化是不二的选择。

    很多开源软件使用C开发的。如nginx,apache,linux,memcached,MySQL等等,你想真正用好这些软件,不是一个简单的配置或架构,就能做好的,你必须能够把他们关联起来,那么C又是一个不二的选择。——这个主要是我发现我们公司UC部门就是用C把这些软件串起来的,具体怎么弄的搞不清楚。

    还有大家都知道的linux,unix是用C写的,所以我学习C语言是"必须的"。

    C语言虽然有很多优点,但是随着应用的不断深入和广泛,其本身所拥有的弱点也显现出来。

    容易造成内存泄漏。类型检查机制较弱。代码冗余处理不够。

     

    攻占堡垒

    Linux下的C语言编程环境;文件编程;标准I/O库;进程操作;线程操作;网络编程;数据库编程

    计划

    1、从书籍入手

    要想学好C语言,我得从书籍入手,没有办法,又不能在学校那样,有老师带。到社会上,程序员培养的就是自学能力。通常我都是从书入手。

    有人会问了,为什么不通过博客入手学习啊?这个我以前也这样做了,但是后来发现,学得东西零零散散的,没有一个统一性。而书呢?能系统的进行学习。

    2、看代码

    看国内程序员的代码:比如张宴的httpSqs。——这个代码我早期研究过,也手动打过里面的代码。看开源的代码:比如试着看看PHP 内核,memcached,nginx这些代码,看能不能看懂。

    3、沟通

    多参加一些社区(如http://sourceforge.net/),我也试试,能不能参与到里面。——初期,我先自己试着写一些小工具。多跟这方面有经验的人沟通(我很赞同一点,要多跟一些牛人沟通,那么你也会变的牛起来,要把这个当成习惯)。

    4、写代码

    资源

    我已经买了一本书《精通Linux C编程》,本来想找电子版的,但是没有找到。——我个人比较喜欢电子版的书,带着方便,家里,公司都能看。 

    图录
     
    计划表

                              进度图

                             监督你

    总结

    我个人觉得我们做事情必须要坚持,否则同一件事情你失败两次,一般你就会放弃它。所以坚持之后,会有我们意想不到的收获。

    原文链接:http://www.cnblogs.com/baochuan/archive/2012/06/20/2554983.html

    【编辑推荐】

    【责任编辑: 张伟 TEL:(010)68476606】

    Logo

    华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

    更多推荐