超级简单的中文脚本语言"类之序"--依然在探索--有人看好吗?
Tofloor
poster avatar
electricface
deepin
2012-04-26 05:53
Author
  希望有人和我一起深入研究中文编程。其实中文编程和英文编程一样需要被研究,需要被进化,没有什么可以一蹴而就的,没有什么天生就比其他事物要差劲。
lzx 也许可以作为llvm的一种前端语言.

py='http://python.org
网页py 填表{
 username?electricface
 location?china
}头{客户端?Mozilla/5.0,语言?zh-zh}
打印网页内容

#仿c函数,操作太过基础,表示很无力
方法之记单词数
 flag='out
 wdcnt=0
 当终端输入字符(c;)!='@
  若c**空白:flag='out
  若不且flag=‘out :wdcnt++ &flag=’in
 ;当
 结果wdcnt
;方法

#一次向多个站点发送微博跟图片
微博 站点{新浪,腾讯,人人}  文字'用类之序脚本发微博@伪码'
@图片{ 图片/微博截图1.png , 图片/微博截图2.png }
@发送


#集合创建方法:
命令 s*5  #一维组
命令=
 'tail var/log/messages'
 'df -h'
=


hb 单元格*4
插入hb到单元格'A2'下方
合并hb

活动文档
 段落1
  文本'第一句话' 字体'5号加粗' 颜色'红'
  文本'第二句话' 字体'6号加粗左倾斜' 颜色'红:黑'
  文本'第三句话' 字体'7号右倾斜' 颜色'黑:红'
 ;段落1
 段落1右对齐
 段落2
  文本'aasdfasdf' 颜色'红'
  文本'wedsasdggh' 颜色'黑'
  左对齐
  行间距2.0
 ;段落2
;活动文档
Reply Favorite View the author
All Replies
2 / 2
To page
electricface
deepin
2012-06-11 18:14
#21
属性={'
 字体?文泉绎微米黑  14号 加粗
 背景?(
  渐变‘线性’ 起点0,0.5  终点1,0.5
   调色 ‘绿’ 0.0
   调色 ‘白’ 0.9
 )
'}
按钮*6@属性

伦敦顾客=顾客[所在地==‘伦敦’]//性别
#符号(//)有拆分,分组的意思,相当于split 和 group by
##
伦敦顾客<=>
男?(顾客1,顾客2,顾客4)
女?(顾客3,顾客7)
##
顾客:伦敦顾客[男]
 打印顾客性别


m=1到20
m//10      #将m每10个元素拆成一组
str='a,b,c,d
ls=str//       #对字串,数组各有一套方法。这里省略参数 补全为ls=str// ','
ls <=> {'a','b','c','d'}

all=A++B         #(++)取集合A,B的并集     (**)取交集   (--)取差集,补集
all<>               #排序,从小到大
all//序%2       #按照计算规则(序%2)分组,将all分为奇序组和偶序组
max=all[1]     #序%2==0   偶序组,较大的
min=all[2]      #序%2==1   奇序组,较小的
打印max,min,(max/+)-(min/+)

批量修改(fd 文件夹)下文件扩展名(A)到(B)=(){
 A,B s
 文件:fd
  文件扩展名.替换A到B
    ;文件
 文件夹:fd              
  批量修改(文件夹)下文件扩展名A到B
    ;文件夹
}

螺旋数阵=(N i){
 I*N*N
 k={N-1}
 i:N-1到1
  k..i,i  #构造k=5,5,5,4,4,3,3,2,2,1,1
 m=1,0  0,1  -1,0  0,-1        #推进方向
 j=1
 a=1,1     #起点
 s=1        #起点值
 I[a]=s
 ki:k       #ki为推进步数
  r:1到ki
   a+=m[j]
   I[a]=++s
  ;r
 j++
 若j==5: j=1
 ;ki
 打印I
}

#这不是最简单,只是把它们不区分类型的,竖着写
gz文件‘/路径/abc.gz’
写gz文件
 123456
 ‘string’
;写
读gz文件
 zs i
 str s
;读
打印zs,str

#中文正则表达式
#沿用ruby的 正则匹配符号 ~=
html'http://www.baidu.com/s?wd=aauto
html内容~='class="g">[0+空白][m;1+某字]

#数字写在字母前面表达倍数的简写
a:1到2
 b:0到9
  c:0到9
   m=100a+10b+c
   k=100c+10b+a
   若2m<=k<3m
    打印m,k,k/m
  ;c
 ;b
;a

#打印菱形
s=4到0..1到4
z=9-2s
i:1到*s
 打印s*空格+z*'◇'
;i

( ){  }  表示匿名函数 lambda表达式

ch p
支线程(){
s=ch()
打印‘[线程ID;],获取[s;]’
}
开始按钮被单击(){
ch..1到30
}
Reply View the author
electricface
deepin
2012-06-13 01:09
#22
字串a=
 'ABCDEF'
 'ABCDFG'
 'ASASDF'
=
字串b=<
ABCDEF
 ABCDFG
 ASASDF
>

文本文件'答案.txt' <
 '1-5 ABCDA  6-10 ACBDA  11-15 BBCAD
 16-19 ABDA'
>
txt 文本文件'答案.txt'
读txt 循环
 读一个数到A
 读一个字符
 读一个数到B
 读B-A+1个字母到答案[A:B]
;读
#循环结构
I:1到5
 ...
;I

I:{1,3,5,7,9,11}
 …
;I

#分支循环结构
i:
 1:  ...
 2:  ...
 3:  ...
 _:   ...
;i

i:{1,2,3,4,5,6,7,8,9,10}?3
 #“?”表示从集合里随便挑选几个
 1:  ...
 2:  ...
 3:  ...
 _:   ...
;i
Reply View the author
electricface
deepin
2012-06-13 18:23
#23
#扫雷游戏算法
周边雷数=(a,b){
 雷数=0
 M:-1,0,1
  N:-1,0,1
   若m[a+M,b+N]不越界  #m 为记录有无地雷的数阵
    雷数+=它
  ;N
 ;M
 雷数-=m[a,b]
 返回雷数
}

#读取数据库
读数据库‘学生信息’
 I::10
  结果[I]=多选题表[题号==I]答案
   ;I
;读

图片框被拖拽=(){
 鼠标样式=‘移动’
 图片框跟随鼠标移动
}


竖排打印静夜思=(){
 字串=‘静夜思 李白床前明月光,疑是地上霜。举头望明月,低头思故乡。091013’
 I*6*6
 a::6
  I[a]=(5到0)*6+a
 m::6
  n::6
   打印‘|’+字串{I[m,n]}
  打印换行
 ;m
}


#强力解一道数学题;6个人站成一排,甲乙两人之间隔2人,有多少种可能?
可能数=0
排序{甲,乙,丙,丁,戊,己} 可能k
 若k[‘甲’]序-k[‘乙’]序==3或-3
  打印k+换行
  可能数+=1
;排序
打印可能数
Reply View the author
huizige
deepin
2012-06-17 10:36
#24
http://zh.wikipedia.org/wiki/ZhPy
楼主看看这个能否达到你的要求,自己做麻烦的不说,出现BUG维护起来更麻烦。
Reply View the author
electricface
deepin
2012-07-04 19:52
#25
又发现了一种中文脚本编程语言zhscript
项目主页;http://code.google.com/p/zhscript/
lzx为什么有那么多的符号,主要是想要省下输入汉字的时间,不用记英文单词,就记着些特殊符号。
Reply View the author
freer2012
deepin
2012-07-04 20:05
#26
汉语不适合作编程语言。
Reply View the author
electricface
deepin
2012-07-08 22:14
#27
汉语不适合作编程语言。
汉语很优秀,一定可以胜任编程的。
二进制和谁都没有矛盾,只是数的一种表示形式,请楼下的同学不要再迷信方块字与二进制之间的传说了。
Reply View the author
bsfmig
deepin
2012-07-09 02:13
#28
[quote]汉语不适合作编程语言。
汉语很优秀,一定可以胜任编程的。[/quote]
方块字和二进制之间的矛盾决定了汉语不适合做编程语言。其中比较重要的是输入问题。
另外,谁听说过日语编程法语编程西班牙语编程阿拉伯语编程?(美国)英语统治者计算机世界。
Reply View the author
electricface
deepin
2012-10-17 06:48
#29
我很想完善关于lzx的设计,一直在研究各种编程语言,使用过几天的c# Express 2012,发现IDE 特别好用,几个亮点如同输入法一样的智能提示(一般IDE做不到),自动补全,格式化代码,实时检查,如果丧失这些功能,代码输入将变得无比困难,效率也很低,也更容易出错,完全不适合新手使用,语言的弱点完全暴露的出来,但是个人觉得将功夫放在提高IDE智能程度,不如强化语言的表现能力,它们最终能达到一样的效果,提高工作效率.
不能YY lzx 的IDE,只能YY lzx语言层面了,让lzx在很垃圾IDE的情况下发挥出最高效率.
以后不会再修改ld论坛上的关于lzx代码示例的帖子了,移到百度贴吧"类之序"吧,用帖子记录lzx的"民科"设计历程.以后思想进一步成熟,我会按照介绍C语言的书的那种格式完整介绍lzx.
欢迎对lzx有兴趣的同学,在百度贴吧给我回复宝贵意见,谢谢!
Reply View the author
electricface
deepin
2012-12-12 05:45
#30
我的空间http://hi.baidu.com/electricface里面有大量关于lzx的内容
Reply View the author
cqnone
deepin
2013-04-13 10:27
#31
我也在了解这一块,以前看过一些不怎么成功的作品,都只是些单词的翻译而已,没什么新意。要成功的话可能要深入智能语义这一块,怎么处理“语素”和“对象”之间的关系,在语言中怎么定义“符号”等等。以前我用符号重载试过,后来发现有些语法要在编程中自定义才可以。要实现在应用编程中自定义语法这就扯得远了,根本不是在开发“一种”语言。但是如果不这么做,只用有限的“元”组成一种能用的语法,那就真用不上“中文编程”这个东西了,只要支持unicode字符的命名就行。
Reply View the author
cqnone
deepin
2013-04-13 10:41
#32
你的这个脚本语言有实现吗?我想等你做好了以后你就会明白了。在这之前你肯定还会有更好的想法。
Reply View the author
electricface
deepin
2013-04-15 22:35
#33
就当它是我个人的文字游戏吧.
为啥是个人的游戏,因为大家都觉得中文编程很没有希望,凡提中文编程必要在意识上打压,有希望那最高成就也不过易语言那样,但我不甘心lzx就易语言那样简单翻译一种国外的编程语言,(后来我发现了一位易语言的开发者也许他们使用c++开发的易语言吧.是自成体系的软件开发平台)我知道开源的编程语言(py,ruby,lua等)或者商业巨头支持的编程语言(C#,.NET,java,js等)都会不断进步,但是易语言它最近基本没什么变化嘛,也许是易语言团队不能通过卖易语言开发环境赚到钱,(小众?盗版破解?),易语言为啥不把它的命根ide开源,如果开源,至少还会得到一些受过易语言恩惠的人(易语言将它们领入编程这个行当)的回报而不断改进,不过这些人确实回报过易语言,开发了各种常用库.
小白来总结一下易语言为啥有今日之成就,凡提及中文编程,必谈易语言.
0.有ide,非常适合中文编程的ide,我知道ide的专业化在一定程度上可以弥补中文代码输入困难的缺陷.中文代码输入大概和英文编程语言比起来更高效,但是看起来不如英文那么显眼,读起来更加繁复.
1.静态语言,可编译,体积小,可做病毒,可做各种盗号,木马,钓鱼.(软件的用途发展到今天主要有两个用途,一满足普通大众的需求,二急切地满足自己的欲望,第一种比如游戏和QQ,第二种比如盗号木马钓鱼网站)
1.1为啥使用易语言的人喜欢做非法的事情
使用易语言主要是因为英文不好,但思维能力正常的人,我猜测他们多半沉迷过电脑游戏,所以年轻时可能耽误了学业,不能就读大学的计算机专业,没有接受正统的教育(先从c学起,先学一大堆理论知识),但是迫于生计,学易语言比较容易挣到钱,毕竟编程是技术活,不是谁都愿意干的.所以长期以易语言编软件营生.也许是看同行做非法的事情来钱快,于是就打算做它一笔...
2.有论坛,有完善的中文教程,范例
3.有分论坛
4.部分实现了商业化,易语言团队自己无法实现商业化,但是它的衍生品,足够实现商业化.
5.推广比习语言有力度,习语言作者自己对它的编程工具很没有信心,故没有持续性地推广下去.教程缺少,汉化力度不够,ide不及易语言的.如果能做个像vs2010 那样的编程环境,中文编程的效率也能提上去.但提上去也没多大用毕竟是小众,大家普遍不看好中文编程.制作类软件,中国本土的普遍不给力,编程领域也是一样的.
我想如果大学里不教c语言了,只教易语言,也不要求学生们都过英语6级,易语言应该会有长足发展吧...难道又要纠结于国家...

易语言,仅仅作为编译型语言,与c,c++,vb等英文原版编程语言比较就是基础语法表意过重,让不懂得人看得很复杂,让习惯英文编程的人看得头疼,lzx吸取了这个教训,经过仔细分析,将大部分语法基本元素在不引起歧义的情况下,尽量简单.这样lzx的代码可视性比较好.能将主要的东西第一时间就从视觉反馈给你.(难道我有编程语言视觉设计师的范?)
Reply View the author
jd808
deepin
2013-04-16 10:05
#34
用中文去套用英文编程就是扯淡
中文语法跟英文是天差地别的,根本不是一个体系
要用中文编程,只能开发出适合中文语法的编程模式才有可能替身效率,就像打字一样,你习惯中文,再让你打英文你很不习惯。升至语法也没法一时转变过来
中文编程一定要符合中文语法,和自然语言描述,只要能实现这点就没问题,如果像易语言那样,只做翻译是没前途的。
这个有点像拼音和五笔打字,不是一个模式。
Reply View the author
blackangeldsf
deepin
2022-10-09 19:00
#35

中文编程语法要简单,尽量避免多余的字符。

还有,一定要简单。要向古代诗人白居易那样,每篇作品出来时,先让没有文化的人读上几遍,如果意思能被理解出来,就成功了。

Reply View the author
2 / 2
To page