对新时代程序设计语言的小设想

Polle 发布于 2013/06/25 18:54
阅读 308
收藏 2

不管是C/C++、Java、JS等等语言,我相信大家不满足那些缺陷。从汇编时代到现在,语言的抽象层次提高了一些,但是还是有很多很多很多很多很多很多很多需要改进、提高的地方。或许说需要一个完全不同的, 更高层次的抽象水平。

当然我是没那个能力设计一个高抽象水平的语言的,至少现在没有。所以我就挑了几个小地方,来和大家共同讨论一下。

就比如各种数据类型,在静态类型的语言中是很蛋疼的,至少我感觉很蛋疼,我是C++的,经常需要考虑这个该用什么类型(光数值,就要考虑有符号整数、无符号整数、浮点数,更麻烦的是还需要考虑位数),还有在计算的时候也需要考虑类型的转换,不然计算结果就错了。在动态类型的语言中,似乎没有那么麻烦,不过有了麻烦就不好控制了,比如JS,那蛋疼的类型机制,简直是。Ruby之类的我不清楚,大家来讨论。那么我就用来设想下数据类型。

单说数值类型,在主流程序语言中就分有符号、无符号,还有位数,除了整数,还需要考虑浮点数。在我们日常的生活中,哪有这些区别,随便来张纸,直接算实数,心情好带着虚数一起算。我们还能从容的面对各种表达形式:小数、分数、整数、比例、函数。所以我们需要更自然的数据类型,但是太自然了程序就难实现了,所以需要迁就计算机。

那么我就这样设想:数值类型不再分有符号、无符号、位数。浮点数也不再分单精度、双精度。只需要两个数值类型:整数(number)、实数(real),再加入虚数也没问题。那这样就再也不用为和计算机密切相关的符号、位数概念打交道了(其实还是要的)。

暂时只有这个可以表达出来了,因为其他的设想太过不切实际。

加载中
返回顶部
顶部