chnstyle, PHP 中文语义化计划。深坑。

2015-01-05 09:48:13 +08:00
 Actrace
昨天脑洞大开。。。
chnstyle是一个专注将PHP原生函数进行中文语义化重写的一个计划。
对于大部分生活在中文环境的入门编程者来说,纯英文代码对于程序理解是一个很大的障碍
我们认为编写程序是针对问题寻找机械化的解决方案,因此对于程序员来说,编程语言只是一种工具
即使是PHP这种足够简单的编程语言,仍然需要进行优化,以适应初学者

https://github.com/actrace/chnstyle
4606 次点击
所在节点    程序员
60 条回复
luoyou1014
2015-01-05 11:15:43 +08:00
支持楼主,话说我也想参与下。
robertlyc
2015-01-05 11:16:22 +08:00
意义不明
atan
2015-01-05 11:18:26 +08:00
函数 字符串长度 小括弧开 变量字符串 小括弧关...
robertlyc
2015-01-05 11:21:47 +08:00
中文二义性更多 if 是翻译成"如果" 还是"假设" 还是"若"
x86
2015-01-05 11:22:19 +08:00
话说我在贴吧里看过有用中文写PHP的...
feiyuanqiu
2015-01-05 11:30:46 +08:00
没看出有什么意义
Doubear
2015-01-05 11:31:49 +08:00
其实 我觉得这玩意弄好了就跟模板引擎一样 可以自己随意的定义模板语言

要是牛逼的话 可以写一个python语法的PHP模板引擎
然后教别人学习你的模板语法 然后.......
lvfujun
2015-01-05 11:53:43 +08:00
楼你把所有函数实现思想写个文档我感觉就挺好.
hfcorriez
2015-01-05 11:54:34 +08:00
从项目本身存在的价值来说,基本没有意义。因为编程本身已经处于一个时代的环境中,被环境所认知了,如果你让非常新的新手去学习一个中文编程。首先他还是要学习这些函数,这个门槛还是在;其次他没法通过大环境了解到他怎么去学习(因为搜不到,StackOverflow 和 SF 都没有);最后如果你无法维护的很好,那就真带人进沟了。

但是如果做为个人项目去尝试做语法的解析和模式替换之类,对自己的学习是很有帮助的,建议自己做但不要到处拉人来用。别害了人家!
RemRain
2015-01-05 12:13:05 +08:00
作为一个中文项目,项目名和 LICENSE 居然不是中文,差评
RemRain
2015-01-05 12:15:46 +08:00
文件名也是英文的,再差评,强烈建议汉化以下文件名:
index.php -> 索引。拍黄片
README.md -> 读我。妈蛋
BGLL
2015-01-05 12:20:11 +08:00
在这里发这个绝对会被喷,楼主应该去中文编程的论坛去发,易语言、快手什么的
我觉得还是有意义的,如果像易语言一样有个适用于中文的IDE的话。

楼上那些说中文编程没意义的肯定没用过或者只是试玩过一下的,我用过快手和易语言,并用易语言开发过几个完整的软件,输入速度不慢于英文甚至快于输入英文(以C++、Python、C#为参照),因为只要输入首字母后面的能自动补全,相比英文的中文单词很难超过5个字,而输入一般只要输入2、3个字后面就能补全了,比如getText()要补全至少得输入gett 而 取文本()只用qw。这对初学者易用太多了,要记忆的东西少多了。

对初学者中文上手都肯定是好于英文的,这还用怀疑?虽然关键字很好记,但是各种函数名初学者一眼看的懂?
不过我觉得如果只是把单词映射翻译一下,不能减少很多学习php的难度,倒不如把各个函数的使用方法翻译了,然后做一个快速查询工具,比如光标移动到函数名上显示函数的用法之类的......
yegle
2015-01-05 12:23:51 +08:00
初学编程遇到的第一个难点不是用英文写代码,而是理解概念。这种项目明显就是假设使用者已经理解部分编程基础。

比如说我摘抄一下:

/**
* (PHP 4, PHP 5)
* 获取字符串长度
* @param string $字符串
* @return int 返回目标字符串长度
*/

请问什么叫字符串?int是什么?string是什么?

/**
* (PHP 4, PHP 5)
* 使用一个字符串分隔符分割另一个字符串,得到一个数组.
* @param string $分隔符 用于在 $字符串 中进行切割数组的字符串.
* @param string $字符串 此变量将会被分隔符切割成数组
* @param int $最大数组单元 此项为可选项,当传入了此变量时,所返回的最大数组单元数将不超过设置值.如果值是0,则会当做1.如果值是负数,则返回除了倒数设置值个元素外的所有元素。
* @return array 返回一个数组
*/

请问什么是数组?

function 字符串长度($字符串){
return strlen($字符串);
}

什么是function?什么是return?
sujin190
2015-01-05 12:37:51 +08:00
@yegle +1
BGLL
2015-01-05 12:39:18 +08:00
@yegle
初学者看
数组 -- array
和你看
array -- tableau(法语数组)
的难度一样
用英文不仅要学 array 的含义还要记 array 的拼法,和你不久要学 tableau 的含义还要记 tableau 的拼法一样,莫菲直接用自己母语不更易学? 用母语望文生意的能力不更强?输
初学者母语上手都肯定是好于英文的,这还用怀疑?
m939594960
2015-01-05 12:50:13 +08:00
与其弄这个 都不如去弄个中文phpide 可以参考 e4p 本人也很想开发一个 。。 不过心有余而力不足!
kisshere
2015-01-05 12:57:25 +08:00
PHP的die函数和exit函数就成这样了:
if($用户名=="")
{去屎吧("用户名不能为空");}

if($用户名=="")
{滚粗("用户名不能为空");}
kookxiang
2015-01-05 13:13:21 +08:00
本身PHP函数命名就够乱的了,楼主还要乱上加乱……
你项目中的例子:
字符串切割为数组 OR 字符串切割成数组 OR 字符串切割到数组
你要玩死开发者么 = =
Actrace
2015-01-05 13:29:32 +08:00
@luoyou1014 欢迎参与提交文件~
kaneg
2015-01-05 13:54:53 +08:00
楼主,不是泼你冷水,这样做真的没必要,你要做的就如上面几位说的,最多做一些函数注释的中文翻译。这么多年了,编程语言以英文作为书写语言,就像数学用阿拉伯数字0-9,而不用中文的一,二,三是一样的道理。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/159276

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX