Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

跨界: 哪些中文非IT领域会偏好中文API, 编程/脚本语言? #19

Open
nobodxbodon opened this issue Aug 8, 2017 · 26 comments
Labels
想法 +思路/观点
Milestone

Comments

@nobodxbodon
Copy link
Member

个人感觉越和IT无关的领域越会希望易于理解和上手的. 妄自猜度, 文学/艺术类可能是其中之一. 不知各位有什么看法?
@taostein 请问您能分享一些编程创作艺术作品的体会, 以及文艺界有怎样的软件需求吗?

@lightrabbit
Copy link

关于艺术方面,按我了解。国外教设计类课程的大学,已经有使用processingp5js来制作电子艺术作品和人机交互的原型的课程。国内的话不知道是否已经有了类似的课程,如果有的话,或许把前者的api用中文来表示可以更容易被学习者所理解。

@nobodxbodon
Copy link
Member Author

试着中文化了一下这个p5js的简单例程, 感觉是应该好懂些, 不少简单注释都能省掉. 不过最好要有领域背景的来看看翻译是否妥当.

function 构图() {
  新画布(720, 400);
  背景色(200);

  填色(204, 101, 192, 127);
  笔色(127, 63, 120);

  长方形(40, 120, 120, 40);
  椭圆(240, 240, 80, 80);
  三角形(300, 100, 320, 100, 310, 80);

  // 小花
  偏移(580, 200);
  无边界();
  for (var i = 0; i < 10; i ++) {
    椭圆(0, 30, 20, 80);
    旋转(PI/5);
  }
}

一个不直接相关的问题, javascript的IDE有类似于javadoc的文档提示吗? 就是比如输入"填色"之后, 鼠标放上去之后能看到这个API的注释, 像这样:
screen shot 2017-07-20 at 4 50 19 pm
因为想象写上面程序的时候, 应该经常需要查到底各个参数是啥意思.

如果基于p5js中文化版本(可以逐渐增强图形库), 然后做成像jsfiddle那样的在线编辑运行环境, 再添加一些IDE功能(比如上面的文档集成), 感觉可能对用户会更加方便.

@azige
Copy link

azige commented Aug 14, 2017

游戏设计方面可能有很多应用,例如编写技能脚本或敌人的行动策略之类的

@nobodxbodon
Copy link
Member Author

摘自 @wangyu190810 自己想要的编程语言

当然你希望,有种语言能计算xls中的各种数据。并且能随时计算,不需要等待,不需要什么高超的编程能力,你就是想计算一下一些数据而已,为什么 我要懂得编程。

也许需要一个比xls公式运算更接近自然语言的编程环境, 而且还最好和Excel集成

工作了,做用户运营。我们希望,我们希望知道,最近为什突然用户少了?话题上了?活跃低了?你告诉程员,你想要知道为什么?程序员说,我也不知 道啊。 自己气的只能说:“不就仗着你们能随便写代码吗?要是我会写代码。我自己就统计了,要你们干啥?”。 你知道可能那些因素会影响,你自己 要来数据,自己开始搞统计,你希望,编程很简单,不仅能算出来各种数据,还能把数据使用漂亮的图表展示出来。

也许类似于R但更易上手

你有很好的思路。你知道这个游戏一定会成功。你找了很多人。你说" 我有一个好主意,能让我们暴富(i have a dream)"。别人都不信你,你自己不 知道如何说服他们,你觉得自己要是能做出一个简单模型(demo)。那么你见到投资人,希望得到到一笔钱天使资金,相比余仅仅有ppt,投资人会更加认 为你很靠谱。

前端的原型开发编程环境. 现在已经有不少所见即所得的原型开发工具, 比如gomockingbird之类. 游戏原型创作对图形绘制要求更高.

@wangyu190810
Copy link

@nobodxbodon
我的个人想法,

  1. 当然你说xls公式,可以完成统计,当然没什么基础的也可以。
  2. R语言,可以完成统计,更好学习,很多大牛都在用
  3. 前端圆形工具,当然这个例子有点极端,编程语言到原型工具之间的差距,不是一点半点的。所以python没有优势可言
    不过学习python,可以轻松的解决1,2 问题,并且学习曲线比较低
    同样,python也可以变成一个工具,加深理解,就可以用来简单谋生。

十分感谢阅读blog,我的东西实在写的有点烂了。

@nobodxbodon
Copy link
Member Author

