中文编程兴起的可能途径

前文中文编程兴起的必然性虽然阐述了长远的必然性, 但很自然地会有以下疑问:

  1. 为何至今没有看到国内大公司的任何从事中文编程的实践?
  2. 如何以较小代价实践中文编程以及创造推广中文编程语言/工具?

此文从个人视野尝试解读和设想.

刚刚意识到问题1的主观原因(客观原因请见中文命名实践的阻力和应对, 创建新中文编程语言也有类似问题, 而且成本和风险更大).

一言蔽之, 他们最有能力实践, 但恐怕也最没有动力. 其实这和熟悉英文编程语言的程序员不少缺乏动力参与中文编程是一个道理, 只是一个是宏观, 一个是微观.

国内大公司往往通过市场地位进一步占据了人力优势, 可以招纳到足够英文编程水平的开发者. 而这也是进一步巩固技术优势和领先地位的一个方面. 中文编程对他们带来的对项目本身的益处相对较小(因为人力财力足够). 而相应的另一个极端--初创公司(大多是单人或双人项目)其实是最能从代码可读性获益的(运维成本的升降往往意味着企业成败的区别), 从而也会是从中文编程获益最大的.

因此, 从保证短期商业利益的角度看, 大公司创造中文编程语言/工具/框架的可能性非常小. 当然也不排除某家大公司敢于通过在中文编程上领头创新的方式获取社会效益的可能性. 即便如此, 终究是求人不如求己.

下面一部分来源于讨论组话题: 如何面向中文编程(潜在)用户进行推广? · Issue #41 · program-in-chinese/overview. 无论语言/工具是开源还是闭源(免费/商业), 在推广和实践上应该有类似之处. 欢迎指正补充.

潜在首批用户

  • 编程初学者
  • 乐于尝试的编程爱好者
  • 想用中文编程工具开发业余/初创项目, 并且首先关注国内市场的

开发方式

  • 在开发中文编程语言/框架/API时, 尽量在技术允许的情况下(需要分享和积累, 详见中文命名实践的阻力和应对)在代码中使用中文命名. 这样对项目本身可以降低成本(详见对在代码中使用中文命名的质疑与回应 "没有好处"一节), 同时也进一步增加中文命名的技术积累
  • 基于英文编程语言的发展史, 个人认为开源方式能够最大程度促进技术分享和进步, 中文编程方面暂时以商业软件为主, 但开源项目应该能够更加活跃, 反过来也可以促进商业软件的进步.

推广

  • 对初学者来说, 中文代码的入门教程(以英文编程语言中使用中文命名为例, 比如中文代码示例教程之Java编程一天入门), 以及对应的很容易安装使用甚至免安装的编程环境.
  • 对于爱好者, 也许是更加贴近实际问题的一些教程和相关工具, 比如如何用汉化版TypeScript(program-in-chinese/CTS)和相关库创建一个简单的网络服务和前端.
  • 对于目标是团队开发商用软件的用户, 则需要成熟的工具/文档, 以及及时的社区技术支持.
  • 在社区成熟和有足够的共同开发者之前可能主要靠核心开发者. 首先单个项目建立社区, 类似于TypeScript.org, JUnit.org等等. 项目积累之后, 建立一个更广泛的中文编程相关生态圈, 类似Apache

商业化

  • 现在看到的一些开源项目的商业化方式, 以提供免费的社区版和收费的商用版进行. 社区版搜集反馈和bug, 商用版以稳定或功能或技术支持为卖点. 比如Odoo等等.

正如汉化了十数个编译器的前辈的心得体会的最后所言, 任重而道远. 个人相信前途光明.

2017-11-27

转载于:https://juejin.im/post/5d3a14aa6fb9a07ebb0578c9

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/386294.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

我想谈谈关于Android面试那些事,一篇文章帮你解答

开头 通常作为一个Android APP开发者,我们并不关心Android的源代码实现,不过随着Android开发者越来越多,企业在筛选Android程序员时越来越看中一个程序员对于Android底层的理解和思考,这里的底层主要就是Android Framewok中各个组…

给后辈的一点建议,分享PDF高清版

前言 咱们这行似乎每个人都有个常识:程序员做到35岁之后,职业道路就很窄了,但我不信这个邪,我今年37岁,依然活跃在开发一线,并且做到了月入四万+。 偶尔也有人问,你是怎么打破35岁…

2019牛客多校第三场 F.Planting Trees

题目链接 题目链接 题解 题面上面很明显的提示了需要严格\(O(n^3)\)的算法。 先考虑一个过不了的做法,枚举右下角的\((x,y)\),然后二分矩形面积,枚举其中一边,则复杂度是\(O(n^3 \log n^2)\)的。 考虑另外一个做法,同样…

给后辈的一点建议,面试建议

前言 相信很多同学都会有这样的感受,前三天刚刚复习的知识点,今天问的时候怎么就讲不出个所以然了呢? 本文的目的就是致力于帮助大家尽可能的建立Android知识体系,希望大家会喜欢~ 技术专家VS管理,哪条路更适合你&am…

2019 Multi-University Training Contest 1 - 1001 - Blank - dp

http://acm.hdu.edu.cn/showproblem.php?pid6578 不会做,看题解。 设dp[i][j][k][l]表示4种颜色出现的最后的位置分别是i,j,k,l的方法数,保证i>j>k>l。其实不取号,因为同一个位置不能放两个元素,除了开始的若干个比如dp…

