又见套路:如果计算机是用中文编程,你能成为计算机编程专家吗?

简介: 对质疑中文编程的一篇网文的逐条驳斥. Detailed response to a post that's questioning programming in Chinese.

刚发现的头条文章: 如果计算机是用中文编程,你能成为计算机编程专家吗?

这个题目又具有明显的误导性. 上来就把"用中文编程"放在一个假设性位置, 从而给人以当下不能够用中文编程的暗示, 可以想象文中不会提到即使是在英文编程语言中也可以中文命名这一可行性极强的技术手段(详见在各种编程语言中使用中文命名). 更不用说后半句的引导式疑问了.

我们知道现在已经有一个中文界面编程语言,易语言,编程的语法全部是用中文来表达,但是现在推广程度及份额不敢恭维。那我们看看有哪些原因。

了解易语言的开发者应该知道, 下面的几个点其实和易语言推广的障碍都没有直接关系. 在易语言已经处于休眠状态的现在, 为什么还要拿它说事呢? 也许更重要的目的, 是把中文编程直接局限到中文编程语言以至于易语言上, 以偏概全, 转移对中文编程其他方面比如无需中文编程语言也可以中文命名等等的关注.

1.现在市面上主流及成型的模块全部是英文写的,使用起来比较方便,交流起来也比较方便。但中文编程起步较难,容易放弃。

这里提到API都是英文的确实是个事实, 但交流/学习上对于中文母语的开发者是肯定没有优势的. "中文编程起步较难"就是睁眼瞎话, 易语言就是出名的起步容易. 但配上前一句之后, 乍一听起来似乎就有了一点说服力, 也是此类水文的一个套路.

2.开源一直是用户最喜欢,java因为时机准确,并且开源,一直受用户喜爱,但现在还没有一个开源的中文编程语言。

个人觉得易语言开源(即使是分社区版/专业版)有可能使它重获新生. 即使如此, 不开源也不是易语言推广的直接障碍. 个人了解, 商业语言开源化是从Java在2006年的开源才大规模开始的. 而易语言在那之前的推广速度很快(详见易语言_百度百科).

Z语言(详见前几篇, 如中文编程Z语言设计思想)是开源的中文语法的编程语言. 另外有不少汉化现有语言的开源项目(如5分钟入门CTS-尝鲜中文版TypeScript). 非常希望看到其他商用中文编程语言/工具加入开源的队伍.

3.编程的基础是语言,编程的思路是核心,不断修复BUG是过程。中文编程只是让你的语言全部用中文表示,但是编程思路,仍然不变。对于一个没有基础的初学者,中文和英文没差距。

第一句乍一看很有大师风范, 也许能唬住一些人, 但三个部分都是空话. 后面绕过了中文命名的问题, 强调"编程思路,仍然不变", 这也是把编程和命名割裂开的一种引导, 显然编程思路和业务逻辑的紧密关系直接决定了母语命名具有优势. 至于最后一句"对于一个没有基础的初学者,中文和英文没差距"就是完全无视易语言易于上手而且问世就迅速推广的最主要原因了.

4.要想对编程有一定理解,如果只是中文好,仅仅只是可以看的懂写的是什么,但是和中文自然语言仍然会有较大差距,还是需要去钻研。

这里又混淆了"中文编程仍需学习计算机科学才能进阶"和"中文编程不能让入门/代码开发的成本更低"两个完全不同的命题. 更具有迷惑性的是提到"和中文自然语言仍然会有较大差距". 最直接的反驳就是所有主流英文编程语言写出的程序也都和英文自然语言有很大差距.

所以如果计算机是用中文编程,仍然需要花费大量的时间和精力去学习,去研究。该能成为一方大牛,不管用什么语言,都能做到。

和前一段类似, 如果把"中文"替换成"英文", 也是完全成立的. 很明显的引导方向是: 大家都去学现在的流行语言吧, 就别惦记着用中文编程了.

此种水文层出不穷, 但套路基本相同. 还有一类是挑选一些推手问题引出的"精华"回答来证明中文编程的不被待见. 比如这篇的素材就源自知乎某问题: 看看90万程序员讨论的话题:能否用中文写代码?

2018-07-27

相关文章
|
算法 程序员 API
C 语言和 C++ 有什么区别?老程序员居然这样理解,不怕你不懂
C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)
218 0
|
程序员
程序员的奇怪规范:编程界的特殊文化
在程序员的世界里,有一些奇怪但又约定俗成的规范,这些规范看似荒谬,却成了编程行为的一部分,让人啼笑皆非。
|
7月前
|
算法 C语言 C++
C++语言学习指南:从新手到高手,一文带你领略系统编程的巅峰技艺!
【8月更文挑战第22天】C++由Bjarne Stroustrup于1985年创立,凭借卓越性能与灵活性,在系统编程、游戏开发等领域占据重要地位。它继承了C语言的高效性,并引入面向对象编程,使代码更模块化易管理。C++支持基本语法如变量声明与控制结构;通过`iostream`库实现输入输出;利用类与对象实现面向对象编程;提供模板增强代码复用性;具备异常处理机制确保程序健壮性;C++11引入现代化特性简化编程;标准模板库(STL)支持高效编程;多线程支持利用多核优势。虽然学习曲线陡峭,但掌握后可开启高性能编程大门。随着新标准如C++20的发展,C++持续演进,提供更多开发可能性。
118 0
|
7月前
|
安全 Java 编译器
代码深处的秘密:当高级语言遇见汇编语言,思维将何去何从?
【8月更文挑战第31天】在编程领域,高级语言如Python和Java让我们高效开发,但要深入理解计算机工作原理,则需学习汇编语言。高级语言抽象了内存管理和操作细节,如Java中的`add`函数,编译器自动处理一切。而汇编语言则需手动管理每个步骤,如直接操作寄存器和内存进行加法运算。从高级语言转向汇编语言意味着思维的巨大转变:从依赖抽象到深入底层。掌握汇编不仅能提升对计算机物理本质的理解,还能优化系统性能、提高代码效率,甚至应用于逆向工程和安全分析。尽管现代开发中直接使用汇编的机会减少,但其原理对深入了解计算机依然至关重要。
49 0
|
9月前
|
存储 人工智能 算法
计算机编程:从基础到实践,探索编程的奥秘
计算机编程:从基础到实践,探索编程的奥秘
95 1
|
数据采集 小程序 数据挖掘
【我问 Crossin】英语不好能不能学编程?
IDLE 里点击保存或运行时,程序无响应,或弹出如下的弹窗
|
10月前
|
数据采集 算法 Java
业余爱好者想入门编程,一定远离那些只会说No的家伙,尤其程序员
业余爱好者想入门编程,一定远离那些只会说No的家伙,尤其程序员
91 2
|
小程序 开发者
计算机语言如何学习
计算机语言如何学习
131 2
|
消息中间件 存储 程序员
计算机操作系统(慕课版)第二章课后题答案
计算机操作系统(慕课版)第二章课后题答案
|
程序员 编译器
还记得计算机的诞生吗?哪些人适合学习计算机编程?有衡量的标准吗?
随着经济的发展,时代的进步,我国人民内部的矛盾已经逐渐转变成为生活品质幸福的进一步需求,而不在像是很早以前只需要自己吃饱穿暖喝足即可。与此同时,人们也讲究实惠,也就是性价比高。当然,还有一种就是异军突起的迹象,就属计算机编程了!
144 0