关于JAVA衍生出的一点想法

    大家好,很久没有更新博客了,今天更新的博客中,不讨论技术,主要讨论的是一些个人想法,博主在前些天和一位做PHP的同事有过一次短暂的碰撞,在这个过程中,对JAVA有了更深入一些的思考,在这里分享出来供大家点评,首先声明,以下观点仅是博主个人观点,受限于博主自身能力和经验,可能有一些观点并不完全正确,如有错误,希望大家批评指正。

    一开始,我想先说明一下,我们在讨论过程中,首先讨论的是PHP和JAVA之间的区别,之后博主有了一个想法:任何语言都是一种特殊的封装方式,语言归根结底是对0和1以及与或非的封装,语言的目的其实是降低人类使用机器语言的门槛。

    我们先从C语言开始,C语言的出现较为巧合,20世纪60年代,贝尔实验室的研究员Ken Thompson发明了B语言,并用B编写了一个名为Space Travel的游戏,按说自己写的游戏自己玩是很没意思的,但是Ken Thompson却找到了台空闲的机器 - PDP-7来玩自己写的游戏,但是这台机器没有操作系统,于是Thompson便开发了一个操作系统,后来这个OS被命名为 - UNIX,之后C语言之父D.M.Ritchie 加入到这个团队,在B语言的基础上继续开发Unix,但是Ritchie发现B语言并不适合开发,所以就在B语言的基础上进行扩充,当Unix开发完成之后,觉得扩充后的语言也很不错,就把这种语言命名成了C语言

    再之后有一位名叫Bjarne Stroustrup的开发者加入到Ritchie的团队,作为Ritchie的学生,工作了十几年之后,提出C语言的面向过程的编程思想并不适合人类的思考方式,在面向过程的编程思想的基础上发展了面向对象的编程思想,同时在C语言的基础上进行扩充和开发,也就是现在我们所说的C++。

    再之后1994年在JAVA之父詹姆斯·高斯林以及一众大神的努力下,JAVA诞生,但是在这之前的背景是由于很多成员发现C 太复杂以至很多开发者经常错误使用。他们发现C 缺少垃圾回收系统,还有可移植的安全性、分布程序设计、和多线程功能。最后,他们想要一种易于移植到各种设备上的平台。 所以才由此诞生了JAVA,而且JAVA最开始也是在C的基础上进行开发,所有的一切都可以回到起点。

    我们是不是可以这么理解,C++是对C的一层封装,是一层适配器,将C语言的面向过程封装在了底层,向外暴露出来的是面向对象的编程思想,而后JAVA对C++以及C又做了一层封装,向外暴露了类似于GC等功能接口,但是底层使用的还是native方法。而在之后的python,不论是JPython还是CPython,又是一层封装,又向外暴露了各种接口,整个过程都是为了解决某些问题,在解决问题的基础上,对各种语言进行封装,扩展,而后在封装的基础上出现新的语言。追根溯源,所有语言最终封装的都是机器语言,但是这些语言对机器语言进行封装后,很好的向人类暴露了对机器语言的使用接口,然后使平常人不需要将自己放在机器平台上考虑问题,将机器角度和人类角度解耦出来,使人类可以使用人类语言对机器语言进行操纵,其中的媒介或者说工具就是语言。

    而机器语言最根本的问题在于0和1的结合,其实博主认为0和1类似于中国传统道家文化中的阴与阳,《道德经》里面讲:道生一,一生二,二生三,三生万物。万物负阴而抱阳,冲气以为和”,阴阳构成世间万物,0和1则构成了整个计算机体系,我们所有的语言,机器,算法,数据等等都是由0与1构成的,但是0和1之间的复杂转换,并不是人类在极短时间之内能把握的,中国科幻小说《三体》中有这么一段:十万人组成了一个类似于计算机体系的阵列,可以在一段时间内模拟计算机内的与门,或门,非门以及0与1的转换逻辑。虽然是一个科幻片段,但是也反映了人类是不可能充当计算机来进行0,1计算的,那么我们自然就能想到,我们需要对0,1的计算进行封装,然后向使用计算机的人暴露接口,这个过程就是语言诞生的过程。当然顺便提一句,在传统道家思想中,阴与阳是可以相互转换的,而且可以做到阳中有阴,阴中有阳,但是在计算机系统中,我们追求的是准确性,也就是1就是1,0就是0,1和0可以相互转换,但是需要借助外力,也就是我们说的与或非逻辑,而不能自身在随意条件下进行随意转换。

    所以回到开篇我们提出的观点:任何语言都是一种特殊的封装方式,语言归根结底是对0和1,以及与或非的封装,语言的目的其实是降低人类使用机器语言的门槛。试想,如果让一个普通程序员直接使用0,1以及与或非逻辑进行编程,那么这个程序员一定是需要将自己看成一台机器的,但是很明显,不论是哪个程序员,现在都几乎不需要考虑机器是怎么转换这些逻辑的,其中居功甚伟的就是语言的存在。

    当然以上观点仅仅是博主的一些看法,由于博主个人能力有限,若有错误或者表达不清的地方,还请各位多多指教。

    在结束之前,和大家分享一句让博主一直热爱编程的一句话:代码是一座桥梁,桥的一端是碳基生命,一端是硅基生命,每个程序员都是这座人类有史以来最宏伟工程的搭建者。哈哈哈,是不是很装逼,好了,分享就到这了,谢谢各位看官。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值