更高级的高级语言应该长什么样?

Posted ZackSock

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了更高级的高级语言应该长什么样?相关的知识,希望对你有一定的参考价值。

我心目的新编程语言,不是rust dart go swift flutter … 不是说这些不好,是这些都差不多,Java也挺好,谁比谁在某方面领先一点,并不会有什么本质改变和区别,所以今天说的新编程语言和这些都无关… 是编程的方式上都发生改变的“语言”。其实,Programming ≠ Coding !

现在的编程语言至少达成共识的,已经经历三代语言,机器语言01010,汇编语言,高级语言从C开始,包括后续的C++ Java。

这三代语言的目的都是让编程越来越简单。在机器语言时代,编程只是少数天才的专利,过度到汇编语言后,才有了一些改善,但是编程仍无法对常人敞开大门。直到高级语言的出现,才让更多人踏入了编程的大门。

而像php、Python这种语法简单易学的语言和C、Java等语言没有本质的区别,那有没有第四代语言呢?

很早,在上世纪8~90年代,很多国家和大学实验室都在研究第四代甚至第五代语言。但是都没有达成共识,新一代编程语言到底是个啥样子?应该具备一些什么特征。

在这里插入图片描述
有一些最基本的特征:

1、后一代语言不会凭空产生,都是前一代语言的基础之上迭代出来的,汇编是机器语言写的,C第一代是汇编语言写的(后面C语言实现了自举,自己把自己举起来了,用C实现了对C语言的迭代),我认为新一代的语言也需要用高级语言开发,并且逐步实现自举;

2、后一代语言都比前一代语言,更接近人类本身的语言,简单说就是“更好学,更易懂,逻辑完备”;不要说给大家01010的代码了,就是给ASM(汇编)大家看,估计现在程序员没几个能读懂吧~;因此,组件化(widgets),可视化都是不错的选择;但是,这里面可视的逻辑表达是一个难点,如果不具备“图灵完备”的逻辑能力,语言属性就会大打折扣;
给大家看几个界面:

在这里插入图片描述
ivx.cn 这个软件逻辑编辑界面采用的是“基于事件的触发逻辑”,来进行逻辑编辑的

在这里插入图片描述
mendix的基于流程(图)模式的逻辑编排界面,和mendix是典型面向“过程逻辑的”,流程图式的

就我个人而言,我觉得iVX的设计更容易掌握,因为画流程图的时候,没办法知道每一个分支的后续“信息丰度”,很难设计的好看可读(很容易信息重叠),这个问题很难解决,算法类似于芯片中电路设计的自动优化。

3、新的语言要保留现有“成果和概念”,云计算、面向对象、前端数据驱动、多端支持、前后台分离、优秀有前后台框架、应用全生命周期管理、Devops、减轻开发环境配置(最好不要配置)、中台、IDE和编译环境一体等等

例如,与云计算结合,比如说后台建立在高效的云计算框架或产品上;例如面向对象,虽然有很多面向**,但是我觉得都应该建立在面向对象的基础之上);

4、少写代码或不写代码,有了前面的逻辑编辑能力,这一步就可能实现。

最后推荐几款,都是做了十来年的产品,我觉得都和最新的编程语言比较接近,iVX mendix outsystems Appian,都做得不错,其中iVX是国产的。

以上是关于更高级的高级语言应该长什么样?的主要内容,如果未能解决你的问题,请参考以下文章

高级程序设计语言概述

网络的瓶颈效应

oc语言关闭指定程序

07-网络的瓶颈效应

PHP:在 yii 中创建更高级别的查询语言以创建条件过滤器的最佳方法是啥

用c 语言编写程序时,应该特别注意格式,否则会影响可读性对吗?