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

某蟒编程语言需求书 #155

Open
laowu2019 opened this issue May 12, 2019 · 13 comments
Open

某蟒编程语言需求书 #155

laowu2019 opened this issue May 12, 2019 · 13 comments

Comments

@laowu2019
Copy link

#某蟒编程语言需求书

一. 序言

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

二. 目标用户

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

三. 汉化宗旨

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

四. 实施组织

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

五. 具体需求

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

六. 某蟒发布原则

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

七. 期限

   力争今年年底推出第一个可用版本。
@nobodxbodon
Copy link
Member

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

@nobodxbodon
Copy link
Member

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

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

@laowu2019
Copy link
Author

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

@zaoqi
Copy link
Member

zaoqi commented May 12, 2019

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

@zaoqi
Copy link
Member

zaoqi commented May 12, 2019

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

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

@laowu2019
Copy link
Author

@zaoqi 好!

@nobodxbodon
Copy link
Member

@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
Copy link
Author

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

@nobodxbodon
Copy link
Member

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

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

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

@laowu2019
Copy link
Author

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

@nobodxbodon
Copy link
Member

恭喜草蟒项目在 OSChina 开张~

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

@laowu2019
Copy link
Author

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

@nobodxbodon
Copy link
Member

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

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants