后端技术面试 38 讲
李智慧
同程艺龙交通首席架构师,前 Intel& 阿里架构师,《大型网站技术架构》作者
37373 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 46 讲
不定期加餐 (1讲)
后端技术面试 38 讲
15
15
1.0x
00:00/00:00
登录|注册

07丨编程语言原理:面向对象编程是编程的终极形态吗?

Java
Basic编程语言
C语言
Fortran
面向对象编程的发展趋势
面向对象编程的实际情况
不同编程语言的应用场景
面向对象编程的本质
软件危机
反应式编程
函数式编程
面向对象的编程语言
面向过程的编程语言
高级编程语言
面向对象编程
面向程序员编程
面向机器编程
思考题
软件编程的本质
编程语言的发展
面向对象编程
编程技术的发展

该思维导图由 AI 生成,仅供参考

软件架构师必须站在一个很高的高度去审视自己软件的架构,去理解自己的工作在更宏大的背景中的位置和作用,才能构建出一个经得起时间考验的软件系统。这个高度既包括技术的高度和深度,也包括对软件编程这件事认知的程度,比如对软件编程的历史和未来的理解,以及对自己工作的价值和使命感的理解。
计算机软件编程是个非常新兴的行业,程序员这一职业的出现不过半个多世纪,但是人类从事软件编程的探索却要久远得多,在计算机出现之前,甚至蒸汽机出现之前,人类就开始探索软件编程了。
最早开始编程探索的人是德国人莱布尼兹,早在 1700 年代,莱布尼兹就期望将各种事物都通过一种逻辑语言进行描述,然后用一种可执行演算规则的机器进行计算,就可以计算出事物的各种结果。这种思想其实和我们现代的软件编程与计算机已经差不多了,莱布尼兹为了实现这个想法,进行了大量的工作,获得了丰硕的成果,其中就包括了微积分和二进制
但是人不能超越自己的时代,莱布尼兹制造可编程计算机的梦想并没有成功。又过了 100 年,法国人雅卡尔发明了一台可编程的织布机,这种织布机通过读取纸带上的打孔,进而控制织布机织出不同的图案。于是人们开始尝将打孔纸带用于计算机编程,19 世纪中叶,当英国人 Ada 利用打孔纸带写出人类第一个软件程序的时候,距能够运行这个程序的计算机的发明还有 100 年的时间,而这个程序已经包含了循环和子程序。Ada 因此被认为是人类第一个程序员,准确的说,是程序媛。科技发明受时代的限制,天才们的想象力和聪明才智却可以超越时代。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

面向对象编程:从历史到未来 本文深入探讨了软件编程的历史脉络和未来发展趋势。从莱布尼兹到冯诺依曼,文章回顾了计算机编程的起源和演进历程。随着软件规模的膨胀,面向过程的复杂性增加,导致了软件危机的出现。软件编程的本质是解决现实世界问题,应关注客观世界的事物本身。随着计算机性能和互联网应用需求的增加,软件编程需要考虑更好地利用CPU的多核和分布式集群的特性,反应式编程得到更多关注。面向对象编程的发展和挑战也被提及,而面向数据的编程需求增加,函数式编程开始受到青睐。文章呼吁软件架构师站在更高的高度审视软件架构,构建经得起时间考验的软件系统。 综合来看,本文通过历史的角度深刻探讨了软件编程的本质和发展趋势,引发读者对软件架构的审视和思考。文章内容丰富,为读者提供了对软件编程技术发展的全面了解,以及对未来发展趋势的展望。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《后端技术面试 38 讲》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(27)

  • 最新
  • 精选
  • 小东
    什么是反应式编程,有比较好的事例吗?

    作者回复: 模块2会专门讲反应式编程

    2019-12-05
  • 许童童
    老师的文章写得好啊,通过历史看现在,真的是妙。
    2019-12-02
    1
    25
  • 芒果少侠
    go天生的并发优势很适用于高并发网络通信应用的场景。 java的可维护性强,而且性能也很好,适合迭代多、业务变化快的大型web应用开发。 c/c++接近底层,适合图像处理、音视频解码等对性能有要求的场景。 至于shell/python等,更适合用于批处理工具、脚本开发等。
    2020-03-23
    21
  • 不记年
    一些简单的任务,代码量比较少的可以采用shell,python这样的动态语言, 企业级开发,对软件质量有较高要求的需要采用更加规范的静态语言 java 对软件性能有很高要求的需要采用更加贴近计算机底层的编程语言c/c++
    2020-01-31
    10
  • Farewell丶
    这篇文章其实更倾向于哲学上辩证的批判编程语言的发展。确实在实践中我们不一定都用OOP,而是多种面向共用的。趋势是越来越不是局限于工具,思想,流派。而是以解决具体的问题来开放的使用更重更加适合良好的素材来搭建解决方案。不是一种基础就可以做出来的工程,而是一个系统性的工程。是解决问题导向的。
    2020-01-13
    7
  • Geek_e06c0f
    做到完全面相对象编程是说领域驱动设计DDD吗?
    2019-12-02
    5
    7
  • Haan
    能不写代码就能解决的问题,尽量不写代码
    2019-12-31
    6
  • 志江
    行云流水, 太厉害了, 这得多深刻的认识和理解才能将如此枯燥且繁杂的语言发展, 描述的如此清晰透彻, 绘声绘色, 入木三分.
    2020-09-11
    5
  • ple
    这篇读完收获很大🦆
    2019-12-02
    2
    5
  • Paul Shan
    计算机语言和人是协同进化,早期的机器语言,汇编语言实在太难用,C语言以及那个时代的语言都是主要解决这个问题,我想以后流行的语言也必然是用户友好的。 后来程序越写越大,复杂度很难控制,后来出现了面向对象的编程语言。这里,我想当年Unix操作系统,大神用C语言也没问题,面向对象的编程主要还是让普通人控制软件的复杂度。我想将来流行的语言应当是容易控制复杂度,容易切分代码。 编程语言是一个工程问题,要权衡利弊,很难有一种语言在所有维度上都得高分,所以将来大概率是一个百花齐放的时代。
    2019-12-03
    3
收起评论
显示
设置
留言
27
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部