program-in-chinese / overview

中文编程的历史、现状和展望。issue 中进行相关问题的讨论.
https://zhuanlan.zhihu.com/codeInChinese
GNU General Public License v3.0
384 stars 34 forks source link

如何面向中文编程(潜在)用户进行推广? #41

Open nobodxbodon opened 6 years ago

nobodxbodon commented 6 years ago

虽然现在还没有一个成熟的项目, 不过先讨论一下如何面向用户, 也许对项目的开展和优先级有指导意义.

nobodxbodon commented 6 years ago

暂时想到的, 很多其他组员也提出过, 就不一一链接了:

现实和潜在的用户群有哪些?

编程初学者; 乐于尝试的编程爱好者; 一直想用中文开发项目但苦于没有合适工具的(想象中有)

他们最需要什么? 他们会用来解决什么问题? 怎样的工具/教程?

对初学者来说, 也许是类似"xx一天入门"的教程, 以及对应的很容易安装使用甚至免安装的编程环境. 后者相关讨论在适合中文用户的编程语言和IDE, 侧重于现有语言/IDE不具备的特性 对于爱好者, 也许是更加贴近实际问题的一些教程和相关工具, 比如如何用TypeScript和相关库创建一个简单的网络服务和前端. 对于目标是团队开发商用软件的用户, 则需要成熟的工具/文档, 以及及时的社区技术支持.

如何向他们推广? 后续的技术支持如何进行?

几种可能: 1) 单个项目建立社区, 类似于TypeScript.org, JUnit.org等等 2) 项目积累之后, 建立一个更广泛的社区, 类似Apache 后续技术支持首先靠社区支持, 但在社区成熟和有足够的共同开发者之前可能主要靠核心开发者.

如何商业化?

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

swizl commented 6 years ago

中小学生、科研人员等, 对应的机构是中小学校、培训机构、大学等。

对IT技术感兴趣、有学习编程意愿的中小学生,可以在有推广合作的中小学校、培训机构学习门槛低的中文编程。 如果没有国际化需求,也没有编程功底的科研人员,也可使用中文编译验证自己的算法。

nobodxbodon commented 6 years ago

对IT技术感兴趣、有学习编程意愿的中小学生,可以在有推广合作的中小学校、培训机构学习门槛低的中文编程。

在和实体机构接洽之前, 有没有中文编程相关的网上社区可以进行推广? 毕竟自己维护一个专题网站还是需要一些额外人力的.

如果没有国际化需求,也没有编程功底的科研人员,也可使用中文编译验证自己的算法。

