Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

guide/ #1

giscus[bot] bot started this conversation in General
Jul 25, 2022 · 3 comments · 7 replies
Discussion options

guide/

披着 Go 和 Rust 语法外衣的 C++ 语言

https://wa-lang.org/guide/index.html

You must be logged in to vote

Replies: 3 comments 7 replies

Comment options

WaGo 没有 go 关键字,不支持goroutine/并发
WaGo 没有 chan 关键字,不支持与之相关的管道操作
WaGo 没有全局GC——但可能会提供自动RC以尽可能简化内存管理
WaGo 没有内置标准库——即使有,规模也极其有限

这不是去掉了go的语法精髓吗,应该就是这上面4点才让go成为高效的工程语言吧。不知道有没有保留go mod 包管理的能力。

You must be logged in to vote
1 reply
Comment options

3dgen Jul 25, 2022 — with giscus
Maintainer

1和2是并发问题。基于内存共享的并发绝对是软件故障重灾区之一(个人认为CSP模型或许应该被贯彻得更彻底);

"是否支持全局GC"和"是否需要关心对象在分配在栈上还是堆上?/是否需要手动管理堆上的对象?"并不必然相关,原文中那句话的更精确的表达是:没有使用和 Go 相同的GC方法。可以放心的是:显然不可能再退回需要手动管理内存的时代,否则的话,直接用C/C++不香么,嘿;

标准库的工作量真的太大了。如果有足够多的参与者,那就是另一回事咯;

总的来说,目前Wa项目尚处于非常早期,今天立flag明天自己打脸是很正常的事情。又不存在KPI指标,折腾才有趣嘛。

Comment options

var isPrime: i32 = 1 这个变量名称后面为什么要有冒号,go语言就没有感觉也没什么问题呀。ts也是,我对这个语法疑惑很久了

You must be logged in to vote
3 replies
Comment options

chai2010 Sep 11, 2022 — with giscus
Maintainer

因为凹语言并不是Go语言啊

Comment options

不是的,我只是想知道设计是为什么,我猜测可能是为了增加可读性或者是对编译器友好?

Comment options

chai2010 Sep 11, 2022 — with giscus
Maintainer

可读性和区分Go语法都有关系,对编译器改动并不大

Comment options

为啥声明变量时,变量后面要加一个冒号,这不是多此一举吗?少输入一次编程都会快一点,而且看着还更舒服一些。

You must be logged in to vote
3 replies
Comment options

我赞同,还有函数定义中的参数和返回值之间的箭头符号,go语言已经实践过了,这个尖头符号没有必要

Comment options

我就想说go设计的是真的好,其实我不觉的go有什么特别之处,反而我觉得这就是它最好的地方,克制的恰到好处,唯一一点就是有了范型,这个东西有也不好没有也不好

Comment options

3dgen Sep 11, 2022 — with giscus
Maintainer

箭头,增加可读性;
冒号,增加可读性之外,跟简短变量声明进一步视觉统一。
不习惯没关系,使用完全兼容go风格的WaGo)即可。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

AltStyle によって変換されたページ (->オリジナル) /