IE盒子

搜索
查看: 103|回复: 1

脑洞推演:中文编程的另一发展路径(穿越者版)

[复制链接]

2

主题

8

帖子

17

积分

新手上路

Rank: 1

积分
17
发表于 2022-9-22 01:25:26 | 显示全部楼层 |阅读模式
最近想到一个脑洞——【如果一位编程大神穿越回1980~2000年代搞中文编程,那他会怎么做?】
于是就做了一下脑洞推演(纯属娱乐,欢迎各位大神一起来提供脑洞思路)
一、穿越者的中文编程语言之路

1、2000年代,中文编程的潜力蓝海

在1990年代,随着计算机的普及,软件开发开始日渐火热,但由于编程语言都是英文,对于很多国人而言门槛太高。所以这一时期存在着对中文编程不小的需求,也催生了相关的产品如习语言、丙正正、EMS语言,其中的典型就是易语言。
易语言(EPL、E语言)是吴涛创立的一门中文编程语言,最早的版本的发布可追溯至2000年9月11日。
其初衷是进行用中文来编写程序的实践,降低了广大电脑用户编程的门槛,方便中国人不同层次、不同专业的中国人,尤其是根本不懂英文或者英文了解很少的用户,可以通过使用本语言极其快速地进入Windows程序编写的大门。
到了2010年左右,易语言用户数量十分可观,其官方论坛注册用户就超过了60万。
但这些编程语言大多是汉化了其他编程语言而形成的,如:“易乐谷”是汉化了的LOGO语言;习语言是汉化的C语言,“丙正正”是汉化了的C++,“EMS”就是汉化了的Visia Compiler。但这些语言都并未带动中文编程成为真正的潮流。
2、传统中文编程语言为何折戟沉沙?

那么面对这这么庞大潜力市场(数以千万计的潜力用户),这些中文编程语言为什都折戟沉沙了呢?
首先来分析下用户对中文编程的可能的需求点是什么?

  • 摆脱英语,直接用中文编程,降低了编程的门槛和学习的难度;
  • 一套足够丰富的资源库及活跃的社区,方便软件的学习和开发;
  • 一套清晰、简洁、适合中文且文法优美的编程范式;
  • (对于专业从业者)具备独特且有用的新特性、新功能,能够解决其他语言无法解决的问题或任务。
而这些语言大多都只是一个简单的关键字翻译(只能勉强满足第1点需求),其中发展得较好的易语言,凭借先发优势,勉强积累了较多的用户和共享资源社区。但由于只是对英文编程语言的简陋的汉化翻译,其编程范式便显得文法粗陋、臃肿不堪。更是缺乏打动专业从业者的核心功能,无法真正打动行业者进入这一体系从而实现良性循环。
那穿越过去的大神该如何破局呢?
二、突围方式1:机械降神的copy之路

1、设计一套简洁优美的编程范式

既然是已经是要搞【中文编程】这命题作文,大神也就只能坚持走“直接用中文编程,降低了编程的门槛和学习的难度”这一路线,但并不能像易语言那样直接搞粗陋的汉语翻译,而是结合自己穿越者的优势,设计一种清晰、简洁、适合中文且文法优美的编程范式。
易语言基本就是直接将编程语言的关键字直接翻译成中文,这粗陋汉化翻译读起来就有点臃肿变扭之感。如下图所示:


那大神来设计的话,很可能利用中文的优势设计一套简洁的编程语言,毕竟国人有长达二千多年的文言文使用历史,对于精简信息的表示简直是刻在基因里的本能(想想大家常用的“喜大普奔”所蕴含的信息量)。那么编程语言很可能就是一种相对结构化的类文言文语法,所用的标识符、关键字也是走极简路线。
例如【if】这个英文标识符,换到中文编程中绝对不会用2个字【如果】来替代,而会用更为简洁、仅仅1个字的【若】。
类似于下面这个例子(引用自知乎网友)


2、引入先进的新功能