不知有什么渠道和这个用户群交流? 也许需要考察一些专业领域(IT之外)的社区(相关讨论贴:(哪些中文非IT领域会偏好中文API, 编程/脚本语言?), 看看他们的编程需求?

htwx commented 6 years ago

打铁还需自身硬, 这个能否推广就看作品怎么样, 如果作品过关了, 出教程\做论坛\做推广\开在线授课\什么流行就来什么, node app 小程序 react 等等, 还有我觉得目前人还是少, 应该集中资源做大事. 业务线太多可能什么都做不成. 最好就是能让别人看到 前途和钱途

nobodxbodon commented 6 years ago

还有我觉得目前人还是少, 应该集中资源做大事.

嗯, 确实最好有重点. 现在组里的项目都还是单人为主.

最好就是能让别人看到 前途和钱途

同意. 对于比较非主流的编程语言/环境, 如果没有一些初始用户, 或是比较容忍度高的合作伙伴, 就只能靠口碑慢慢积攒人气了. 以前有幸和Tersus(国内合作商)图形编程语言的原作者共事过一段时间(2013左右), 当时Tersus已经发展十年. 没记错的话, 当时主要开发者还是他一人. 那时候他刚以CTO身份和一家初创公司合作, 由他主导用Tersus开发了一套商业软件. 我当时从事的也只是那个商业软件的开发维护(用Tersus). 他当时就希望能够尽量从二次开发中脱身出来, 尽量投入到Tersus本身的更新和加强上. 问过他是否需要人手帮忙Tersus本身的开发, 但他认为当时Tersus已经能满足足够多数的商业应用需要, 而且商业应用和满足客户更重要.

这个帖子的主要目的之一, 就是探讨一下如何发现发展用户和客户, 使得路能顺一些. 毕竟能坚持十年还是难, 历史上不少设计精良的语言也没有能推广. 产品肯定是基石, 但现状是酒香还怕巷子深. 我的倾向是, 尽量把周期缩短, 就是说开发一个核心功能集合之后, 就尽快出配套教程, 争取用户参与和讨论. 就CHTypeScript来说, 在汉化了TS最核心关键词(就是它的Spec里提到的)之后, 个人认为就可以编写正式发布入门类的教程. 自愿为写一个类似Java编程一天入门的中文TS版出点力.

nobodxbodon commented 6 years ago

编程猫看起来值得关注. 刚写了一篇体验文编程猫IDE体验:对Scratch的改进, 虽然看上去刚起步, 但似乎已经有了不少实质工作. 和其他平台做集成方面也有不少进展(Minecraft, 教育用机器人等等). @TKT2016 也许可以借鉴?

ghost commented 6 years ago

强烈反对主动推广和商业化,这样搞只会让中文编程变味。当前中国许多人唯利是图,为了赚钱什么事都干的出来,如果掺杂了利益,难免会有人利用道德绑架,去欺骗外行人。一旦这样,中文编程必然会担上恶名,这样支持中文编程的人就会变少。 我认为,中文编程应该事实求是的去做,能干哪些事,不能干那些事,那些事干起来容易,哪些事干起来困难,向外人清清楚楚、明明白白的说清楚,不要故意夸大和道德绑架,把选择权交给别人。

4b5ent1 commented 6 years ago

部分同意 @bldght https://github.com/program-in-chinese/overview/issues/41#issuecomment-406726781 的观点。主动推广没问题,但是主动推广加上商业化就会有问题。核心的东西我认为还是需要保持中立开放性,之后附属产品商业化也才能合情合理。

至于个人观点,我认为还是要先有拿得出手的整套解决方案才行(比如至少在IDE里面可以形成闭环),单有中文编程是不够的。所以个人更倾向于先走底层应用,从改造输入法做起。

现实和潜在的用户群有哪些?

当前的用户应该说除了易语言都没有成群。潜在的在初级教学上很有必要,但编程这套东西往深了学肯定避免不了学习西方的那一套(现在的编译器理论这些还是基于西方的),所以中文编程很长一段时间只能停留在应用层。

他们最需要什么? 他们会用来解决什么问题? 怎样的工具/教程?

我觉得最需要的是一个完善的文档,和足够的可维护可扩展性。现在实验性质的中文编程项目,大多没有在可维护上面下功夫,自娱自乐者居多。殊不知要想用的人多,就要把东西做的更完善具体,更通用化。就编程方面我认为,静态语言,替代C/C++/Rust/Pascal,又或者APL/J/K/Q,都是可行的,足够成熟的话也能实现自举。而脚本语言这块,如果核心的vm/runtime还是别人的,那么中文编程就只能当DSL来用(比如Python,Erlang,Java,Typescript)。当然脚本语言这块也可以参照Haxe的思路,只是那样的话可维护性就会大打折扣,形成不了闭环。

如何向他们推广? 后续的技术支持如何进行?

推广必须分步骤来。最好是由上至下,先把最难啃的一块拿下来。具体哪块比较难啃,我觉得github/zhihu/v2ex就比较难。因为这里面大部分人都有基础,有一部分甚至对高级理论也有掌握,即通常思维比较局限和西化,对于这部分人来说,中文编程的认同感是最低的,不屑/反感和排斥又是最强烈的。如果能在技术水平的中上层人群中获得更为中肯的评价,那么下游的推广就会像chrome的普及一样,简单而又轻松许多。

外围的推广也是有必要的,比如国外的APL用户对组合子逻辑的中文编程的接受度,可能会比国内的大部分群体还要高许多。

如何商业化?

建议参考安卓/freebsd的开放思路,先开放,后商业化。商业化可以参考国产的tidb运营方式。

nobodxbodon commented 6 years ago

最好是由上至下,先把最难啃的一块拿下来

还是免不了提到那篇水文. 个人觉得此类文章最有影响的就是对编程不了解的新手(包括非程序员出生, 非IT领域但对编程有需求的群体). 这些推手的选择很有考量, 因为这个群体是最没有定势思维/负担和较容易尝试中文编程的群体. 因此, 个人认为不应忽视这个大群体.

外围的推广也是有必要的,比如国外的APL用户对组合子逻辑的中文编程的接受度,可能会比国内的大部分群体还要高许多。

你是说母语不是中文的开发者? 除非是对学中文本身有兴趣, 不然应该不会轻易尝试中文编程吧?

建议参考安卓/freebsd的开放思路,先开放,后商业化。

https://github.com/program-in-chinese/overview/issues/41#issuecomment-337800149 最后有同感.

商业化可以参考国产的tidb运营方式。

可否详说? 或者链接?

4b5ent1 commented 6 years ago

@nobodxbodon https://github.com/program-in-chinese/overview/issues/41#issuecomment-406778097

因此, 个人认为不应忽视这个大群体.

对,这个群体确实不能忽视,但是如果是至下而上,工作做起来就要繁琐得多(参考农村包围城市)。如果是反过来,前期是要面对很多非议,但越往后就相对越好推广。

母语不是中文的开发者? 除非是对学中文本身有兴趣, 不然应该不会轻易尝试中文编程吧?

日本和新加坡的话应该还好。如果是组合子逻辑的中文PL,那么他们也能很快适应。西方那边怎么说呢,我的了解范围内,感兴趣的确实少,但不排除会给他们一些有用的启发。比如我就认识一个乌克兰写erlang的,他对藏语就很感兴趣,甚至自己写了拼写转换器。知道APL的毕竟在全球范围内都是少数,这个没办法。

商业化可以参考国产的tidb运营方式。

emmm 这个首先因为我还没有真正去用过tidb,所以很多东西都是道听途说过来的。简单整理下,我理解里面的,他们的公司pingcap,最开始应该是在国内开源社区下了大功夫宣传,然后核心在github开源了。应该说是赶上了一个好时候,即mysql相对势弱,postgres等RMDB重新崛起的时候,他们针对mysql群体做了nosql这块的解决方案,然后宣传/运营以及推广就目前的效果来看都很到位,也有商用计划。

反正大部分信息我都是在知乎看到的,另外他们月底有在深圳搞一个宣讲会类似的活动,到时候我会去打听看看。

这是他们的相当于团队blog的地方吧:https://zhuanlan.zhihu.com/newsql

nobodxbodon commented 6 years ago

@absente

如果是反过来,前期是要面对很多非议,但越往后就相对越好推广。

个人觉得越是已处优势的开发者/公司对于中文编程的需求就越小. 详请见中文编程兴起的可能途径. 而且新技术(或者说没有权威背书的技术)本身推广就难从商业项目开始, 像个人开发的新语言等等大多是在业余/初创项目中逐渐磨砺成熟(并积累用户/社区)后才会被有知名度的公司/项目采用.

最近在v2ex搜集了一些使用过中文命名的项目: https://www.v2ex.com/t/477109 更近的这贴也有一些在项目里因为业务需要使用中文命名的: https://www.v2ex.com/t/480623#r_6044543

个人认为下一个商业推广的点是在网络服务API中使用中文命名(json中的键名等). 类似于API的影响力(比如简繁转换这样的细小功能也可以积累用户), 网络服务API更易用, 相信传播也会更广/快. 这也是术语词典API项目的一个目的.

nobodxbodon commented 6 years ago

下面的反馈指出了一个忽视了的但非常大而且中长期仍会大量增加的潜在用户群。考虑到老龄化以及老年人平均受教育水平越来越高, 他们会是最有动力(外界压力相对较小)使用中文编程的群体之一。

摘自https://www.zhihu.com/question/20941966/answer/476507778?group_id=1021024804593233920#comment-512951229

中文编程最大的阻力就是输入法切换太麻烦,全角半角不通用。拿我身边的例子来说,我爸写程序用中文。退休了有的是时间,但是依然嫌麻烦。后来用拼音,结果发现时间长了看不懂。毕竟读的都是汉字,读拼音还是不习惯。最后还是用汉字了。

nobodxbodon commented 5 years ago

上次组会 @chuanjiao10 提议发展一个易于最终用户反馈的交流渠道, 觉得对于进一步推广很有必要. 考虑第一步, 是基于现在的域名(也许新域名更好), 由现在的github pages转为主要面向国内的网站. 具体内容包括下面几个方向:

  1. 围绕以中文命名作示例的教程(详见 https://github.com/program-in-chinese/overview/issues/5), 进行入门教学/交流
  2. 在现有的项目中使用中文命名标识符的经验交流, 实战教程等等, 也提供求助功能
  3. (包括开源和闭源的)中文语法编程语言或者环境的推介

网站本身尽量用静态内容(仍用jekyll). 社区打算仍然依托github pages的issue功能, 即主页的"社区"链接到某个repo的issues页面.

还望有建站经验的多多建言出力.

luoyou commented 5 years ago

建站最好还是论坛性质的,建议可以用 ruby china 的模板,https://gethomeland.com ,讨论内容不一定要局限于中文编程,可以直接是探讨编程语言设计的优点和缺点,这样更有话题性,也能吸引一些专业的人才,假设只讨论中文编程的话,可能无法吸引专业人员参与。

中文编程作为论坛的一个讨论板块,逐步吸引其他专业的编程人员参与进来。国内目前还没有讨论编程语言的社区,我觉得这个还是可以建一个的。

采用 homeland 的话就需要购买服务器用于运行,一年估计也要 3000 元左右的成本,这个这个在社区募集,然后公开账单,让大家一起参与。

nobodxbodon commented 5 years ago

@luoyou @chuanjiao10 多谢. 个人对论坛建设推广没有经验, 如有认识相关社区大佬的话也可以介绍一下. 另外, 还有个可能是在某社区/平台中申请一个版块(比如早先试过的贴吧), 也可以探讨一下.

可以直接是探讨编程语言设计的优点和缺点,这样更有话题性

嗯, 这样的好处是增加流量, 副效应是会引入"XXX最好/烂"一类论战. 有点顾虑的是会模糊了焦点, 毕竟现状中文编程就比较边缘.

国内目前还没有讨论编程语言的社区

是吗? 如果主打编程语言实现/设计的话, 管理员需要相当分量. 虽然qq群有几位相关领域研究者, 但不确定他们是否愿意.

这个这个在社区募集,然后公开账单,让大家一起参与

不错, 管账也是管理的一部分.

要只限于中文编程

我一开始是这么打算, 包括初衷里的几个方面.

版块需要思量,版块需要尝试运行。版块需要有人管理。主要是整理。

这样如何? 一开始先不分很细, 如果在某一方面有比较明显的人气积累之后, 再针对此方面开版?

应该有招募免费人员版块。如翻译

吸引翻译领域人士是个好办法. 不过之前也听说过号称有偿翻译最后各种欠钱不给的.

论坛应该允许赚钱的项目

这个感觉可以先和上面的在一个版块, 像"人才市场"之类. 等到内容较多后再考虑是否需要分拆(比如按照有偿/无偿等).

nobodxbodon commented 5 years ago

一种基于现有英文编程语言使用者的推广途径, 是从API浏览/搜索工具开始, 逐渐发展出可"胶合"利用现有API的中文脚本语言和开发环境. 详见 https://github.com/program-in-chinese/overview/issues/54#issuecomment-511582976