overview icon indicating copy to clipboard operation
overview copied to clipboard

社区运行方式讨论, 迎新

Open nobodxbodon opened this issue 7 years ago • 78 comments

刚迎来了第三位成员, 俗话说三人成群, 也许是时候讨论一下这个社区的运行方式了. 本人是第一次在github新建orgnization, 之前参与过另一个以外国程序员为主的org, 觉得大氛围挺专业, 而且这种公开讨论的形式效率挺高. 希望大家随意聊聊. 比如对这个社区的期望, 个人的目标, 如何利用github进行主题讨论, 任何对我的问题, 或者任何其他话题. @buyouyuan @jeromechan

下面是已有的讨论较多的话题. 为避免此帖太长, 如对其中一些有兴趣可以直接在那里发表; 如果有新主题或不同意见非常欢迎开新issue讨论(类似论坛开新帖):

另, 本人在其他社区的账号: 知乎 百度贴吧 OSC 易语言论坛

内部微信群详见此贴

nobodxbodon avatar Jul 29 '17 20:07 nobodxbodon

个人的希望是汇聚各种背景和水平的对中文编程有兴趣的程序员. 中文编程在我看来包括在所有现有英文语法的编程语言中使用中文, 以及发展和推广使用中文语法的编程语言. 因为在下主要的编程经验是在Java/JavaScript, 个人短期内会更关注于在英文语法的语言中使用中文的问题. 希望能够有立志于原创中文语法编程语言的同学多发声. 讨论形式暂时用issue"发帖". 讨论区暂时分成几个区: overview, 以及每种编程语言一个. overview这里进行一些和具体某一种编程语言无关的讨论, 如果牵涉到具体的编程语言, 就在对应讨论区开issue. 如果想要发起一个(开源)项目, 包括文档/教程/示例代码/实际项目, 考虑先发在overview中, 好让最多的人看到. 可以在想法成型后再转到对应讨论区继续. 项目最好用中文代码编写. 另外, 在osc的镜像站, 暂时只是把一些代码库pull过去, 不知道以后会不会有精力兼顾两边, 也还没确定两边的互动如何进行, 而且github和osc的功能也不完全一样.

请多提意见!

nobodxbodon avatar Jul 29 '17 20:07 nobodxbodon

欢迎@taostein! 刚拜读了您两年前的大作"A Thousand, a Billion, a Trillion"的简介, 和近年来的作品. 钦佩使用电脑绘画进行艺术创作. 我曾经有过一些书法相关的想法, 不过远没有成型. https://github.com/taostein/hanma 好像是把OCaml的关键词和一些函数汉化了? 不知您最近有什么打算?

nobodxbodon avatar Jul 30 '17 21:07 nobodxbodon

欢迎 @forevertyler @xueyongwei ! @xueyongwei 虽然想当然地觉得ObjectC应该支持中文命名, 不知能否麻烦确认一下?

nobodxbodon avatar Jul 31 '17 03:07 nobodxbodon

欢迎 @sih4sing5hong5 ! 看到你的代码非常兴奋, 因为这是第一次看到在实际项目中实践母语编程并且开源的. 在下的项目都还是业余尝试. 希望能够多交流心得体会.

nobodxbodon avatar Jul 31 '17 03:07 nobodxbodon

我嘛是看著 shoichi chou 用母語寫的開源專案才開始的

對我來講, 上大的優點是母語寫程式就免註解,程式本身就有解釋的能力 英語寫一擺程式,閣用母語閣寫一擺註解的程式歹維護

sih4sing5hong5 avatar Jul 31 '17 09:07 sih4sing5hong5

非常同意。我写的一些单人业余项目里,感觉用母语之后的可读性好了不少。请问对Python命名和代码风格有什么心得?比如Java里没有大小写之后就要想办法区分类和变量名。 不知你有chou的github账号吗?

nobodxbodon avatar Jul 31 '17 15:07 nobodxbodon

欢迎 @NER000 !

nobodxbodon avatar Jul 31 '17 15:07 nobodxbodon

欢迎 @ice1000 !

nobodxbodon avatar Jul 31 '17 17:07 nobodxbodon

假如还没人做这块,我打算贡献一些中文处理方面的常用工具,比如汉语拼音parsing,拼音-注音转换,中文分词、注音等。

nlpguyz avatar Aug 01 '17 07:08 nlpguyz

我这种只会写Parser的垃圾能做什么呢。

ice1000 avatar Aug 01 '17 13:08 ice1000

@nlpguyz 刚发了请帖,欢迎! 现在是百废待兴啊,如果你打算用中文写代码的话,所有你做的都可能是第一个(最多是第二:)同类里面用中文写的。如果是已有的英文代码库,大家也可以看看有没有中文化的可能。再不然的话就当学习代码也好。 @ice1000 可以先看看几个有“长期”label的issue,有没有哪些有兴趣的。另外,最近在寻找对中文编程有兴趣的同行,之前是直接搜索“中文编程”的库和issue. 有没有可能从github API取些数据,能发现更多已经尝试中文编程的开发者?

