program-in-chinese/overview

某蟒编程语言需求书

Opened this issue · 13 comments

#某蟒编程语言需求书

一. 序言

  • 某蟒,是全球最受欢迎的编程语言之一——Python 的汉化版。秉持兼容并包的精神,某蟒希望成为**妇孺皆知的编程语言。
  • “人生苦短,我选择 Python”。Python 语言以简单、易学著称,没有像其他语言那样众多的条条框框和繁文缛节,符合**人“道法自然”的品味。作为其汉化版,某蟒有望在中文编程的蛮荒之地开创新局面。
  • 昔日,玄奘法师不畏艰难险阻,求取大量梵文佛经并将其汉化,使佛教在中土落地生根,开花结果,成为**人的精神内核之一。今日,我们当效法先辈,脚踏实地,努力奋斗,使中文编程成为华语世界习以为常、司空见惯的编程方式。

二. 目标用户

对编程有兴趣的普通学生、职员、工人、农民等。程序员不是目前关注的重点。

三. 汉化宗旨

  • 只要懂中文,就能写程序。以某蟒为突破口,培育计算思维,推动建立中文编程生态。
  • 契合中文思维,降低编程进入门槛,尽快产生影响力,赋予中文编程以合法性。
  • 倡导中文化编程,但并不排斥必要的时候使用英文(包括字母和符号)。

四. 实施组织

  • 成立“某蟒委员会”,由该委员会负责具体实施。
  • 建立某蟒网站,通过该网站发布、推广某蟒语言。Logo可考虑使用“某蟒——Python 汉化版”。
  • 经费自筹。

五. 具体需求

  • 现阶段以 Python 3.7.3 稳定版为基础,面向 Windows 用户进行汉化,包括关键字、内置函数、常用常量、调试traceback、标准库、常用第三方库等的汉化。关于库的汉化,采取“成熟一个,发布一个”的做法。
  • 汉化用词须通俗易懂,有约定俗成的则使用约定俗成的词语,以利于提高程序可读性。
  • 某蟒须 100% 兼容并支持 Python 的所有英文资源。
  • 增强 Python IDLE 和 VS Code 两种辅助工具以支持某蟒。中文关键字、汉化内置函数等的显示颜色应与原来相同,并支持换行时缩进等功能。只有很好地通过颜色区分不同类型的标识符,才会让人赏心悦目,创造良好的用户体验,而用户体验将决定某蟒的成败。
  • 提供 Windows 安装程序包。
  • 撰写促进中文编程的文章,编写大量有代表性、有趣味性的中文程序范例,发布到微博、头条、CSDN、github、抖音、知乎等平台,吸引网民关注。
  • 编写《某蟒教程》。
  • ……(请大家补充)

六. 某蟒发布原则

**能用、好用**。未达此标准,不得大范围公开发布。

七. 期限

   力争今年年底推出第一个可用版本。
  • 建议加入反馈信息中文化, 见这里的“编译/警示信息也中文化”
  • “某蟒须 100% 兼容并支持 Python 的所有英文资源。” -- 是否支持Python通过某种方式调用某蟒?
  • 需要在IDE中集成中文输入法吗?比如这样效果. 还是不在初版中实现,在后续版本加入?
  • “提供 Windows 安装程序包。” -- 初版是否覆盖Windows/Linux/Mac这几个平台?
  • Python 3.7.4将于年中发布。最好将如何随Python版本升级的方法记录下来(文档化)这一条加在需求中。

参考之前,还有一些细节问题:

  • 【着手实现前就需确保】所有修改的Python项目的开源许可证都允许某蟒这样的代码修改,并确保可将某蟒用于商用项目
  • 同时支持64位和32位系统?
  • 性能(包括编译、运行)接近Python
  • 除了教程之外的API完备中文文档

@nobodxbodon 很好的想法, 这段时间广泛征求意见, 吸引感兴趣的专业人士加入我们的事业.

zaoqi commented

最好能編譯到ChezScheme,使性能比CPython好。加入類Julia/Elixir的Macro,

zaoqi commented

“人生苦短,我选择 Python”。Python 语言以简单、易学著称,没有像其他语言那样众多的条条框框和繁文缛节,符合**人“道法自然”的品味。作为其汉化版,某蟒有望在中文编程的蛮荒之地开创新局面。

其他语言应改为其他大部分语言

@zaoqi 好!

@laowu2019 学习指南的一些个人观感:

  1. 仍然认为用历史人名命名关键字有挺大的潜在风险。请三思。
  2. 教程中命名可否避免英文简写,如P446,bf可用二进制文件, tf->文本文件. 以便读者好理解:
    Screen Shot 2019-06-05 at 2 36 10 PM
    类似的, 文件名也用中文, 如P455的output.txt:
    Screen Shot 2019-06-05 at 2 47 44 PM
  3. P517的求和算法对比, 虽然读者是新手, 但最好补充说明一下计算复杂度的区别, O(1)和O(n)还是区别很大.

关于整体教程结构, 把入门和具体问题结合的思路很不错. 但副效应是教程篇幅较长(至少看起来是, 500多页的ppt). 不知打算编写一个更加简化版的入门吗(比如将一些非核心的库如随机数另行介绍)?

看得很仔细, 对我是很大的鼓舞, 谢谢你! 下次修订时会充分考虑你的建议.

@laowu2019 刚粗看了三小时教程。一些个人看法:

  • P7 r 不妨直接命名为“半径”
  • P10, 对 C 和 F 不了解的会有些困惑,不妨用中文命名为“摄氏”,“华氏”
  • P137,错误信息没有汉化是吗?

感觉数学计算相关的例程多了些,中文命名的优势体现不大明显。

@nobodxbodon 嗯,确实是抄袭加急就章,以后有时间要写出自己的有特点的教程。

恭喜草蟒项目在 OSChina 开张~

@laowu2019 有关源码历史回溯,源码 commit 历史中好像看不出是从哪个 python 源码版本分支出来的。是这个吗?我想 diff 看看有多少修改代码量。

@nobodxbodon 最初版本是从python官网下载的,不过应该就是这个release

刚比较了grasspy 的这个最初版本和python 源码这个版本,Python 目录下有大概三四千行不同,其中包括自动生成的文件,因此很难看出到底需要修改哪些位置。

为了将来跟进 Python 新版本或者修 bug 考虑,不妨尽早在还有印象时将汉化过程和方法文档化。