❶ 为什么我们不发明一种汉字编程语言
编程语言,本质上是一种符号语言。类似于数学符号,它的特点还是以简单为主,尽量使用笔画少的符号来表示特殊的语义,而不是使用母语。它看上去类似英语只是巧合,因为英语单词的缩写已经足够简化,正好符合要求罢了。
汉语是象形文字,单个字的信息含量很大,在阅读速度上有很大的优势,但在打字上就成了一种弱点,因为键盘空间放不下常用的汉字。就算放得下,人眼也没法从几千个按键上迅速找到所需的字。常用的字越多,人眼查找常用字所花的时间越长。打字与写字是不一样的。写字是拿笔直接在纸上写,心到,眼到,手到,不存在查找的问题,但打字存在查找的问题。想加快打字速度,就只能减少按键数量,也就是从几千个汉字里提炼出几十个偏旁部首来,也就成了字母。
字母,偏旁,部首,只是同一类东西的不同称呼罢了。都是从最初诞生的母语象形文字里简化出来的一部分,目的都是为了让文字更简单。编程和数学,因为本身在逻辑推理上对人脑的消耗很大,就会更注重在符号的图像识别上节省脑力,所以它们的符号相比起人类的母语来说,都很简单。
❷ 为什么很多人反对中文在编程中的使用
首先我要声明:排斥使用中文编程和爱国不能混为一谈,坚决抵制不使用中文编程等同于不爱国的道德绑架。不使用中文编程的主观因素和客观现实存在有很多,个人使用习惯、开发效率、开发所使用的ide工具不支持等因素,都会让程序员更偏向使用英语编程。
先来说说历史原因,编程起源于外国,编程语言,计算机,甚至上层的开发工具,基本上都是外国人使用英语来开发的,这些最大的问题就在于,外国人并不会给中文来做适配,就算适配了,也无法使用中文来编程测试,因此遇到了bug也无法修复。这大概是中文编程目前最大的制约。很多码农说现在的主流编程语言都是Unicode编码都支持中文,这很正确,举例java,但是我想他们根本呢没有用过中文来写代码,完全没有考虑过ide工具是否支持,编程语言并不是编程的全部,虽然脱离ide工具我们也能够编译代码,但是脱离了ide工具我们的开发效率会降低很多倍,于是乎现在企业开发基本不可能脱离ide工具,没有的可能都要专门自己开发一套。
再来说说很多码农对于中文编程的真实内心独白:用中文写代码会很垃圾,很廉价?懂英文比较厉害?中文写的代码不行?要便于给外国人看?认为中文编程很多余?习惯了英文编程了不想改变?虽然有些直抒心意,但是也在一定程度上直观反映了排斥使用中文编程的码农心态。
我认为制约国内程序员使用中文编程的最大因素是完善框架的缺失,诸如易语言之类的其实都不过是伪中文编程,很多底层的东西也还是用到的英文,而底层的英文又限制了上层框架的编写,语法框架无法的限制导致了上层编写程序的时候并不适配中文,这样的编程不仅不能提高效率,反而增加了理解难度。
所以我认为中文编程最大的难点是怎么去编写一套适合中文的编程框架,而不仅仅是把英文翻译成中文,这样的中文编程其实真的没有多大意义。
❸ 为什么编程都是英文为什么中文不能编程序
编程都是英文,中文不能编程序的原因:
1、编程的起源不在中国 : 计算机的起源在美国,自然而然的优先使用了英文。而汉字太多,多音字也很多,用命令的时候会变得很慢。
2、流通性差 : 英语目前还是全世界最通用的语言(虽然现在全世界都在学中文,但还需要个周期),几乎也成为了不同语种国度之间的共同语言,那中文相对来说流通性还是要差上许多,所以程序员们在互相交流的时候会难达成共识,就无法共同进步。
3、体系不够成熟 : 尽管机器只有0和1那么简单,但要用一种语言通过0和1表达人类的所有想法,设计这样一个庞大的体系谈何容易。现在汇聚的全人类智慧发展了几十年的高级语言,依然还是存在很多问题的。
4、成本高 : 想用中文编程,只能有两种方式,一是在原有硬件基础上,将中文编程转成英文编程再转成机器语言;二是要重新定义硬件,重新设计制作符合中文编程的硬件。那这两种方式的成本是相当高的。
(3)程序员为什么不用中文编程扩展阅读
编程语言的起源和发展
第一代语言:机器语言
机器语言(machine language)是一种指令集的体系。这种指令集,称机器码(machine code),是电脑的CPU可直接解读的数据。
第二代语言: 汇编语言
汇编语言(assembly language)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。
在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。
第三代语言:
结构化语言、面向对象语言。
❹ 为什么没有中文写的编程语言
编程语言是一种程序员与机器沟通的工具,程序员的UI(用户接口),用于定义业务逻辑与指挥计算机工作,作为工具首先就是上手效率要高,不要因为为了打几个中文而中断思路。无论你用拼音输入法还是五笔或者是直接拼音字母,你告诉我要表达“如果”这个含义,哪个词敲键盘次数少,次数少的效率就高:“if”“ruguo”。
其次,编程的瓶颈是在指令的语言吗?在如今网络时代谁还不懂几个英文,再则,计算机语言不是人类语言,它只是借用了人类语言中20-30个关键词作为基础指令,方便记忆而已,业务逻辑才是程序要考虑的,以满足最终客户需求完成任务。用“如果”或是“if”,只要约定好,计算机都会翻译成二进制,那么对于计算机它是无所谓你用什么“语言”,编译器能编译就行,而为了视觉上亲切一些,牺牲可读性、输入效率,源代码长度,以及潜在的代码安全问题,而得不偿失。当你代码量上千行后,看着满屏中文你也许会突然忘了你接下来要干什么。所以专业人员是不会考虑用中文的。
编程的核心是业务逻辑,其本质是算法,其基础是初中数学,当然有高数基础最好,因为某些业务逻辑,如果有高数基础,代码量会大大降低,代码会更简洁明了。而中文还有个严重问题就是代码安全性。中文输入法中存在各种特殊字符,有些是不可显字符,有些是视觉特征不明显容易造成歧义,比如你要随时注意全角半角,因为计算机认为全角空格和半角空格是两个不同的字符。试想你本来正被程序中嵌套循环或者各种逻辑错误而烦恼,又被中文带来的字符不明确造成困惑,如果你还能坚持下去学习我是很敬佩你的。
当然作为行为艺术,玩玩是没有问题的,写个小程序给小伙伴展视一下娱乐娱乐完全没问题,但正经程序员看到了会斜眼看你,当然你只是学着玩,可以考虑易语言,不过它只是VB的马甲,语言规则遵循VB的语法。