客观来讲,英文就是一门通用的语言,并且在编程领域具有先发优势。说白了,已经有现成的东西了,这个东西可能略有缺点,但是它的优势让人并不愿意放弃使用它。比如你写代码遇到了bug,可以方便搜索到相应的方案。不停的有人在用这个语言造轮子,你可以直接调包使用。这都是成熟的社区的优势。
你说,部署用的英文,系统用的英文,配置文件用的还是英文,import 来的东西几乎都是英文,考虑到程序员百分之八十的代码都是复制粘贴的,自己写的东西就更少了。这么一看,中文化更难了,索性就全英文吧。而易语言等中文编程,除了方便不懂英文的人以外,并没有太大优势。
如果穿越者要让中文编程在通用编程中占据一席之地,那其设计的新的语言需要带来一些革命性的功能改变。如果只是小修小补,那是很难干过这种社区优势。在这方面,穿越者可以凭借自身领先时代的优势,直接从借鉴成功的几种语言来设计自己的中文编程语言:

  • PHP语言,1995年上线,其快速建站的特性对于开发中小型的web应用,简直就是杀手锏一般的存在;被称为最棒的后台开发语言
  • Java语言,1995年上线,现代编程语言的常青树,已经火爆了20对年,目前依然作为绝大多数编程岗位的第一编程语言出现。
  • Python语言,1990年上线,其解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言
  • Go语言(又称 Golang),2009年上线,在2016年被选为“TIOBE 2016 年最佳语言”。
  • Rust语言,2015年上线,是一门专注于安全系统编程语言  ,连续五年(2016-2020)在Stack Overflow开发者调查的“最受喜爱编程语言”评选项目中折取桂冠。
如果穿越者是在80年代中后期穿越的,那么最为简便的方式就是直接基于现在的“中蟒”语言(汉化了Python语言),修改推出一门解释型的中文编程语言(名字就取为华语言),这样具备一系列的好处:

  • 由于华语言(Python)的简洁性、易读性以及可扩展性,加之中文特性,基本上可以成为当时国人入手难度最低的编程语言
  • 其强大的脚本和应用快速开发特性,可以完美契合当时中文编程使用者的核心需求,要知道当时数十万人学习易语言,不就为了可以快速地编写脚本和小程序来解决自身的各种小需求嘛(直到今天,外挂脚本仍是易语言的主要使用场景之一)。
  • 具备强大的市场拓展性,Python语言及其众多的扩展库所构成的开发环境十分适合工程技术、办公人员处理实验数据、制作图表,这意味其具备成为“全民编程语言”的潜力。实际上,当前Python成为学生、科研/办公人员、程序员们最受欢迎的程序设计语言。
  • 这种“全民编程语言“可以极大推动中文编程的生态,让程序员、业余编程者快速适应中文编程习惯,让中文关键字、中文API、中文文档资源快速积累,形成生态的良性循环。甚至可以直接将华语言(Python)引入中小学,做到“编程从娃娃抓起”。
如果是穿越者是90年代前期穿越的,也可以参考PHP语言、Java语言推出中文编程语言,从而将有相应需求的程序员纳入这一中文编程生态体系。
3、搭建一个中文编程资源平台和开发者社区

在中国,用中文替代英文编程,真正的壁垒体现在论坛交流、官方文档、工作机会等环节。而社区氛围、工业体系等的整体性领先,并不是发明一门语言可以解决的。现在中文编程发展很局限的原因,其实还是在于人,在于整个社区。
另外一个大坑就是很多语言中的某些库或者某些环境下不支持unicode,这一样是历史原因,或者是外国人根本没有考虑到需求,然而你还不得不捏着鼻子用。这些坑才是阻碍中文编程的最大障碍,它让你不得不用英文……这个确实,虽然说专业程序员只能学会习惯使用英文,但是首先不是所有人都是专业的,其次“不得已”并不应该变成“应当”。
不客气地说,我们现在专业领域中文书和优秀中文译本的匮乏,很大程度上是由英文这一知识的高门槛性质导致的,这个性质造成了整个圈子推崇英文贬损中文的结果,而且这种匮乏和这个结果构成了恶性循环。
我们差的不仅仅是一个中文的编程语言,我们差的是一个全中文的计算机生态
所以正如前文所说,这位穿越者大神需要通过一门在性能具备革命性语言,来开辟一个新的赛道,然后在新的赛道里搭建并维护好一个全新的开源资源社区。
如果这位穿越者大神不仅是自身穿越,还携带了一定的代码资源,比如携带了几十个T的github代码库资源,然后将这些代码汉化编译,作为开放资源直接共享到社区里,那么这一进程将极大加速。

未完待续·········
回复

使用道具 举报

4

主题

12

帖子

21

积分

新手上路

Rank: 1

积分
21
发表于 2022-9-22 01:26:24 | 显示全部楼层
假设有一个从2050年,穿越到现在的,该如何发展中文编程语言呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表