nobodxbodon avatar Aug 01 '17 14:08 nobodxbodon

Well I've just reinstalled Ubuntu on my laptop and I don't have a Chinese input method, so sorry.

I'm curious that why did you find me? Seems that I've never shown any interest in programming in Chinese.

ice1000 avatar Aug 01 '17 17:08 ice1000

@ice1000 在github里用"中文编程"搜commit, 找到了这个: https://github.com/ice1000/PlasticApp/commit/db92d964207356a1071085f94d67ea467893be74

nobodxbodon avatar Aug 01 '17 18:08 nobodxbodon

@program-in-chinese/all 由于活跃成员都在github, 决定暂时不再跟进osc的镜像站: http://git.oschina.net/Program-in-Chinese. 也省去维护管理的功夫.

nobodxbodon avatar Aug 01 '17 23:08 nobodxbodon

近段时间在看NASM源代码的指令模块,刚开始按我的理解,这个模块是直接将汇编指令编译成机器指令的。如果是这样的话,直接将英文指令替换成中文就OK了。谁知不是这样的。这个指令模块还用到了Perl的语言。我晕了。

buyouyuan avatar Aug 02 '17 01:08 buyouyuan

机器指令是01指令,汇编指令是伪代码指令 这两种可以说是计算机程序之父。而C语言是程序之母了!

buyouyuan avatar Aug 02 '17 01:08 buyouyuan

而现在所有的语言就是将英文指令或伪代码指令翻译成计算机能运行的01指令。 万丈高楼平地起 要不要先找到第一块砖呢?到时候才有站在巨人肩膀上的可能。

buyouyuan avatar Aug 02 '17 01:08 buyouyuan

@buyouyuan 汉化编译器早已有前辈的实践, 而且是二进制级别的汉化. 建议看看他的宝贵心得: https://github.com/program-in-chinese/overview/issues/13. 如有感想请在那个issue继续讨论.

nobodxbodon avatar Aug 02 '17 02:08 nobodxbodon

任重道远啊。如果前辈能坚持下去,那就没有我们现在这个事了。

buyouyuan avatar Aug 02 '17 03:08 buyouyuan

欢迎 @liumapp @MrZeroW @xuhuisheng @ZiluTian !

nobodxbodon avatar Aug 03 '17 03:08 nobodxbodon

欢迎 @drduan @FansinZhao !

nobodxbodon avatar Aug 03 '17 17:08 nobodxbodon

偶然路过,幸会各位前辈。本人是个普通的Java程序员,在之前也见过一些一股脑想汉化Java的人,正好在这里想简短的说一下本人的观点。

本人支持的观点

  • 中文编程能降低编程入门门槛
  • 中文程序可以提高对中文母语编程者的可读性

本人认为没有意义或意义不大的工作

  • 汉化某种现存编程语言
  • 汉化某种现存编程语言的库(简单理由:难以维护,不利于非中文编程者贡献)

本人认为有意义的工作

  • 汉化现存编程语言或库的文档
  • 汉化现存辅助软件开发的工具中的文本(如IDE、SCM、编译器以及近在眼前的GitHub等)
  • 设计新的易学易用的中文编程语言(但是很可能仅限于编程教学使用)
  • 在软件中提供面向初级用户的可以使用中文编写脚本的功能(就像按键精灵那样)
  • 设计通用的中文脚本语言(为上一条服务)

本人对编程中文化也是很有兴趣的,但是总觉得应该把劲用对地方才行?

azige avatar Aug 05 '17 11:08 azige

@azige 欢迎! 多谢分享! 中文化编程的方向和任务确实很多, issue有些加了"长期"标签, 就是现在认为比较可行的. 如果有新主题或不同意见非常欢迎新开issue讨论.

基本赞同你的观点. 一些个人看法:

汉化某种现存编程语言的库(简单理由:难以维护,不利于非中文编程者贡献)

欢迎在https://github.com/program-in-chinese/overview/issues/9 探讨, 现在个人还是觉得汉化某些常用库或者用户绝大多数为中文用户的库(比如中文处理库-结巴之类)的API, 对于开发者逐渐适应在代码中使用中文是有示范意义的.

汉化现存编程语言或库的文档

感觉这和汉化API有点交集. 个人感觉, 命名好的API比命名不恰当而注释完整的API更好理解. 引申出去, API如果取了恰当的中文名, 再加对应的中文注释, 比起英文名+中文注释要更加好理解. 这也是汉化API的初衷之一.

汉化现存辅助软件开发的工具中的文本(如IDE、SCM、编译器以及近在眼前的GitHub等)

也许需要分开讨论, 因为有些IDE的汉化包应该有了, 而编译器汉化(编译反馈信息, 帮助等等)感觉是汉化现存编程语言的一部分.

设计新的易学易用的中文编程语言(但是很可能仅限于编程教学使用) 在软件中提供面向初级用户的可以使用中文编写脚本的功能(就像按键精灵那样) 设计通用的中文脚本语言(为上一条服务)

