递归火山软件开发平台

标题: 今天用易语言把火山的功能给搬过来,发现易语言太落后了 [打印本页]

作者: shuimiao    时间: 2022-3-23 15:01
标题: 今天用易语言把火山的功能给搬过来,发现易语言太落后了
本帖最后由 shuimiao 于 2022-3-23 16:00 编辑

使用火山一段时间了,把易语言有的功能都搬过来了,自然也开发了易语言所没有的功能。现在遇到易语言写的老软件需要更新某些功能,而火山已经写好,于是就又照着火山代码搬到易语言。
这时就会发现,易语言实在是太落后了。比如火山的类成员变量是可以被公开访问的,而易语言不可以,只能通过写n多方法来访问易语言类中的私有成员变量,而不像火山那样直接类.变量名来访问。火山还可以直接设置变量的默认值,无需通过方法再行赋值。
还有文本和字节集的相加,易语言是把之前的数据+上新数据再赋值给原来的数据(不要说什么快速文本和快速字节集那个要带库),这就造成了大量内存操作影响效率,而火山是直接在之前的数据后面插入新数据,快的不能再快了。因为火山用加入文本()添加字节集()


等等,诸如此类,很多情况,都表明了易语言实在落后。。所以还在留恋易语言的人,就像守着茅草屋,不知外面的高楼大厦


我都研究了快1年了,现在已经全面取代易语言来开发新软件,Unicode是最大优点,运行速度也很棒,不容易误报。个别要求大内存运行的软件还能用64位,可以用组件布局器来打包各种界面来快速重用,等等。远不是易语言能比的,很多人至今还留恋易语言,只能是虚度光阴。
很多人觉得火山复杂,其实有易语言基础的人稍微努力点很容易就适应了。正是火山的复杂,决定了他的强大。很多东西在易语言不好实现,火山轻松达成。很多功能现有类库没有,可以网上找c++代码,这是易语言无法比拟的。

当然,火山最大的问题是调试和编译速度,严重加大了工作时间。还有就是新出平台,很多IDE细节优化不到位。而且为了照顾所谓新手,还阉割了一些功能导致老手们怨声载道。

作者: shuimiao    时间: 2022-3-23 15:37
不过现在火山复制多行代码想粘贴到易语言不行,只能一行行复制。。有点尴尬。不知吴总限制复制代码到外部是作何考虑?
作者: urenai    时间: 2022-3-23 15:59
你说的不算全对。
变量=“ABC”
变量=变量+“DEF”
这是易语言的表达方式。

火山则是添加文本。

其内部都是调用重分配内存 保留旧内容。即 申请定长新内存,将旧内容复制到心内存,再将新内容复制到尾部。

我这样说,你能明白吗?
作者: urenai    时间: 2022-3-23 15:59
?????回复好审核???
作者: shuimiao    时间: 2022-3-23 16:05
urenai 发表于 2022-3-23 15:59
?????回复好审核???

论坛很多敏感词,一不小心就入坑了。
作者: shuimiao    时间: 2022-3-23 16:41
urenai 发表于 2022-3-23 15:59
你说的不算全对。
变量=“ABC”
变量=变量+“DEF”

我知道你说的,但是不知道火山是不是也是这种复制操作?我原先以为是直接在原有内容后面拓展新内存,不用复制来复制去的。因为我之前用易语言就是这种复制来复制去的,大量文本相加的话效率极慢,而用快速文本对象就很快。所以我以为火山的加入文本也是类似于易语言快速文本对象的操作模式
作者: 福寿    时间: 2022-3-23 18:24
要求编译速度快的话,就把功能先编译成dll,写代码的时候调用dll就行了,易语言编译快就是dll提前编译好的,易语言的支持库都是dll来的
作者: shuimiao    时间: 2022-3-23 18:45
福寿 发表于 2022-3-23 18:24
要求编译速度快的话,就把功能先编译成dll,写代码的时候调用dll就行了,易语言编译快就是dll提前编译好的 ...

