作者:wkGCaSS
链接:
https://www.zhihu.com/question/448169628/answer/1954799027来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
必须是golang。本来应该通过标准库提供的特性,偏要硬塞进语法里:defer、channel屎一样的异常处理规范,每个调用都拖一个err变量声明偏要搞个:=和var两种,既然var适用范围完全包含:=那加这个是为了什么?就图写编译器时候方便点? 没有三目,明明一个简单的true/false判断要拖拖累累的写一大串。本来简简单单一个初始化结构体里面一个字段需要一个true/false判断,就因为没有三目,要分两段写没有强制的New函数,想保证初始化安全就必须要么每个公开函数都检查一遍初始化,要么每个公开结构体都换成接口,再加一个New函数,公开函数的内部还得做一次强转类型系统就像个笑话,连搞个集合类型都要强转,改个接口只能靠编译错误来给实现类型添加函数到处都是复制粘贴的代码,代码生成器居然还成了标配goroutine连线程都不能明确绑定,本来一个eventloop一个锁都不用加,到go这锁满天飞。纯依靠channel写就是个笑话。没go的时候就有阻塞队列,为什么阻塞队列用得少不动脑子想想更无语的是,go吹整天就只会“大道至简”,“我们go不需要这种功能”,21世纪的新语言连个泛型都不支持还有脸出来吹语言特性,整天吊打这吊打那经典踩一捧一,拿hello world跟别的语言完整的产品比二进制大小,怎么不引个istio pilot或者k8s api再比呢?就这还好意思扯打容器镜像,别人用java的打镜像时候,jdk是共用的一层,甚至半年都不改一次的classpath都是固定死的一层,发布时候需要push的就只有自己写的代码,go拖拖赖赖一大坨几百兆也有脸吹打容器镜像?go的缺点就摆在那,优点也摆在那,但凡写过几万行go也不至于不懂。说白了恶心的不是go,是go吹。简直是编程语言界的废虾
--
FROM 49.7.47.*