欢迎在https://github.com/program-in-chinese/overview/issues/11 讨论. 这应该是个很大的主题, 根据目标用户不同可以有很多不同的功能和设计.

另外, 在现有编程语言中使用中文命名也是个大主题, 因为它不依赖于任何新工具, 几乎是只要想实践就可以马上开始的. 编写入门教程也是为了让更多新手发现这种可能性, 而不是单纯地认为"程序只能用英文写".

nobodxbodon avatar Aug 05 '17 15:08 nobodxbodon

欢迎 @calllivecn @cleverdango !

nobodxbodon avatar Aug 05 '17 15:08 nobodxbodon

欢迎 @lightrabbit ! 与 @cleverdango 合作了项目: 让VSCode可以用拼音来匹配中文标识符,实现中文编程

nobodxbodon avatar Aug 07 '17 17:08 nobodxbodon

玩了一下tinycc,做了一个中英兼容编译器,其实没什么技术含量,呵呵。 因为tinycc能自举,再将修改过的tinycc关键字全替换成中文也就自举了。 也做了一个lua的中英兼容编译器。 试了一下lua也可以用tinycc编译,所以lua的编译器也可以该成纯中文。不过是体力活,还没做。 以后打算整一个能编译通过的gcc或clang/llvm,搞一个中文c++。

swizl avatar Aug 09 '17 07:08 swizl

关于和@lightrabbit 合作项目的vscode-pinyin的一些思路的起源:

  • 我们没必要创造一个中文编程,因为市面上已经有很多类似易语言的中文编程语言

  • 我们修改原本现有的语言的语法(例如把function()改成函数())可能也不太可行,大部分程序员会比较习惯原本的语法

  • 大部分英语不好的程序员,可以通过智能感知+长时间码代码记住基本语法的那些为数不多的单词

  • 有些英文不好的程序员,会取一些蹩脚的变量名或者直接用拼音命名,非常不直观

  • 有些变量名无法有比较合适的英文直译,导致还需要添加中文注释

  • 很多语言都支持中文变量名(如js,c#等),但是编程过程中必须切换输入法导致麻烦

  • 所以在VSCode上做了一个能够通过拼音匹配中文标识符的插件,使得你在调用这个函数的时候就不需要切换输入法

对于VSCode-pinyin未来的一些想法(不确定可行性,暂且是脑洞):

  • 能自动感知,帮你切换输入法 例如:

    • function 你好( 检测到function 后输入法自动切换成中文,然后在检测到全角的圆括号后自动切换成英文输入法并且把全角圆括号变为半角的。
    • let 变量 在输入let 之后切换输入法为中文

    简单来说,就是在需要定义新名字(函数名,变量名,类名)的地方,自动切换成中文输入法,在使用现有名字的地方(调用现有方法或者函数),使用智能感知来提高效率。

(待补充,等有空了再添加)

cleverdango avatar Aug 10 '17 02:08 cleverdango

欢迎 @swizl ! 话说之前也少量汉化过coffeescript的关键词. 感觉这个方向的推广有些难度, 后来又看到这位前辈的体会, 逐渐就转到现有代码中中文命名的方向了. 不过如果有集体的力量, 也许维护一个比较有用户群的语言的关键词汉化版本也许也不是不可能. @cleverdango @lightrabbit 多谢分享! 以后放到项目首页里也很合适. 自动切换输入法的想法赞一下, 之前在贴吧里讨论中文汇编的时候也有类似想法. 我现在一个缓解中英切换麻烦的权宜之计是用搜狗的"中文下使用英文标点"的设置, 当然副效应就是写代码注释以及这些帖子也是英文标点 :[

nobodxbodon avatar Aug 10 '17 03:08 nobodxbodon

@nobodxbodon 推广要么你真的很吊,能创造价值,解决问题别人口碑相传。另外一种就是有产品,能赚钱,然后再花钱打广告强推。而对中文编程而言,后者才是最佳选择。尽快出成品,商业化运营,才能走的更远。有的卫道者,也喜欢把中文编程曲解为全部都是中文的。其实汉化才是最合适的方式。其他的从零开始创造,都要花费大量的人力物力。或许能博取个好名声,但是多少年后,能有个结果呢?中国人在造自己的中国芯(龙芯),但是这过去了多少年,花费了多少钱。你看家用的那台采用了?现在也就是军方和一些企业在尝试使用而已。

obj404 avatar Aug 16 '17 04:08 obj404

汉化某种现存编程语言的库(简单理由:难以维护,不利于非中文编程者贡献)

这是错误的想法。就算是创造一门编程语言,有多少是马上用C写完就自举了的? 一样的道理,汉化先存的库,然后用汉化后的库,写出更多的库。

不是每个人都必须接触底层的。都是在前人的基础上再次开发。 你用其他语言进行开发库,难道不调用标准库,第三方库么?

obj404 avatar Aug 16 '17 04:08 obj404