哎,无语..如何才能跟上时代?
java 语言的结构
我自定义语言的结构
=========================
2021/11/10
补充几句吧,可能有些人看不懂
为什么有这两张图,其实是给XX技术研究院的那帮人看的..一群废物.
号称能代表公司级别的技术评委, 废物一样. 最起码的理论都不清楚
你最起码百度一下也不至于犯低级错误, 公司技术氛围太差劲. 强哥不陪你们玩了,一帮弱智.
首先普及一下常识
我们通常说的计算机语言 对于初学者来说, 就是 写代码, 运行,看结果
实际上, 计算机编程语言的体系又分为几部分
- 编程语言 : 指得是 语法,关键字,规范,可用标识符等
- 语言编译器: 指编译原理,将编程语言编译为机器码,适用于机器执行
- 运行时环境: 指机器语言运行的环境,只有在这里,你才能看到执行结果.
拿java举例子.
如果写了一篇.java
文件, 其实和你写了一个文章意义差不多, 就是用各种标识符组合出来的一个逻辑,那么这些逻辑要有语法结构和一些特定的关键字构成. 这个时候,你关注的只有 语法和关键字,对于计算机来说没有任何意义.
接下来如果要执行代码, 首先需要进行一次编译 就是传说中的javac
, 要知道, javac
这个东西属于java体系
, 但是不属于java语言
. 就好比说, 唐诗是文学, 但是反过来说就不对, 你不能说 文学是唐诗,这个时候
放到这里也是一样的, java体系
里面包含了 java语言
以及他的编译器javac
经过了编译,如果没有中间代码,你才可能拿到计算机识别的内容 .如果是有中间代码, 需要接下来的二次编译或者解析才能得到计算机能识别的内容 其实就是一堆 1和0的组合
当你拿到javac
的结果以后, 接下来需要一个java运行时环境
,也就是传说中的jre
. java的体系
也提供了一个指令 叫做java
. 所以虽然都叫java
但是却不是一个东西,这个java指令
最后将javac
出来的结果,也就是class
放到了jre
提供的运行时环境 jvm
中运行, 这个jvm
市面上有很多发行版本,各有所长, 还有一些非jvm
的运行环境,也能运行 .java
所以 这里我们要说 java体系
其实是这样的
- java 语言
- java 编译器(各种工具包)
- java 运行时环境 (JRE)
那么话又说回来了,其实不只java语言
能运行到jvm
上, 很多语言都可以运行到jvm
上, 比如说 groovy
,scala
,kontln
等等,
他们这些开发语言只是做到了生成一个叫做字节码
的中间代码,输出文件到了class
这一块就截止了,其他都给jvm
了
为什么说公司技术研究员这帮是废物呢,因为他们认为 语言就是 从写代码,一直到出结果这个过程,就和刚毕业小白是一样一样的..
在他们眼里, 编程语言就应该和C/C++
一样, 中间代码都是人类看不懂的,必须是机器码.
那你们谁给我解释一下, typescript
这种算不算语言,直接转换成javascript
的,他只有自己的语法,他所谓的编译器也就是一个代码转换器
宏观意义上来说, 所有的编译器,都可以认为是代码转换器
还有一些语言的中间语言是C
语言, 你们自家用的holon
不也号称语言么,他本质上就是转换成了C++
这些废物说,编译器不应该从高级语言转换为高级语言
强哥无语了,只能希望这些 废物 多看看书,少吹牛逼,多干实事,不要站到公司的角度丢人现眼了..
不要动不动的人工智能区块连, 分布式来微服务, 什么集群负载高并发的. 吹牛逼我也会,落地试试?
我不知道你们研究的低代码平台的时候,不研究语法树构成的情况下, 你是不是只是用 模板生成目标代码的?
不然说你们废物 都觉得对不起废物 这个词..