@wangyu190810
不好意思, 澄清一下. 之前很高兴看到你对编程语言的设想, 因为这里也正好在讨论其他领域对编程的需求. 所以很希望看到一些专业人士的个人体会. 个人觉得xls和R自然是功能强大, 不过也许在易于上手和对中文用户友好方面还不够. 另外, 看来用Python解决了不少工作中1/2的问题吧? 请问在此过程中有没有什么心得?

@wangyu190810
Copy link

@nobodxbodon 简单写了一些感受
可能和你的想要的还是不一样,但是我觉得你可以尝试一下python。
xls和R专业的工具,必然是解决良好结构化的数据。
但是很多时候,数据没有结构化,或者数据机构化不严谨,
更甚者,数据需要自己采集。
这个时候,python可能就比xls和R更有用,可以从头处理到最后。
并且更加灵活。

@nobodxbodon
Copy link
Member Author

@wangyu190810 多谢分享! Python确实是易于上手. 不少大学也把计算机基础课从Java/C改为了Python.
现在看来也可以理解为啥中蟒 周蟒选择Python作为汉化对象.
我们现在在尝试汉化其他一些编程语言, 以降低学习门槛, 提高可读性: #25
从你的应用里, 看到数据抓取和分析这个需求, 个人感觉也是蛮有代表性的. 以后如果编写一些中文编程的教程时, 希望会包括这部分内容.

@nobodxbodon
Copy link
Member Author

对在代码中使用中文命名的质疑与回应一文有回复中建议:

如果能有一个类似discuz或者cms这样普通站长也广泛应用的系统,进行中文化的开发,可能对中文在编程中的应用起到比较好的推广效果。

感觉这是个很有需求的领域. 汉化现有框架或是新创一个轻量化的框架都是有可能的.

@nobodxbodon
Copy link
Member Author

@chencun 早先指出:

比如广告营销,新闻媒体。网赚,还有其他的需要自动化操作的领域。
这些人,他们都希望自动化,但是,他们又请不起专业的程序员,也不想外包

@nobodxbodon
Copy link
Member Author

nobodxbodon commented Nov 30, 2017

https://www.zhihu.com/question/26071216/answer/268485364 建议:

比如说WPS完全可以在软件内,开发一个比较简单的中文编程语言或者与某个中文编程语言相集成,让简单的一些易用程序可以跑起来,再慢慢的扩大规模,这样类似于WPS这样的完全和Office的用户重叠的软件可以吸引一部分的用户,实例就是主流编程圈子VB早就被抛弃,但是在OfficeVBA上还是有太多用户,毕竟大部分人不是搞程序开发的,只是想写个简单的东西方便自己的日常工作而已……性能也不是特别在乎……还有,中文编程最好能和类似于siri这样的人工智能相结合,有效降低编程的门槛,方便用户使用,比如我们在office编辑中经常会遇到2008年8月8日改成2008年08月08日或者是改成2008-08-08甚至是20080808这样的事情,对于不懂编程的小白来说这必须手动操作很麻烦,编程我们可以直接类似于siri一样,就写一句“把日期改成2008年08月08日”就能让系统自动识别并进行相关操作(这个例子不够严谨,反正就是类似的意思)。

@nobodxbodon
Copy link
Member Author

刚看到那位"抚子"日语编程语言的作者还有个项目好像是从日文的类似"哆来咪"之类的乐谱生成midi文件. 示例.

@nobodxbodon
Copy link
Member Author

今天想到, IFTTT之类的网络服务对API进行了自然语言化, 它的受众更多也是非IT专业的普通用户. 感觉这个方向也是个可能的入手点. 知乎想法链接在此

@farteryhr
Copy link

