V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  lesismal  ›  全部回复第 16 页 / 共 82 页
回复总数  1624
1 ... 12  13  14  15  16  17  18  19  20  21 ... 82  
@InkStone #33 我说的都是内容的实质、不乱哪个帖子、Go 的优点都在那,所以其实是哪个帖子根本不重要
@redbule 是的,所有天生 OOP 以 Class 为主要模式的,都有这个毛病,十多年前没有这么高速发展的 IT 互联网的时代,还好,时代变了之后,业务种类和规模越来越大了,需求迭代越来越快了,OOP 尾大不掉、顶层设计难度和开发效率拉垮。所以很多独角兽在没有历史包袱的领域大量用 Go 从头造甚至抛弃旧的技术栈用 Go 大量重构,国内一些明星企业做了太多这种示范了,但就是有很多人看不懂、无脑喷 Go
> 我想主楼已经说得很清楚了,选用 Go 不是因为 Go 多好,而是因为 Go 最像 Javascript

@InkStone #22

得出这样的结论,我大概也懂了为啥你们认为 Go 平庸——Go 的优点一点都看不到或者不承认

只能建议看下隔壁帖子了:
/t/1117764

你们认为 Go 平庸就认为吧,#19 里我已经说过了
看到过好多次说 C#比 Go 好的了,希望这个事情让你门清醒。。。

BTW ,这事情里的函数式不是通常说的函数式编程
函数式太多花活、隐藏机制、性能浪费,不是什么好玩意
OO 太多累赘、啥都得 class 、顶层设计难以预计未来、难以高效应对快速变化,不如面向过程更加通用

Go 很务实,有的人认为他平庸,简洁、甚至 N 倍性能提升都进不了这些认为 Go 平庸的人的“法眼”,反过来还要喷“大道至简”,我无法对这些人的智力水平作出评价,因为我不想贬低别人但也更不想撒谎。
2025 年 3 月 12 日
回复了 mainjzb 创建的主题 Go 编程语言 微软用 Go 重写 TypeScript
> 内容用 AI 回复 100% 封号,且用且珍惜。

@w568w y1s1, 我个人觉得还是 #12 总结的比较好。。。
2025 年 3 月 11 日
回复了 littleG 创建的主题 生活 家里要给介绍的相亲对象是个富家女?
@voidmnwzp 汗毛有点重,所以是“看上去胡子”。。。
2025 年 3 月 11 日
回复了 littleG 创建的主题 生活 家里要给介绍的相亲对象是个富家女?
老夫唯一一次相亲经历,将近二十年前,妹子深圳的,家里条件好得很,名校金融专业,研究生学历,银行工作,风趣幽默思想 Open ,谈吐大方得体,也不嫌弃我农村穷小子,大家非常聊得来,可惜我少不经事、不懂珍惜,只因为妹子看上去胡子比我多就轻易放弃了
2025 年 3 月 7 日
回复了 webs 创建的主题 生活 去医院做个检查被开了五百多块钱的药
中医是伪科学,我赞同,因为遇到过几个庸医真是垃圾、喝他们开的药治不了病反倒更难受。
但是中医经过千百年实验统计学得出的那些常见病或者特别对症的病,总结出来并且经过大量病人案例验证的比较成熟靠谱的方子和治疗方法还是挺不错的,当然前提还是:遇到一个靠谱的医生。西医有相对严谨的方法论,中医全靠医生自己发挥,太难筛选靠谱的中医了
2025 年 3 月 7 日
回复了 webs 创建的主题 生活 去医院做个检查被开了五百多块钱的药
@liu731 @liu731 #120 ,前提是遇到靠谱的中医,中医大部分水平不行、我目测 95+%的中医开的方子都不行,少数的看口碑评论靠谱的确实牛逼,症状不严重的呼吸道、心脏我都看过一个药店坐诊的老中医,其中一个是是药到病除而且很便宜、几十块一百多熬的中药一周的量,基本上一两天就见效明显,四五天就好了,可惜那个老先生年纪大了,八九年前就不出诊了。干眼症那个是另一个在大医院里的主任博导,虽然也给我治好了但是总是带着一股忽悠钱的感觉,因为他放血和刮痧的治疗费贵,所以眼睛差不多好了之后就没再去了、这也是大概八年前的事情了,前面那个老中医不出诊之后才去找的这个。
2025 年 3 月 7 日
回复了 webs 创建的主题 生活 去医院做个检查被开了五百多块钱的药
> 干眼症也给我开中药,纯纯无语了

