ansurfen 最近的时间轴更新
ansurfen

ansurfen

尽你所能,敬你所不能
🏢  编程爱好者 / 全栈开发
V2EX 第 641414 号会员,加入于 2023-08-01 21:56:56 +08:00
ansurfen 最近回复了
@xiaohanyu 目前的目标是 Hulo 能够重写如 nvm(基于 bash), scoop(基于 powershell) 这样的项目,以一种比较现代化语言的方式。
@w568w okok 我有参考过他们,这个比较会在 Hulo 开发完成度比较高的时候在贴出。这几个项目基本上是把命令当函数使唤,本质上和通用编程语言无异,amber 的 unsafe 没什么用,那样设计不能对命令进行代码提示和类型检测,因此 Hulo 的解决方案是直接将命令当成基础数据类型,对 cmd 进行操作,cmd 就是 class 就是 interface ,这点以后会实现。现在的翻译不是最终定稿,我知道需要对变量名进行混淆,混淆器在实现,但是他涉及到 import "time" as t, import { date as d } from "time",这样情况,我始终没法设计出对 import 的最佳实践,只能边发语言边优化,所以现在基本上只能看个大概。
@Damn 哈哈哈,这个我之前看过。虽然要被废了,但是不可否认 Windows10 还有很大市场份额的。不过先发布 VBS 的支持是因为他的语法最接近传统的编程语言,不会像其他批处理脚本一样有各种抽象的概念(比如说 &>, $(), [[]] 等符号满天飞),要设计的地方很多,这周会发布 Hulo 到 Bash 翻译的版本,然后下下周在支持 Batch 。
@bigtear 感谢你的建议,不过目前的计划会先把各平台的批处理脚本都对接完成,然后实现最核心的功能,命令类型,并且实现对命令的代码提示和接收参数的类型检测。虽然自带 Ps ,但是并不冲突,未来可以编写一个 Hulo 代码,翻译成 Powershell 和 Bash 脚本。让批处理脚本一次编写多端运行。不过这还需要一个命令转换系统,比如说 Write-Host 和 echo 的跨平台抽象,这块我后面会实现,已经设计出了语法糖。
@geelaw 哦哦 感谢解释。可能我有点标题党吧,因为一开始的目标也不是只针对 Windows , 在我的 github 仓库里面,写着是要翻译成 Bash ,Batch ,Powershell 的。然后就是命令了,现在哪怕是最现代化的批处理脚本 Powershell 也很难对市面上的命令进行有效的代码提示,甚至 ps 自己的静态分析就很鸡肋。所以 Hulo 就设计出来了,一款以 cmd 类型为基础数据类型的编程语言,不过这块还没实现,因为要实现的难点在于 命令很复杂,需要一套有效的声明系统,以及不同平台的命令需要实现跨平台封装 相比传统编程语言更加自然,为此我设计了两套还存在于 PPT 中的系统。
@dwu8555 虽然两者语法看起来类似,但是只能翻译成 VBS ,不支持 VB 。VBS 能够直接跑在操作系统不需要安装任何环境,操作系统自带。
@TrackBack 因为翻译成批处理脚本 最重要的就是命令类型比如说 git clone xxx 这种,现有的语言根本不支持这样的语法。所以一个新的语言就诞生了,命令就是最基础的数据类型。不过这块刚构思完,还没来得及实现和介绍
@xiangyuecn VBScript 原生可以跑在 windows 上面,不需要运行时,也可以用来编写批处理脚本。然后后面我会发布 Hulo 到 Bash 、Powershell 、Batch 的转译支持,目前在重构语法树 可能下周在增加一个新的语言。最主要的就是这些批处理脚本能直接跑不需要运行时,我对 Hulo 的定位就是写批处理脚本相关的,然后现在还在早期 相关的工具链还没开发 可以期待一下。
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1217 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 16ms · UTC 23:55 · PVG 07:55 · LAX 16:55 · JFK 19:55
Developed with CodeLauncher
♥ Do have faith in what you're doing.