zoukankan      html  css  js  c++  java
  • “C语言” 读书札记(一)之[读书计划]

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

     
    为什么我学习C呢?
     
    1、php内核是用C开发的。
     1》如果你想知道某个函数是怎么实现的,手册有的时候是说不明白的。——你敢保证你能把你写的代码中所有函数,所有类说明白吗?我估计你一般心里明白。 ——所以看代码是最直接和最有效的。
     2》如果你想做一些特殊优化,或者需要一些特殊的加密,通过扩展实现这些功能,那么使用C是首选。
    2、很多数据结构和算法的书是以C为基础语言。就像英语是国际语言一样,C语言应该是程序员的国际语言吧?
    3、C比较接近于底层,能更直接的控制计算机。PHP只是在应用层面上,想直接控制底层硬件设备,比如寄存器,缓存,还是比较困难的,所以C对底层硬件的控制和优化是不二的选择。
    4、很多开源软件使用C开发的。
     如nginx,apache,linux,memcached,MySQL等等,你想真正用好这些软件,不是一个简单的配置或架构,就能做好的,你必须能够把他们关联起来,那么C又是一个不二的选择。——这个主要是我发现我们公司UC部门就是用C把这些软件串起来的,具体怎么弄的搞不清楚。
    5、还有大家都知道的linux,unix是用C写的,所以我学习C语言是"必须的"。
     
     
     C语言虽然有很多优点,但是随着应用的不断深入和广泛,其本身所拥有的弱点也显现出来。
      1)容易造成内存泄漏。
      2)类型检查机制较弱。
      3)代码冗余处理不够。
      
     

     

      
    攻占堡垒
     
     1、Linux下的C语言编程环境
     2、文件编程
     3、标准I/O库
     4、进程操作
     5、线程操作
     6、网络编程
     7、数据库编程
     
     
    计划
     
    1、从书籍入手
      要想学好C语言,我得从书籍入手,没有办法,又不能在学校那样,有老师带。到社会上,程序员培养的就是自学能力。通常我都是从书入手。
      有人会问了,为什么不通过博客入手学习啊?这个我以前也这样做了,但是后来发现,学得东西零零散散的,没有一个统一性。而书呢?能系统的进行学习。
    2、看代码
      看国内程序员的代码:比如张宴的httpSqs。——这个代码我早期研究过,也手动打过里面的代码。
      看开源的代码:比如试着看看PHP 内核,memcached,nginx这些代码,看能不能看懂。
    3、沟通
      多参加一些社区(如http://sourceforge.net/),我也试试,能不能参与到里面。——初期,我先自己试着写一些小工具。
      多跟这方面有经验的人沟通(我很赞同一点,要多跟一些牛人沟通,那么你也会变的牛起来,要把这个当成习惯)。
     
    4、写代码

       
     
     
    资源
     
    我已经买了一本书精通Linux C编程》,本来想找电子版的,但是没有找到。——我个人比较喜欢电子版的书,带着方便,家里,公司都能看。
     
    其他的电子书籍,你点击可以下载。
     
    《C程序设计语言(第2版·新版)》 ——看过,但是未“破万卷”
     
    《C 专家编程》 ——未看,看完《精通Linux C编程》之后再看。
     
    《Linux C编程一站式学习》 ——未看(博友提供)
     
     
     
    图录
     
    计划表

                              进度图

                             监督你

    总结
     
      我个人觉得我们做事情必须要坚持,否则同一件事情你失败两次,一般你就会放弃它。所以坚持之后,会有我们意想不到的收获。
      我希望大家也能给我好的建议,帮助我进行学习。我在C方面是个典型的菜鸟,多多赐教!
     
    推荐
     
  • 相关阅读:
    Redis使用初步
    Servlet Java Web开发(3.1) request response
    TcpClient例子(2)更robust的程序
    C#多线程之ManualResetEvent,Thread,ThreadPool,BackgroudWoker
    使用TcpClient的例程
    C#中多线程修改UI
    C# 多线程之异步回调
    Servlet Java Web开发(3) request response和编码
    Eclipse 和MyEclipse下Servlet Java Web开发(2)
    Eclipse 和MyEclipse下Servlet Java Web开发(1)
  • 原文地址:https://www.cnblogs.com/baochuan/p/2554983.html
Copyright © 2011-2022 走看看