program-in-chinese / overview

中文编程的历史、现状和展望。issue 中进行相关问题的讨论.
https://zhuanlan.zhihu.com/codeInChinese
GNU General Public License v3.0
383 stars 34 forks source link

通过非语言特定的编程语言加上中文命名,来推广中文编程 #101

Closed 4b5ent1 closed 5 years ago

4b5ent1 commented 5 years ago

background:前段时间在py教学方面有实践中文命名,后来觉得为了书写方便,自己做了约定了一套notation https://github.com/pyzh/CPN/issues/4

简单说就是将编程语言更加通用化(部分数学化)的同时,通过中文命名,来节省开销。这里前面的语言指自然语言

一楼主要用来更新主要的说明。举例会放到后续楼层。不过为了方便,目前先放一些例子上来。具体个人倾向于用CPN=2,即CPN-1+CPN-2。关于CPN:https://github.com/pyzh/CPN/issues/4

例1:java风格的hello world

^ HelloWorld:  // CPN=2
^$∅ main / args:str[] :
  System`out`println "hello world"
^ 你好呀: //CPN=2+中文命名
^$0 main / 参:str[] : 
  系统`控制台`打印 "你好”

//CPN=2,日常用法,记为PN2 # p=普通的pu

^ 你好呀: 
^$0 main / 参:str[] →
  sys.out.print "你好”  // 变量名保持单音节为主
4b5ent1 commented 5 years ago

关于^$0的所谓的可读性问题,如果有比较在意的,可以用一个折中方案,即:vscode做个插件,输入^的时候可以补全pub,$→S , 0→void/无。当然,也可以定义一个宏:PSV→^$0

4b5ent1 commented 5 years ago

这个帖子已经完成了历史任务,可以先archive了