@whoami9894 习惯了 C++ 的写法觉得其他的都丑,然而所有年轻的语言都觉得 C++ 的写法反人类…😂虽然我一直是 C++ 吹,但是我知道大部分的人都认为 C++ 的语法很反人类,比如说 lambda…
ConradG
2020-06-17 22:50:41 +08:00
别造成 py2 和 py3 级别的分裂就谢天谢地了
prenwang
2020-06-17 23:15:58 +08:00
interface 坑的一逼, 装箱拆箱跟玩魔术一样, 泛型快到碗里来
CoderGeek
2020-06-18 01:30:05 +08:00
好的 等出来我再转 go hhh
Balthild
2020-06-18 01:57:47 +08:00
@tianshilei1992 别偷换概念,这里「习惯了 C++ 的写法」特指 C++ 采用的这种尖括号泛型语法,你把 C++ 换成 Java 、Rust 、TypeScript 也一样成立。而年轻语言觉得「 C++ 的写法反人类」指的是 C++ 的其他特性,显然这些被批判的部分并不一定包括泛型语法。
Trim21
2020-06-18 02:55:22 +08:00
这个 go2go 工具转换出来的代码是什么样子的…
islxyqwe
2020-06-18 08:30:03 +08:00
func Map(type T, M)(f func(T) M, s []T) []M { result := make([]M, len(s)) for k, v := range s { result[k] = f(v) } return result }
@Balthild C++ 反人类的设计显然包括不知所谓的本该避免的文法歧义,使用 <> 多出来的问题就是 C++ 反人类设计的典型杰出代表之一,这不因为其它问题更拉仇恨而改变。你没有一下子搞清楚这点,而强调“并不一定”,看来是不够熟悉 C++ 。(事实是,不想硬抄 instantiation phase 而老实写形式语法的根本没法在实用上绕过这坨○。) 虽然其它许多用 <> 的语言并没有那么夸张的歧义问题,但是用 <> 的必要性仍然相当莫名其妙,有不尊重语用来源之嫌。 选择照抄 C++ 这样设计的语言设计者和语言的用户,大概也不一定了解 C++ 在这方面的历史包袱。而选择不照抄 C++ 却同样使用这种糟粕设计的语言设计者,大概至少一样无可救药(至少没几个语言有当初 C++ 对 basic source character set 那么纠结的需求,也不是事后才扩展出 template 的)。