首页编程语言编程语言哲学教程

编程语言哲学教程

cysgjjcysgjj时间2024-04-08 02:27:08分类编程语言浏览35
导读:“面向对象编程是一种哲学思想,它试图让设计语言来适应问题,而不是让问题来适应语言”这句话中的哲学思想当如何理解?Python语言大道至简,万物互联时代,是唯一万物沟通的人工智能语言,你认为呢?“面向对象编程是一种哲学思想,它试图让设计语言来适应问题,而不是让问题来适应语言”这句话中的哲学思想当如何理解?这句话以前还真没听过,但是我给别……...
  1. “面向对象编程是一种哲学思想,它试图让设计语言来适应问题,而不是让问题来适应语言”这句话中的哲学思想当如何理解?
  2. Python语言大道至简,万物互联时代,是唯一万物沟通的人工智能语言,你认为呢?

面向对象编程是一种哲学思想,它试图让设计语言来适应问题,而不是让问题来适应语言”这句话中的哲学思想当如何理解?

这句话以前还真没听过,但是我给别人培训oop时,曾经拿哲学的概念做过说明。我就说说我的理解吧。

首先说说oop(面向对象编程),其实oop里面有个特别核心的概念就是“抽象”,我上学的时候,老师就讲过,但那时候我不理解,我相信也有很多像我一样的人,特别是初学者。oop的三大特征,封装,继承,多态,其实都是为抽象服务的。而抽象是最终实现代码高度复用,灵活扩展的主体思想。三大特征只是语言层面提供的形式,而抽象才是oop存在的灵魂。所以掌握了三大特征,并不代表能胜任oop的开发,特别是设计,只有深刻认识抽象,才能发挥oop的优势

那么到底什么是抽象?我认为,它跟哲学和艺术层面的抽象完全一致。哲学揭示的是万事万物的普遍规律,它并不针对某一事或某一物,所以它针对的是很多事,很多物。这样说其实还是不好理解,我们用艺术的抽象来说明,抽象画,多数人都看过。它之所以叫抽象画,就是因为它画的什么都不像,所以你可以认为它画的是a,也可以说它画的是b。当一个东西c,既可以是a也可以是b时,其实就是说,它具备a和b的共性,当你需要a时,你可以用c代替,当需要b时,也可以用c代替,因此c就是可以复用的。而且既然可以用c,也就不需要再去关注a和b了,当a和b变化时,只要这种变化不导致c的变化,那么使用c的人就不会察觉有什么改变。c就可以理解为oop中的接口,这也就是接口复用的一个基本描述,也是oop中提倡的面相接口编程一个特别重要的原因。

编程语言哲学教程
图片来源网络,侵删)

接口复用一个最容易理解的例子就是笔记本电脑的u***接口,它既可以接鼠标,也可以接键盘,也可以接硬盘,等等。而不需要为这些外设单独弄接口,尤其是将来有新的外设出现,难道要永不止境的在笔记本上加新的接口吗?

当然这只是一个核心的概念和思想,现实中的开***况会更复杂,为了达到这个目的,oop有很多设计原则,具体到场景还有设计模式。比如,你的笔记本要接投影仪,现在很多笔记本都没有投影仪接口,那怎么办?用接口转换器,把投影仪接到转换器上,把转换器再接到笔记本u***接口上,这也是接口复用,这就是设计模式中的适配器模式的原理。

总之,理解了oop的灵魂,你才能知道为什么要这么设计,为什么要这么写的代码,这样才能把oop真正的优势发挥出来。

编程语言哲学教程
(图片来源网络,侵删)

Python语言大道至简,万物互联时代,是唯一万物沟通的人工智能语言,你认为呢?

世界上永远没有唯一,不管是最简还是最繁都要用辨证的哲学理论去解释。当事物发展到极限,运行到一个临界点的时侯,都要向其反面转化。任何事物都是在运动中发展变化,都是相对的存在。

谢谢邀请。

作为一个IT码农,这个问题的话我想我是有资格谈谈自己的见解的。最近Python和人工智能确实是挺火的,特别是人工智能,上到国家领导人的推崇,下到各大企业人才上的竞争,无不在说着AI的重要性。当然,下一个风口的话确实很大概率会是万物互联。

编程语言哲学教程
(图片来源网络,侵删)

但有一个观点不太赞同,那就是问题中的那个唯一。不得不说,Python之所以被很多人用于AI方面的开发,主要原因是Python的生态不错,很多算法以及一些矩阵运算等都已经被封装好了,用起来很方便,在数据处理上优势还是有的,主要归功于生态好。但是呢,开发人工智能并不一定就只能是Python,至少,也有一些公司在做AI的时候用的编程语言是C和C++,而且,在某些大数据的处理上,也有使用java的。而且,C语言和j***a也都可以用在物联网上,达到软件控制硬件作用。至少,对本人来说,大学里第一次接触软硬上的通信的时候,课程的语言也是用的C。

言归正传,编程语言其实只是一门工具而已,重要的是你要知道什么时候使用哪个工具会对你带来方便,不要太过于的纠结语言之争。万物互联已达到万物沟通的手段,并不仅仅是只有Python这门语言而言。而且Python在某些方面来说也是存在鸡肋和瓶颈的,所以,很多时候,如果是大规模的万物互联和沟通的话,我想更多的会是Python结合其他语言一起完成的,取长补短,可以更好的维护系统的稳定。当然,也不否认,Python在数据处理上的优势,特别是在矩阵运算上经过numpy这个包的使用。

最后,喜欢小伙伴可以给我点赞或者是关注我哦。

[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。转载请注明出处:http://www.wnpsw.com/post/11194.html

可以语言接口
科技创新手工 编程语言流派有哪些