说到哆来咪【想到basic的play函数【扩展成了music mml,8bit爱好者很多人用此语法作曲【
论各种东西的字面量(还想到了b站开源的最新弹幕语法(

@nobodxbodon
Copy link
Member Author

@farteryhr 弹幕语法是指这里?
之前发觉的应用很广的广义上的中文编程的一个方向: 从人机交互角度看中文编程:'打开微信'

@nobodxbodon nobodxbodon added 想法 +思路/观点 and removed i思路 labels Aug 13, 2018
@nobodxbodon
Copy link
Member Author

前两天的合作项目之后, 有个想法, 主要面向非IT领域的业余项目的需求, 感觉此类需求不少时候可以通过较简短的脚本实现, 而且经常有现成开源项目/库可以借鉴.

@nobodxbodon
Copy link
Member Author

基于楼上, 新开万事屋repo. 作为一个与最终用户的交流渠道. 有闲/兴趣的可以关注一下.

@4b5ent1
Copy link
Member

4b5ent1 commented Oct 2, 2018

我这边最近了解到,很多文化水平不够的(专科往下,或者年纪较大的(30以上,非IT从业人员,也对编程感兴趣。他们通常英语水平也不够,然后间接的,受认知影响,很多也不知道有chrome翻译这样的方法

@4b5ent1
Copy link
Member

4b5ent1 commented Oct 2, 2018

另外我认为,现在的编程形式,和音乐制作的形式很像(我认识做游戏音乐的)。跟做视频后期也有些类似。当然,现在很多做视频后期的,也被逼着自己用代码实现渲染效果了。。

游戏开发和脚本制作属于IT,故不展开赘述。

其次应该是一些办公的,比如会用到office里面的excel公式(甚至用到word的eq域,但是对编程可能还没有一个完整的认知。

@nobodxbodon
Copy link
Member Author

找了一下太吾绘卷的源码(由于主创并非程序员专业, 更接近游戏总体设计, 可以认为是跨界), 看起来还是英文命名, 但如主创所言, 配备了非常详尽的中文注释:
1538289363868708
@lightrabbit 如果有接触途径的话不妨建议他在业务部分用中文命名(开发环境允许的情况下), 相信在重构代码时可以节省不少维护工作.

@nobodxbodon
Copy link
Member Author

@nobodxbodon
Copy link
Member Author

楼上1楼上2:

个人认为, 通过第三方应用集成手机的系统和应用功能的方式, 中文编程的潜力很大, 别说基本的日常命令还有很大提升空间, 进一步的简单条件/循环语句也可以有很多功能增强(之前的脑洞), 而似乎现在的语音助手都不具备这个功能. 类似的服务如IFTTT, 虽然只支持如果...就...不然的逻辑, 通过集成各种网络服务也有了很多用户.

不知有没有手机应用, 可以实现如果收到了xx的短信, 把短信内容写到记事本里, 或者如果收到了yy的微信自动回复"xxxx"(假设微信支持调用接口)这样的功能呢? @MikaGuraNTK

@4b5ent1 4b5ent1 added this to the 2018戊戌 milestone Nov 30, 2018
@4b5ent1 4b5ent1 added this to mark/sync in e2018 Nov 30, 2018
@4b5ent1 4b5ent1 moved this from mark/sync to else/mark/ref in e2018 Nov 30, 2018
@nobodxbodon nobodxbodon mentioned this issue Jan 28, 2019
61 tasks
@LongTengDao
Copy link

LongTengDao commented Aug 9, 2019

试着中文化了一下这个p5js的简单例程, 感觉是应该好懂些, 不少简单注释都能省掉. 不过最好要有领域背景的来看看翻译是否妥当.

function 构图() {
  新画布(720, 400);
  背景色(200);

  填色(204, 101, 192, 127);
  笔色(127, 63, 120);

  长方形(40, 120, 120, 40);
  椭圆(240, 240, 80, 80);
  三角形(300, 100, 320, 100, 310, 80);

  // 小花
  偏移(580, 200);
  无边界();
  for (var i = 0; i < 10; i ++) {
    椭圆(0, 30, 20, 80);
    旋转(PI/5);
  }
}

这绝不是什么随意的演示,能做成这样,API设计的功底真的很强。单纯随意使用中文是没有这样的效果的,我自己也经常尝试。使用中文意味着要隐藏实现细节,只保留主干逻辑,而且妥善抉择命名的是目的还是行为,才会直观。否则底层实现通常是和计算机术语相关,变成中文只会更乱。佩服。@nobodxbodon

@nobodxbodon
Copy link
Member Author

@LongTengDao 这是基于原英文API的中文化, 因此做的工作只是选择对应的中文命名进行一对一封装. 本人没什么计算机图形学背景, 用语方面肯定还有改进空间.

我自己也经常尝试

请问可否分享一下? 也好交流一下心得

否则底层实现通常是和计算机术语相关,变成中文只会更乱

不知指的是哪方面? 可否举个例子?

@LongTengDao
Copy link

我自己也经常尝试

请问可否分享一下? 也好交流一下心得

否则底层实现通常是和计算机术语相关,变成中文只会更乱

不知指的是哪方面? 可否举个例子?

谦虚了。比如这样就是非常失败的:

for ( var 总次数 = 10, 第几次 = 0; 第几次<总次数; ++第几次 ) {
    // ...
}

@nobodxbodon
Copy link
Member Author

@LongTengDao 关于命名风格, 欢迎到此专题贴探讨. 和你的例子比较接近的是"如何命名临时变量"部分. 另外此文供参考

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
想法 +思路/观点
Projects
E2030
Awaiting triage
e2018
  
else/mark/ref
Development

No branches or pull requests

7 participants