关于java:聊一下各种编程语言

4次阅读

共计 1853 个字符,预计需要花费 5 分钟才能阅读完成。

目前风行的编程语言

很显著 python,c,java,c++,c#,javascript,php, 汇编,go 这些语言目前还是支流语言。
我置信,进入 IT 互联网行业工作一段时间的敌人多多少少也应该用过下面的语言,同时大家可能听到过上面的舆论

在不少论坛,探讨群,平台上很多人都在探讨某某语言如何如何,那么在这里我给各位讲一下这些语言,它们最终的实质。如果你想看视频,能够看看(最好联合视频看)https://www.bilibili.com/vide…

大部分状况之下,咱们都是在 win/mac 上开发咱们的我的项目,而后将代码部署在 Linux 零碎下运行(这状况在互联网公司居多,其它部署在 win,mac 上也有,不过很少,不在本文讲述之内),而后咱们会在 Linux 下启动咱们的程序给用户提供服务。那么咱们晓得会有各种编程语言编写的利用,在这里咱们举个例子,向屏幕输入数据的性能,给各位演示一下各种编程语言它们在底层调用的是什么货色。

在这里,我先给最终的后果图

机器平台

java 编程语言测试


rust 编程语言测试


python 编程语言测试


golang 编程语言测试


php/node/c/c++ 一样不在测试(大家能够自行测试)

大家看到了几个要害的零碎函数 execve,write 这 2 个函数在 1991 年就曾经存在,能够查看 linux 0.11 版本内核源码就能够看到,也就是说下面这些编程语言呈现工夫不同,然而它们都要运行在 Linux 零碎之后,要操作屏幕就必须要借助零碎调用,否则是无奈间接操作显存,读写显存的。

execve/write 零碎函数

这 2 个函数是 Linux 零碎函数,属于比拟原始底层的函数了,简直任何编程语言都要通过它们来实现相应的性能,因为没有哪个语言能间接绕开操作系统间接操作硬件的,毕竟没有几个人晓得 intel 芯片,内存芯片,网卡芯片,显卡芯片的 datasheet,能间接操作芯片的寄存器的。
这些零碎函数还有很多,能够分为过程管制相干,中断信号相干,文件操作相干,网络 socket 编程相干等大量的零碎函数。理解这些零碎函数并把握应用,对于咱们应用 php,java,python,golang,rust,c,c++,nodejs 等将有极大的帮忙和驾驭编程能力。
置信大家看完下面的测试,应该晓得咱们用的货色局部技术曾经成型于 20 年前,30 年前,10 几年前了,只不过被一群大佬(欧美公司或集体封装了一堆编译器,解释器,搞出了一堆各种语法的编程语言)弄出一堆语言(它们在应用上只是语法不同)。

intel 处理器

32 架构的呈现工夫在 1985 年,目前仍然在应用,64 架构的呈现晚一些,但 Linux 零碎照样兼容
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
而 intel 芯片的指令集零碎个别是出厂就固定了,如退出指令汇编是 ret, 机器指令就是 C3,只有编译 器厂商将本人创造的各种语法(编程语言)最终编译出 intel 芯片能辨认的机器指令码就能够了,轻易你语法怎么变。如 c /c++ 应用退出函数 exit 时,在底层的汇编指令就是 ret, 机器指令码就是 c3.

总结

通过下面的演示(用各种语言向屏幕输入数据的性能)最终运行在同一个零碎 Linux 上,即运行在同一块处理器上 intel 芯片,所以机器指令完全一致,同时通过 linux 的 write 零碎函数达成目标。
那么针对下面的问题,谁高谁低,谁是旧谁是新技术置信大家会本人判断。

那么意味着我只有通过 java,php,python,golang,rust,c,c++,node.. 等轻易某一门编程语言把握到外围底层的货色,也就意味着你用啥语言都一样了,只是语法不同,比方我喜爱钱,通过各种语言示意
中文:我喜爱钱
英文:I like money
法语:J’aime l’argent.
俄语:Я люблю деньги. 

那么在这里我想说的是:比方你先把 php, 或是 python, 或是 golang 等把握到外围底层(就是 Linux 的零碎函数,在 Linux c 核心技术就讲过了),而后你再转某一门语言那是轻松许多因为你只是学一下它的语法完事,而外围底层你曾经会了。

我通过 php 把握了外围底层
我通过 python 把握了外围底层
我通过 golang 把握了外围底层
我通过 java 把握了外围底层
我通过 node 把握了外围底层
………………

疑难

那我学外围底层有啥用?我把握某门语言,某框架就够了,干嘛学外围底层?
https://www.bilibili.com/vide…

正文完
 0