更高级的高级语言应该长什么样?
我心目的新编程语言,不是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是国产的。
文章来源: zacksock.blog.csdn.net,作者:ZackSock,版权归原作者所有,如需转载,请联系作者。
原文链接:zacksock.blog.csdn.net/article/details/116563419
- 点赞
- 收藏
- 关注作者
评论(0)