• 小结
  • 常见观点:

    • 操作系统和驱动程序都是C写的,学好C就够了
    • C++在应用层用的多,学嵌入式没有必要
    • linus大神认为C++一无是处,还学它干嘛
    • 我以后就做驱动开发,没有精力也没有必要学C++

    Unix诞生之初是汇编语言写的,但是汇编语言的开发效率太低。 所以两个大神对B语言进行改进,C语言就诞生了!

    C语言的诞生只是为了开发操作系统,所以C语言里有很多灰色地带。

    软件方法论的发展

    面向过程的程序设计

    1. 特点
    • 分析解决问题所需要的步骤
    • 利用函数实现各个步骤
    • 依次调用函数解决问题
    1. 问题
    • 软件可重用性差
    • 软件可维护性差

    面向对象的程序设计

    1. 将现实中的事物直接映射到程序中去,可直接满足用户需求

    2. 特点:

    • 直接分析用户需求中涉及的各个实体
    • 在代码中描述显示师姐中的实体
    • 在代码中关联各个实体协同工作解决问题
    1. 优势:
    • 构建的软件能够适应用户需求的不断变化
    • 直接利用面向过程方法的优势而避开其劣势

    是否需要新的语言

    高效的面对对象语言,并且能够兼容已经存在的代码。

    C语言 + 面向对象方法论,Obiective-C,C++

    C语言的加强

    • C语言和C++并不是对立竞争的关系
    • C++是C语言的加强,是一种更好的C语言
    • C++是以C语言为基础的,并且完全兼容C语言的特性

    小结

    • 所有的软件系统都是为了满足用户需求开发的
    • 对于一个团队而言,在短期内内开发出用户满意的软件系统是其核心竞争力的体现
    • 对于一个开发者而言,能够胜任系统中的任意一个模块的开发是其核心价值的体现
    • 对于一个架构师的而言,掌握各种语言的优势并合理运用到系统中,由此化繁为简,是其核心价值的体现