给后辈的一点建议,面试必会

前言 2017年进大学开始接触Android,从刚开始接触就不断地听到Android市场饱和,工作难找等消息。虽然当时也非常迷茫,不过由于第一次深入接触编程语言,再加上自己的一点兴趣,就一直坚持下来了。 到现在要毕业了&#…

vue2+less开发,使用vux-loader,配置全局less变量

https://blog.csdn.net/u012396955/article/details/80184701 const webpackConfig originalConfig; // 原来的 module.exports 代码赋值给变量 webpackConfigmodule.exports vuxLoader.merge(webpackConfig, {options: {},plugins: [{name: vux-ui},{name: less-theme, path…

美团Android开发工程师岗位职能要求,真香

前言 说起程序员人们的第一印象就是工资高、加班凶、话少钱多头发少。再加上现在科技互联网公司太吃香,bat、华为小米等公司程序员加班情况被广泛传播,程序员用生命在敲代码的印象刻在了很多人的心里。 与其它行业一样,凡是有高级和普通&…

最长递增子序列_python_算法与数据结构

周末了,实验室的网速还是不给力啊,不知道doctors都在干啥,,,最近都在做算法作业,昨天晚上看了一部电影《将爱进行到底》,刚打开电影没多久就听到了很熟悉的旋律,让我很是惊讶&#x…

美团Android开发工程师岗位职能要求,高级面试题+解析

前言 不知道大家面试的时候,有没有遇到这种情况,面试工资谈的是10K,最后干着40K的活!说着冠冕堂皇,提升大家能力的话,做着死命压榨员工,996成了程序员心里的魔咒! 初级安卓开发工程…

美团点评APP在移动网络性能优化的实践,吊打面试官系列!

一. 开发背景 想要成为一名优秀的Android开发,你需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样。 Android 相关 1. Android 之 SharedPreferences 内部原理浅析 2. Android 源码分析-消息队列和 Looper 3. Android 源码分析…

软件工程团队项目Alpha版本产品介绍

经过完整的用户场景定义、功能设计、开发和测试,耗时一个月,我们软件工程的团队项目“Academic search Conference helper”的alpha版本总算在近日出炉了。下面就来简单介绍一下我们的产品。事实上,“Academic search Conference helper”是“…

美团点评APP在移动网络性能优化的实践,赶快收藏备战金九银十!

导语 事情是这样的,一个关注我公众号很久了的朋友,最近跟我说要去面试阿里P6,其实他的水平P7是够了的,他开发了6年,一直在学习新的技术,Flutter,NDK,这些都有涉及,年纪也…

Linux学习笔记24——进程管道

一 管道的作用 通常把一个进程的输出通过管道连接到另一个进程的输入。 二 popen和pclose函数 #include <stdio.h>FILE *popen(const char *command,      //是要运行的程序名和相应的参数       const char *open_mode      //必须是“r”或者“w”,如…

耗时两个礼拜,8000字安卓面试长文,建议收藏

本专栏专注分享大型Bat面试知识&#xff0c;后续会持续更新&#xff0c;喜欢的话麻烦点击一个关注 面试官: ButterKnife为什么执行效率为什么比其他注入框架高&#xff1f;它的原理是什么 心理分析&#xff1a; ButterKnife框架一直都是使用&#xff0c;很少又开发者对butterkn…

VS2010常用快捷键

1、自动排版 编辑.格式化选定内容 Ctrl K&#xff0c;Ctrl F(form)根据周围的代码行&#xff0c;正确缩进选定的代码行。 2、注释与去掉注释功能。 编辑.注释选定内容 Ctrl K&#xff0c;Ctrl C(comment) 使用编程语言的正确注释语法将代码的当前行标记为注释。 编辑.取消注…

腾讯+字节+阿里面经真题汇总,Android篇

简介 首先&#xff0c;Android是不是真的找工作越来越难呢&#xff1f;这个可能是大家最关心的。这个受大的经济环境以及行业发展前景的影响&#xff0c;同时也和个人因素有关。 近期一方面是所在的公司招聘Java开发人员很难招到合适的&#xff0c;投简历的人很少&#xff1b;…

border-image图片边框

一、border-image的兼容性 1、支持到IE11以上&#xff0c;其他主要浏览器均支持 2、使用webkit以后支持android4.3以上 二、border-image的参数&#xff08;包括图片、裁剪位置、重复性&#xff09; 1、图片&#xff08;border-image-source&#xff09;采用url&#xff08;&am…

腾讯3轮面试都问了Android事件分发,原理+实战+视频+源码

一、架构师专题 想要掌握复杂的技术&#xff0c;必须要理解其原理和架构。本模块结合实际一线互联网大型项目理解架构思维&#xff0c;抽丝剥茧&#xff0c;层层深入&#xff0c;帮助大家成为Android架构师&#xff0c;在思想上对架构认识有一次升华&#xff0c;并知其所以然&a…

Java自学笔记(16):常用类:Math,Data和Calender,Format,Scanner

Math类 位于java.lang包&#xff0c;主要用于基本的算术运算&#xff0c;包含的成员都是静态的&#xff0c;可以直接调用 两个常量&#xff1a;PI&#xff0c;E 方法&#xff1a; sin(double a) 返回角的三角正弦。 cos(double a) 返回角的三角余弦。 tan(double a) 返回角的三…