@liu731 干眼症,我个人经历最严重的时候不去看医生不行了实在太难受。
西医:直接说没法治只能滴人工泪液的眼药水缓解、让多休息但是咱这工作性质眼睛离不开屏幕、滴了几个月还是很难受而且离不开人工泪液、每次滴完也只是湿润缓解一会、过会又不行了
中医:说能治,喝中药+放血+刮痧,几天后确实好多了眼睛没那么干痒了、喝中药期间是没有用人工泪液和其他眼药水的、中药只喝了一周左右,放血+刮痧搞了三四次,然后就恢复到干眼症之前的状态了,不需要眼药水,但是我平时常备着人工泪液、平时不滴、只是偶尔确实电子产品使用过度了就滴下。

BTW ,干眼症除了人工泪液不要使用其他眼药水,其他那些越用越干。
2025 年 3 月 3 日
回复了 h1apaazz 创建的主题 Go 编程语言 golang 微服务框架选择困惑
@flyqie #32 没了解过 connect-go 。
磁带或者其他冷数据,适合归档类、资源类的数据备份。

实时业务数据、而且是别人家的业务、很多二进制格式的数据你都不清楚是啥的,咋备份啊?直接磁盘拷贝啊?每一秒可能都在变化,不现实的,而且即使定期拷贝磁盘备份,也解决不类中间时段的数据丢失问题。还得是业务方自己把鸡蛋放在多个篮子好些
2025 年 3 月 3 日
回复了 h1apaazz 创建的主题 Go 编程语言 golang 微服务框架选择困惑
大搞微服务框架的基本都是脚手架堆屎山。如果非要用微服务框架、让我打分,哪家封装的少简单易用哪家分数高,go-zero 这种大量搞营销、而不是真正提高代码质量的还是算了,随便扫下目录,比如:
core/codec 里放了 aes dh gzip hmac rsa ,加密、压缩、哈希算法放一块叫 codec ,你要是用这些组合起来实现个自己的编解码叫 codec 包也行,关键都是这些加密压缩哈希本身的简单封装、彼此之间也没什么关联,真的佩服
core/syncx 里把一堆标准库的强行再封装一些,比如 atomic cond_t ,标准库很多地方已经比较简洁了,一大堆这种强行二次封装,真美什么必要,我怀疑好未来是按代码行数评定绩效的吧,这么喜欢把简洁的 golang 搞成屎吗?
几年前大量的营销行为,净吸收小白 star 了,真是仗着国家人口红利造就高 star 的巨大屎山,非常讨厌这些搞营销的污染 golang 环境,之前没骂过,今天蚌埠住了

kratos 我没看,也没看到他们团队有 go-zero 那种大量营销行为,不做评价

很多团队,根本不需要复杂的微服务框架,你门做这种复杂框架选型的时候,然后又要去学习这些复杂的垃圾框架的基础知识的时候,别人功能都写好了上线了而且更加轻便、更加高性能、更加易扩展

go 的基础框架,web 框架一大把 gin echo chi fiber 之类的,rpc 你要喜欢就 grpc ,要是想更好体验就用我的 arpc 这种,log 框架也是很多随便选个 star 多的都足够好用,其他的什么服务注册发现都 etcd 自己需要就提供了稍微按照自己喜好封装下都可以,业务量没那么大服务没规模都不需要注册发现这些,甚至 web 服务里做好限流熔断之类的 limiter 连 rpc 都不需要

每次看见咨询微服务框架的尤其是推荐垃圾框架的,哎!
愁!
2025 年 2 月 28 日
回复了 Twelveeee 创建的主题 Go 编程语言 各位大佬们怎么进行 golang 项目的多版本控制?
我个人:

1. 本地 go 用最新
2. 很少用新版新特性
3. 如果需要测试,命令行走起,https://go.dev/doc/manage-install
2025 年 2 月 25 日
回复了 yuanyao 创建的主题 Go 编程语言 最基础的 go 并发编程题,难倒了 90%的候选人
> 2. 有的 channel 不知道由生产者关闭,直接在主程序生产者还未发送结束就关闭结果 panic ;

这种面试题用一个 chan 可以,但但就这个面试题的功能的话似乎就没必要俩协程了,不需要用俩协程也就不需要用 chan 了。
所以这种题如果出给我、只是纸面作答、我是不知道怎么答只能空着,因为需求不合理。

很多基础场景生产者不是唯一的,可能会是并发多协程会生产,所以通常是应该把用于发送的和用于关闭的分开两个 chan 、用于 close 的 chan 再配个 atomic compareandswap ,避免用单个 chan 、某个地方关闭后、其他协程还在给 chan 发数据直接就 panic 了,一些粗暴的实现直接 recover 这种 panic 虽然也问题不大但毕竟它不是个好的处理方式、比如还得纠结 panic recover 是否再给调用者一个 ErrClosed 返回,还是两个 chan 好些。

另外,如果不需要清理 chan 内遗留的数,chan 本身用完之后是不需要 close 的。
2025 年 2 月 24 日
回复了 B1ankCat 创建的主题 Linux 关于最近 R4L DMA 事件的 Linus 回应
@duty 谬赞了,谢谢🙏

