软件工程学生的编程能力与编程语言是中文或英文有关系吗?
此问题纯属在数据课上看着全是英文的课件,又听着老师并不标准的普通话,有点儿懵而瞎想的,后来看到老师的补充作业中,有一道题与我想的差不多,于是在网上查了一些期刊,搜了些资料,然后就决定写这个。下面进入正题。
据《圣经·创世纪》第11章记载,巴比塔是当时人类联合起来兴建希望能通往天堂的高塔,为了阻止人类的计划,上帝让人类说不同的语言,使人类相互之间不能够沟通,计划因此失败,人类各散东西。也就是说,人类联合兴建通天塔的计划失败的一个关键因素是:说不同语言的人之间再也不能像以往仅说一种共同的语言那样很好地进行交流和沟通。如果“变乱”人类的日常语言可让人际交流受阻,那么,“变乱”编程语言会不会也让人机交流受阻呢?
就拿我自己来说,我的编程能力并不好,在学习算法的过程中也遇到各种各样的问题,比如,在前段时间学习利用深度优先搜索的算法来解决迷宫问题、数字拆分问题时,即使我听懂了这个算法的具体设计原理,以及怎么利用其求解问题,但要我利用编程语言来实现,却还是一大难题,于是,我就在想如果有一种编程语言是用我们的母语(对我来说也就是汉语)经过约束形成的广义的编程语言,会不会我就能更容易将这个算法用编程语言来实现?后来,查找了一些资料发现已经有人提出一种双语处理的技术路线。
精通两门语言的双语者用不着这两种语言的翻译,因此,可以设计一个双语者,即:广义的双语信息处理系统,他既懂机器语言,又懂自然语言。如下图:
汉语的言和中文的字,具有独特的结构乃至对象化的特征,因此,对字与字组的关系及其间接数字化处理大门一旦打开,也就意味着整个八大体系,即:字、式、图、表、音、像、立体、活体,均可做相同性质的间接形式化和间接计算。
如果这种设计可以被做出来的话,编译以及翻译的问题会得到一个很好的解决方案,对于我们来说人机对话应该会更加简单吧,毕竟相较于英语而言,还是母语对于我们来说更易于理记忆与理解。
注:文中的图片及一部分很“高大上”的语言来自于《软件》期刊邹晓辉、邹顺鹏的文章《软件工程学科何以独特——形式化方法的双重路径》。