技术规范和技术革新的思考

99 阅读4分钟

前言

       近期一直在想为什么都说中国计算机邻域落后,哪方面落后呢?生产芯片硬件的光刻技术->芯片指令集->数据存储->操作系统->高级程序设计语言(当然还有一些其他的方面像网络等等,本文主要讲到的是高级程序设计语言这块)。

什么是高级程序设计语言?

      “用易写和易懂的形式语言来编写程序的程序设计语言。可摆脱计算机指令系统和机器语言随机器不同的约束,并设计相应的编译程序(或称“编译器”),把适用于各种机器的高级语言编写的源程序转换为中央处理器能识别的目标代码。”——百度百科。下面谈谈我的理解。

      首先,我们来讲讲计算机的工作原理,百度搜到的计算机工作原理千遍一律,理解起来比较费时费力,这里我讲一下我的理解。计算机工作主要靠的是电,早在18世纪人们就开始对电能的使用,这里我要讲到一个词“控制”,没错就是控制也可以说是指令!人们最广泛控制电路就是开与关(电流通与不通),如果电路上有个灯泡,可以想象电路通的话灯泡就能亮,电路不通的话灯泡就不亮(ps:开与关,亮与不亮。是不是很有意思?把他们看成一种信号,电信号?光信号?这里可以发散一下思维,说不定你就是光子计算机普及的关键人物​)。那么电是怎么辅助人们计算的呢?把这种信号转换成数字信号就可以了,开就1,关就是0(这种转换可以借助一些东西,比如早期的穿孔纸带),这不就能做计算了(怎么计算写起来比较麻烦,大家有兴趣自己了解,也可以自己琢磨一下)。讲到这里估计大家都理解了,早期的程序就是写在穿孔纸带上的,一些常用的程序就会被保留下来,一代代优化,从而形成现在的cpu的指令集。所以在我看来程序本质就是控制。

到了近代,人们更多的是操作cpu的指令集,那时的人们已经觉得大量的0和1不好记所以就有了汇编语言的诞生,但是汇编语言也仅仅只是简单的讲0和1做抽象(比如说几个0和1控制着做什么加法,将它表达成“add”英文字符,这种字符就叫助记符,后面又觉得助记符太难了,就有了if-else这种关键字,也就是高级程序设计语言)。

一些思考

      中国计算机发展缓慢是什么原因导致的呢?个人认为很大程度是无法从头开始,没有积累,所以只能遵守他人的规则。所以作为一个计算机爱好者(并不是工作者),从今天开始我要遵守自己的规则 ​编辑。从Java开始第一步,除了关键字保留字和一些api,能用中文的就用中文。其实想想我们现在写的高级程序设计语言其实就是以一种编码格式(现在主流编码Unicode)呈现在我们眼前的,它还是需要编译的,对于编译完后的可执行文件来说除了关键字和保留字等等一些必要的其他不管你是中文还是英文都是一样的。

比如:

package 测试包;

public class 测试类 {
    public static void main(String[] args) {
        学生 学生一=new 学生();
        System.out.println(学生一.字符串输出());
        学生一.设置姓名("李四");
        System.out.println(学生一.字符串输出());
    }
}
class 学生{
    String 学号="1";
    String 姓名="张三";
    String 年龄="13";
    String 班级="九年一班";

    public String 拿到学号() {
        return 学号;
    }

    public void 设置学号(String 学号) {
        this.学号 = 学号;
    }

    public String 拿到姓名() {
        return 姓名;
    }

    public void 设置姓名(String 姓名) {
        this.姓名 = 姓名;
    }

    public String 拿到年龄() {
        return 年龄;
    }

    public void 设置年龄(String 年龄) {
        this.年龄 = 年龄;
    }

    public String 拿到班级() {
        return 班级;
    }

    public void 设置班级(String 班级) {
        this.班级 = 班级;
    }

    public String 字符串输出() {
        return "学生{" +
                "学号='" + 学号 + '\'' +
                ", 姓名='" + 姓名 + '\'' +
                ", 年龄='" + 年龄 + '\'' +
                ", 班级='" + 班级 + '\'' +
                '}';
    }
}

文末

      感谢大家阅读,不足之处请大佬指点。