@TanKuku Carbon 这个我不了解
2025 年 2 月 24 日
回复了 B1ankCat 创建的主题 Linux 关于最近 R4L DMA 事件的 Linus 回应
@iceheart 也可以多看下内存不安全的 bug 漏洞,比如谷歌的:
https://cloud.tencent.com/developer/article/2396076

摘几句:
2022 年标志着内存安全漏洞的 50 周年。自那时以来,内存安全风险变得更加明显。与其他公司一样,谷歌的内部漏洞数据和研究显示,内存安全漏洞广泛存在,并且是内存不安全代码库中漏洞的主要原因之一。这些漏洞危及最终用户、我们的行业和更广泛的社会。我们很高兴看到政府也对这个问题予以重视,比如美国国家网络主任办公室上周[3]发表了一篇关于这个主题的论文。
——注意:内存安全漏洞广泛存在,并且是内存不安全代码库中漏洞的主要原因之一。

谷歌看不到 C++ 进化为一种具有严格内存安全保证(包括时间安全)的语言的现实路径。
——注意:谷歌认为 C++在内存安全这方面现在不行、而且未来也不行,而且不只是谷歌认为 C++不行,就没听说哪家认为 C++现在或者未来能行的。C 在这点上并不比 C++强,甚至更弱。

将所有现有的 C++ 代码大规模重写为一种不同的、内存安全的语言似乎非常困难,而且很可能仍然不切实际。
谷歌认为对于新代码和特别是风险组件,补充过渡到内存安全语言是重要的。
——注意:补充过渡到内存安全语言是重要的。对于内核,C 补充过渡也是一个道理。

报告中也可以看到,谷歌有大规模的 Java 和 Go 安全代码库,而且也在加大 Rust 的投入。

如果意识不到这些,可能是我们的视野局限于自己的小而美的工作范畴、思考的高度达不到那个层次所以看不到。内核不是我的工作领域我了解不多,Rust 也不是我的工作内容我了解也不多,但即使我喜欢 C 和 Go ,也不会那么自信,自信到把自己的技术观点放到与 linus 和谷歌等最顶尖最前沿的巨擘的对立面。
2025 年 2 月 24 日
回复了 B1ankCat 创建的主题 Linux 关于最近 R4L DMA 事件的 Linus 回应
> 即使一个语言内部实现的内存引用计数,我也不认为这种东西该存在内核里边。

@iceheart 我不觉得引用计数是个问题,搜了下,引用计数在内核好像是挺常见的:
https://gist.github.com/carloscn/3f0179ecfa599969556e86eb80555266

c++的问题可比引用计数恶心得多,智能指针涉及引用计数的部分反倒是相对简单的,更大的容易产生隐含问题的在于容器和各种构造函数的结合,复制构造赋值构造拷贝构造,c++11 之后还有各种复杂的语法语义、左值右值还有 std::move 之类的,一不小心一个 size 比较大的容器触发了个什么复杂的拷贝就可能性能瓶颈或者深浅拷贝的问题,即使老鸟、面对这些复杂语法语义也可能拿不准、需要认真再认真才能确认。

rust 虽然也不简单,但比 c++好很多。

> 所以我的观点是有 c 就够了,保持简洁,不要增加阅读者的心智负担

我也喜欢 c ,但我前面楼也说过,c 越来越后继无人了,而且不安全的问题也没法解决。
至于简洁,c 简洁?小段代码、小项目代码,c 确实可以很简洁,但就内核来说,c 的一层层宏已经让人头疼了,不是难度大,而是记不住,想入门内核,先要硬拼一段时间记忆力才行。而这一点上,可阅读和可维护性上,rust 也是优于 c 的。

前面说的语言复杂性导致的 bug 或者副作用,c++可能造成更多、rust 也不能保证 100%避免,但 c++不只是复杂本身,更重要的是复杂背后可能造成的副作用本身。rust 也有背后的机制、但远未如 c++这般容易带来副作用,不只是背后机制的副作用,而且写代码的人对语言本身的理解就是很大门槛、由于过于复杂的 c++而导致更大概率搞出带有副作用的代码。

而且请你注意,别人引入 rust 的最大侧重点好像是内存安全,rust 在复杂性问题上远远优于 c++、甚至在这种超过临界阈值的大工程里 rust 简洁性也优于 c 、在内存安全上完胜 c 和 c++。

所以复杂性问题,对于 rust 可以忽略,因为复杂性不大而且并没有因为复杂而带来更多副作用、而是用这点复杂去更大程度上解决内存安全等问题,你说的点是不太成立的
1 ... 12  13  14  15  16  17  18  19  20  21 ... 82  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   977 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 32ms · UTC 20:51 · PVG 04:51 · LAX 12:51 · JFK 15:51
♥ Do have faith in what you're doing.