编程|华为仓颉语言会是中文编程吗?鸿蒙OS生态发展的关键一环

编程|华为仓颉语言会是中文编程吗?鸿蒙OS生态发展的关键一环

文章图片

编程|华为仓颉语言会是中文编程吗?鸿蒙OS生态发展的关键一环

文章图片

编程|华为仓颉语言会是中文编程吗?鸿蒙OS生态发展的关键一环

文章图片




华为又给我们带来了惊喜 , 他给鸿蒙OS专属打造的自研编程语言 , 在深闺里躺了小半年 , 这千呼万唤始出来 , 开始了面向部分开发者的内测 。 其实我自己从感情上就特别地赞同这个猜测 , 因为如果是纯中文纯汉字编程的话 , 会大大地降低这个编程的入门门槛儿 。 不知道大家是否写过代码?写过的朋友请扣1 。 中文编程对这部分朋友绝对是个好消息 。 不仅如此 , 纯中文编程的话 , 有可能吸引各行各业的精英都来给仓颉贡献代码 。 比如许多人研究古代典籍 , 研究易经等等 , 这些高人都就来了 。 大概想象一下 , 将会是怎样的一番盛况 。 然而 , 这个猜测也只是基于这么一点 , 就是“仓颉”这个名字 。



当从理性上来看 , 概率可能会特别低 , 甚至说可以可能低于10%(“仓颉”名字一项证据支撑打10分/100分) 。 “仓颉编程“大概率会基于英文字符 。 因为咱们现在看到的大部分关于“仓颉”这门语言的作品和报道 , 其后面的背景 , 后面的这些代码都源自于另外一门编程语言:易语言 。 易语言虽然也是这个中文的编程 , 但是它不大适合于大生产环境 , 许多人在私底下拿它来做几个小的实验的项目 。 这是第一点 。




第二点 , 现在鸿蒙刚刚处于发展阶段 , 但它的目标却是星辰大海 , 它的生态越往上发展 , 就必然要面向全球的开发者 。 倘若是中文的话 , 这门槛就高了 , 把潜在的国外的开发者拒之门外 。 因此从这个角度来看 , 我觉得应该大概率还是会选择英文字符 。 第三点至关重要 , 无论是对华为还是对鸿蒙来说最重要的是什么?是运行效率 。



华为计划明年要出的麒麟9010(双层芯片) , 如果在性能上比高通骁龙差一点的话 , 就会对鸿蒙系统的运行效率要求特别高 。 然而 , 如果是中文 , 它的运行效率会降低 。 咱们中文方块字占两个字符 , 而英文字母只占一个字符 。 计算机处理单个汉字所耗费的时间是英文字符的两倍 。 极端情况下 , 你递归一遍就是2倍 , 递归执行2次就是4倍 , 而递归执行3次就是8倍 , 将会以2的指数级骤增 。 我们直观理解一下 , 递归88轮的2的88次是什么概念呢?根据大爆炸理论估算的宇宙的半径是460亿光年 , 2^88米就是460亿光年的距离 。 也就是说当遇到递归的时候 , 你往前才迈出去一米 , 人家就已经跑到了宇宙的边缘 。 这才88次递归 , 在某些对递归有限制的语言比如python中 , 默认最大值是3000次 , 而函数式编程语言则对此没有限制 。




当然以上是极端情况 。 可以做许多”编译“上的优化 , 甚至不允许使用递归 。 而当咱们聊到”编译“的时候 , 就涉及到一个问题 , 那就是只有”C语言家族“才有编译 。 咱们完全不必去执着于中文或者汉字 。 因为仓颉这门编程语言必然是以C语言或者C++写的 , 流行的语言比如Java , python , JavaScript都是如此 。 再往下一层 , C语言底层的汇编语言也是英文字符 。 就连芯片的指令集也是英文字符 。 比如麒麟芯片的Arm架构 , 它的指令集就是英文字符 。 因此 , 咱们不必去纠结于是不是中文 。