火山里面的类如果编译成了DLL,还能像在源码状态那样直接引用这个类吗,不用声明的那种。dll貌似都需要声明或嵌入式调用吧。
作者: hs11658894    时间: 2022-3-23 19:46
火山的F1帮助太狗了,F1真不如易语言
作者: urenai    时间: 2022-3-23 21:16
shuimiao 发表于 2022-3-23 16:41
我知道你说的,但是不知道火山是不是也是这种复制操作?我原先以为是直接在原有内容后面拓展新内存,不用 ...

都一样的。都是要调整内存;
如果是直接插入旧指针,会发生越界操作,意思是操作野指针会实现:内存不能为写操作0X0000
作者: shuimiao    时间: 2022-3-23 21:41
hs11658894 发表于 2022-3-23 19:46
火山的F1帮助太狗了,F1真不如易语言

对,火山在很多ide细节方面做的不够。好在目前也在一点点推进,像最近的更新就支持变量名修改同步,方便了不少。
不过火山在ide上也有优于易语言的地方,比如火山输入完成命令后,不用括号回车,鼠标移动到命令上面就有浮动彩色帮助,加括号和逗号后有对每个参数的帮助,这点是易语言没有的。只是这种浮动的很快就不见了,需要加上一个功能,那就是鼠标点击到每个参数位置时按下F1键重新**出浮动彩色帮助才对。
火山现在也可以鼠标点击到某个命令上,在下面的提示栏有显示该命令的黑白帮助。

作者: 创世魂    时间: 2022-3-23 22:28
hs11658894 发表于 2022-3-23 19:46
火山的F1帮助太狗了,F1真不如易语言

要定位准。。有毛病,我反馈一下,修修这个问题。尽量最大兼容打开帮助。
作者: 创世魂    时间: 2022-3-23 22:31
shuimiao 发表于 2022-3-23 16:41
我知道你说的,但是不知道火山是不是也是这种复制操作?我原先以为是直接在原有内容后面拓展新内存,不用 ...

火山的加入文本其实和快速文本原理差不多的,都是欲申请内存,然后塞进去。所以速度很快。

易语言那种+++  每次加都会申请内存,导致效率会降低。

火山里面如果你+++一样的,效率也不如  加入文本 高
作者: 承易    时间: 2022-3-24 09:43
易语言习惯了,慢慢在熟悉火山,其实啥也是一样 只要时间长 自然熟悉 火山肯定是强大的不用说的,早晚要用火山的,易不会在重大更新了,而火山会不断的强大下去的,随着 越来越丰富的 库啊 模块阿 类啊 会实现更多功能 新手不用考虑咋回事,直接引用 一句代码 调用就出结果了,对于新手 这才是根本
作者: 福寿    时间: 2022-3-25 13:58
shuimiao 发表于 2022-3-23 18:45
火山里面的类如果编译成了DLL,还能像在源码状态那样直接引用这个类吗,不用声明的那种。dll貌似都需要声 ...

可以用表格调用,也可以用嵌入式代码调用,编译成lib可以引用里面的类,但是需要嵌入式代码,dll不行,功能写在dll,exe就是一个调用功能而已,这样你编译的速度就会快很多
作者: 乐易论坛    时间: 2022-3-30 12:38
宣传火山的好,我可以理解
但是虚度光阴这个词言过其实
作者: locoman    时间: 2022-3-30 14:44
本帖最后由 locoman 于 2022-3-30 14:45 编辑
shuimiao 发表于 2022-3-23 21:41
对,火山在很多ide细节方面做的不够。好在目前也在一点点推进,像最近的更新就支持变量名修改同步,方便 ...

确实,很多时候需要在浮动帮助出现的时候,好好仔细看看和理解,但很快就闪跑了,很不友好,特别是面对新手和需要对命令多方测试时。
十分赞成增加这个功能【 按下F1重现浮动帮助直到移开鼠标 】




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4