我以前也写过类似的帖子,这里是重新总结了一下。
到目前为止,我使用过的计算机语言有:
Objective-C,Swift,C,C++,java,php,c#,Lisp,Visual Basic,Javascript,SQL
我对它们都不太满意,主要原因是:
1,入门门槛太高,不必要的复杂性。
2,在数据和ui的映射上可以做的更简单一些。
我受到excel的启发,计划设计一个自己的计算机语言,其特性是:
1,该语言是建立在表格的基础上,首先具有象excel的表格类似的基本计算功能。
2,所有语句都是函数或表达式,写在表格里。
3,在表格上也可以自定义函数,并调用。
4,可以将表格里某个格子命名,这就是变量,可以用它们的名字来使用这些变量。
5,以表格的概念来设计数据结构。任何一个表格,可以命名其表名,字段名,以及字段类型,可以任意添加新的行。一个表的类型,就是一个数据结构,而一整张表格,就是一个结构体数组。
6,在ui方面,可以所见即所得地将ui控件映射到表格中去,并借鉴反映式编程的思路,当数据在表格里被计算和更新后,自动刷新到所关联的ui上去。
以上的的计算机语言的好处是:
1,由于建立在类似excel的基础上,所以非常容易理解和掌握。一个会使用excel的人员,几天就应该会使用该语言,做出很复杂的应用来。
2,之所以使用spreadsheet,是因为它本身就可以做出很多复杂的业务逻辑的实现和显示了,在其功能基础上,只要添加一些函数和与ui的对接,就可以做其他语言做起来非常麻烦的工作了。例如报表的生成,例如复杂业务逻辑的计算等等。
excel 和 传统编程语言最大的不同在于,传统编程语言看到的是过程,要运行的时候(在大脑里,或者实际运行程序)才知道结果。excel 则是显示结果,隐藏过程,基于结果编程。
说句题外话,按用户量来算,编程语言里 excel 其实才是世界上最大的。