介绍 Go/ Java /C/C++/ Swift 等编程语言是如何实现范型的

2022-03-27 10:15:53 +08:00
 bmpidev2019

写了篇介绍 Go/Java/C/C++/Swift 等编程语言是如何实现范型的。

文章地址:编程语言是如何实现范型的 · 构建我的被动收入

7889 次点击
所在节点    分享创造
31 条回复
xLuoBo
2022-03-27 10:19:30 +08:00
php 才是世界上最好的语言
sutra
2022-03-27 10:33:00 +08:00
「动态与静态的区别在于类型检查发生的阶段,动态是在编译阶段,静态是在运行时。」这句话怎么理解?
foobear
2022-03-27 10:41:03 +08:00
@sutra 反了吧
zwy100e72
2022-03-27 11:13:44 +08:00
我认为 Generic Programming 应该翻译为 “泛型”,而不是“范型”。Generic programming 是对具有相同性质的数据做通用的处理,其面向的数据类型是“宽泛”的,因此称为“泛型”是更合适的。
sutra
2022-03-27 11:33:16 +08:00
另外「范型」(而不是「泛型」),这个词是不是写错了?
bmpidev2019
2022-03-27 11:35:31 +08:00
@sutra
@zwy100e72 感谢指证,这个的确写懵逼了,连续整了两天没意识到这个词😂
bmpidev2019
2022-03-27 11:36:09 +08:00
@sutra 是的,感谢指正,我应该多检查两遍的
zwy100e72
2022-03-27 11:44:06 +08:00
@bmpidev2019 没关系,交流也是提升的一部分,您已经比我做的更好了,因为你写了这样的总结

看了你的总结,我也对泛型这个玩法有了更清晰的认识,这要感谢您

如果您希望在公开宣传之前减少瑕疵的话,可以先找身边的同行帮忙审校一下(英语中应该对应是 proof-reading )
bmpidev2019
2022-03-27 11:55:21 +08:00
@zwy100e72 有点着急了,因为要赶着出去玩,想着先发出去😄下次得注意点了,谢谢!
secondwtq
2022-03-28 01:27:40 +08:00
“透过 Rust 探索系统的本原:泛型” 这个链接错了吧
bmpidev2019
2022-03-28 07:56:44 +08:00
@secondwtq 是的,你们看的真仔细😂,感谢!
shawndev
2022-03-28 10:40:41 +08:00
@secondwtq @bmpidev2019 这里本原也是错别字吧?正本清源的“本源”?
bmpidev2019
2022-03-28 11:08:51 +08:00
@shawndev 原文就是这个标题,但是感觉本原好像也有这个意思?
zdpdpdp
2022-03-28 14:51:50 +08:00
网站挂了
bmpidev2019
2022-03-28 16:08:57 +08:00
@zdpdpdp 被墙了
avv
2022-03-28 16:10:54 +08:00
@zdpdpdp 刚看过,可以进去!
iceheart
2022-03-28 19:49:55 +08:00
C++是弱类型检查语言,哪里弱了?
lxml
2022-03-28 20:07:19 +08:00
@iceheart #17 这里的弱类型指的是两个变量 "1" + 2 能够直接进行相加(语言内部有隐式转换) ,我猜你认为的弱类型应该叫做动态类型。
bmpidev2019
2022-03-28 20:46:23 +08:00
@iceheart 主要是指针可以随意转换,失去了类型安全的保障,编译器也无法知道指针里的类型是啥
danc
2022-03-28 22:30:05 +08:00
弱类型,感觉不能这么分。比如 Rust ,unsafe 下指针也可以随意转换,按照 C++的说法,是不是也应该放到弱类型

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/843140

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX