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

实践已有的语言:体验用易语言、易语言.飞扬 #52

Closed
farteryhr opened this issue Dec 19, 2017 · 13 comments
Closed

实践已有的语言:体验用易语言、易语言.飞扬 #52

farteryhr opened this issue Dec 19, 2017 · 13 comments
Labels

Comments

@farteryhr
Copy link

farteryhr commented Dec 19, 2017

实践是检验真理的唯一标准(

新开一个语言需要时间,那么不如试着从用户角度出发,在伟大先驱:易语言、易语言.飞扬中,寻找正确的使用姿势?

建议踊跃使用易语言编程,甚至用易语言来写新语言的实现。没有对现有情况的亲身体会,如何创造更好的规则?
欢迎回帖发表体验报告。

立贴纪念今日首次下载易语言(
(或者此题叫如何评价易语言更直白吧xsk)

@nobodxbodon
Copy link
Member

@farteryhr 之前有成员分享过易语言多年使用的心得, 比如 #33 (comment), #11 (comment) 个人觉得非常有价值. 亲身体验也许会更直接, 但也许一时的体验不会触及到那么多方面. 另外, 知乎上也有不少比较客观评价的帖子, 印象里与上面两位的总结基本一致.
至于用易语言编写新语言, 这里已有实践, dotnet/csharplang#993 (comment). 个人感觉, 由于易语言的团队开发功能限制, 恐怕作为工具来实现新语言/开发环境会有所局限.
当然, 欢迎各种体验分享.

@nobodxbodon
Copy link
Member

@farteryhr 请问有何进展? 在下的主要开发用机不是windows, 所以不大方便实践. 之前只在#11 (comment) 学习过一些易的官方文档.

@farteryhr
Copy link
Author

farteryhr commented Jan 3, 2018

@nobodxbodon 由于喜好俄罗斯方块,前几天就在魔改吴涛先生的示例作品俄罗斯方块。

主要感受就是,论代码起名的艺术与程序猿语文水平(

拼音首字母自动补全的功能、自动格式化(完全全自动补全)的功能,以及改名自动所有引用全改,都是很好的核心体验。
表格式声明,在代码编辑器里也很好体现了elastic tab的精神(我两三年前才独立产生此想法在vb里面自己实现过一个文本框),是很超前的。【虽然不一定是无条件适用】

不爽的一点,跟lua一样,都是1开始计数。(vb的数组都是0啊(
从俄罗斯方块这个需要二维数组下标换算以及坐标匹配的典型用例就可以看到,各种疯狂+1-1极为坑爹。

@nobodxbodon
Copy link
Member

@farteryhr 确实中文编程可以很考验文科素养 :)
输入法和IDE的集成(自动补全等)看来是必需的. 改名自动全改引用应该是主流IDE都具备的. 能解释一下"自动格式化"吗? 是类似其他IDE中"Format"一段代码的功能吗? 那"完全全自动补全"又是...?

表格式声明是类似下面的声明方式?

类型 变量名
整数 长度 4
整数 宽度 3

elastic tab以前没注意过, 感觉挺用户友好的. 看起来它和表格式声明都是让代码可读性增强的辅助功能.

数组下标从0开始虽然是多数主流语言的传统, 不过对完全的新手来说也许从1开始还是更自然.

@farteryhr
Copy link
Author

farteryhr commented Jan 6, 2018

@nobodxbodon 自动格式化是类似于VB6的,一行编辑完成,光标离开本行时:

  • 自动加token之间的应有空格之类的,同时还扩展到了自动标准化全角符号(如<= >=转≤≥,加减乘除也都转了,而逗号括号用的是半角加空格),完全不存在想象中要疯狂切换输入法,不然代码用符号会一团糟的问题。
  • 这一过程中同时还把所有汉语拼音缩写自动补全了(就是打字的时候列出来了然而你没有去点选的情况),所以强行取了个名真·全自动(
  • 补充:甚至还做了一些表达式恒等变形,比如根据运算符优先级得到的不必要的括号去除

是的,如果说操作的的大部分是一维线性表、字典,或者类似于lua的原生pairs让你基本不用去用key的话,1打头没什么问题。但是就俄罗斯方块这一个程序,示例代码里的其坐标计算和下标的对应就完全爆炸。

@nobodxbodon
Copy link
Member

lol 我还以为用≤,≥和≠是我拍脑袋出来的(通用型的中文编程语言探讨之一: 高考), 易早就这么做了啊, 也许是我之前看到过易的文档却忘了这回事.
把拼音缩写自动补全这个有些狠了, 它咋识别是英文还是拼音啊?

@farteryhr
Copy link
Author

@nobodxbodon 应该还是错误率极低的……
如果你坚持英文,那么一个拼音缩写撞上的概率是很小的,并且如果你输对了,应该是优先匹配到对的那个英文,假设有个变量叫X还有个叫“小”【话说大小写似乎也是有区别的,大写是不会去匹配拼音的
如果你坚持的中文,更几乎不会有同样缩写的一个小写英文变量名在某个地方撞上吧。

@htwx
Copy link

htwx commented Jan 6, 2018

temp223

这个 输入法插件我会和 cts 源码合并到一起
这个输入法搞了快2个月 ,技术和实例还是不够啊
这个是以插件的方式开发的 没有修改 vscode 的源码
也没有 使用 除了 node 模块外的其他模块

@nobodxbodon
Copy link
Member

@farteryhr 好像确实几率不大. 这个设计颇有匠心啊. 直接解决了拼音(缩写)可读性差的问题.

@farteryhr
Copy link
Author

@nobodxbodon 本来是在输入缩写的时候就会在自动补全列出对应的可以访问到的标识符的。等于其实是,就算你没选,你光标离开后,都会帮你选。

@htwx 这个emmm真的内置词库其实我觉得还是,不太有用,或者需要的结合性太强了(就比如必须要空格大概也是插件系统自动给你分了token再给你这一段的待补全文本),这就永远离不开空格了……

更需要的还是把标识符的首字拼音提出来匹配(我还没看过vscode的API,这个获取可用标识符列表应该是自动补全的核心吧,库应该有提供吧),至于首次输入我觉得……还是交给拼音输入法吧……

@farteryhr
Copy link
Author

https://www.zhihu.com/pin/947991817623416832
挑战:在易语言中实现一点高级数据结构,比如红黑树之类的(滑稽)

@4b5ent1
Copy link
Member

4b5ent1 commented Dec 8, 2018

超过半年没有回复,暂时先存档吧

@4b5ent1 4b5ent1 closed this as completed Dec 8, 2018
@nobodxbodon nobodxbodon mentioned this issue Jan 28, 2019
61 tasks
@nobodxbodon
Copy link
Member

qq群@f建议,可借鉴火山开发平台

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

No branches or pull requests

4 participants