惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Hacker News - Newest:
Hacker News - Newest: "LLM"
S
SegmentFault 最新的问题
The Cloudflare Blog
T
The Exploit Database - CXSecurity.com
C
CXSECURITY Database RSS Feed - CXSecurity.com
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
P
Privacy & Cybersecurity Law Blog
有赞技术团队
有赞技术团队
www.infosecurity-magazine.com
www.infosecurity-magazine.com
雷峰网
雷峰网
Google DeepMind News
Google DeepMind News
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
T
Threatpost
The Hacker News
The Hacker News
人人都是产品经理
人人都是产品经理
阮一峰的网络日志
阮一峰的网络日志
大猫的无限游戏
大猫的无限游戏
L
Lohrmann on Cybersecurity
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
W
WeLiveSecurity
T
Threat Research - Cisco Blogs
博客园 - 叶小钗
量子位
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Simon Willison's Weblog
Simon Willison's Weblog
I
Intezer
S
Secure Thoughts
V
V2EX
Apple Machine Learning Research
Apple Machine Learning Research
小众软件
小众软件
酷 壳 – CoolShell
酷 壳 – CoolShell
Microsoft Azure Blog
Microsoft Azure Blog
博客园_首页
Help Net Security
Help Net Security
爱范儿
爱范儿
C
Cybersecurity and Infrastructure Security Agency CISA
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
腾讯CDC
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
C
Check Point Blog
WordPress大学
WordPress大学
Last Week in AI
Last Week in AI
T
Tor Project blog
NISL@THU
NISL@THU
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
I
InfoQ
The Register - Security
The Register - Security
Recent Announcements
Recent Announcements
N
News and Events Feed by Topic
B
Blog RSS Feed

yulingtianxia's blog

Flutter 官方终于出手了,DartNative 将何去何从? 实现 Native 异步回调 Flutter 如何实现 Flutter 同步调用 Native API DartNative 内存自动管理 如何实现一行命令自动生成 Flutter 插件 告别 Flutter Channel,调用 Native API 仅需一行代码! BlockHook and Memory Safety Passing Out Parameter in DartNative 在 Flutter 中玩转 Objective-C Block DartNative Struct DartNative Memory Management: C++ Non-Object DartNative Memory Management: NSObject 谈谈 dart_native 混合编程引擎的设计 用 Dart 来写 Objective-C 代码 App 二进制文件重排已经被玩坏了 BlockHook with Invocation(2) BlockHook with Invocation(1) BlockHook with Private Data BlockHook with Revocation
CPP-Summit 2020
杨萧玉 · 2020-12-06 · via yulingtianxia's blog

文章目录

  1. 1. 性能与安全
  2. 2. C++ 的生命力
  3. 3. 国内与国外

2020 年是 CPP-Summit 第一次来到深圳,也是赶在了 2020 的尾巴。感谢公司让我有机会参加这种会议见见世面,在此记录下这两天的经历和想法,就当是记笔记交作业了。

简单介绍下这个会议,中文名是『全球 C++ 及系统软件技术大会』。虽然它的英文名里省略了『全球』,但从演讲嘉宾阵容上来看,也算是对得起『全球』二字了:有将近三分之一的演讲者来自国外。官网上的大会主席是『C++ 之父』Bjarne Stroustrup,他今年演讲的主题是《C++ 20 与C++的持续演化》。顺便说下,这个是『真·西佳佳之父』。会议的主办方是一家叫 Boolan 的技术咨询和培训机构,所以会议开始会植入一波硬广,这也算是常规操作了。大会的演讲嘉宾有极少部分是来自这家机构以及大会金主爸爸的,大部分嘉宾都是来自行业内有一定经验的开发者,阵容还算可以。

先说下总体感受:C++ 作为一门亘古不衰的语言,在各行各业都存在着经验丰富的开发者。随着各种更加『现代化』的语言的兴起,C++ 也迎来了更多的变化。不过很多新增语法特性的改进更像是戴着脚镣跳舞,保证对存量代码的向前兼容。在大会上也深深感受到互联网行业对传统软件行业的冲击,甚至讨论了 C++ 这碗饭还香不香的问题。大会的议题总体分为三大类:

  1. 新特性的研究和布道
  2. 性能和安全的实践经验
  3. 研发模式、测试和工程化等方法论

一般这种大会都是分为多个分会场同时演讲的,我只能选其中一些我比较感兴趣的议题去参加,大部分集中在前两类。国外开发者分享的议题大部分集中在第三类,由于今年疫情的原因,都改为线上会议了。国内开发者的分享更侧重于性能和安全,或者尝鲜新特性,尤其是大厂更强调业务落地。这里按时间顺序列出我参加的分享,并附上我的一句话短评:

接下来胡扯下我感受到的几个点。

性能与安全

如果要分析性能,那就一定要涉及到编译器开启的优化选项,不同级别的优化会导致差异很大的结果。有些代码会因为过于简单而被编译器优化没了,从而导致测试结果的偏差。这时候往往需要对照生成的汇编代码来看,推荐一个在线工具:Compiler Explorer

安全方面能做的大都是自动化代码静态扫描工具。C++ 除了接入扫描工具检查之外,也在努力添加新特性,想把一些事情放在编译期去做。好像很多现代化语言都喜欢在编译期保证空值安全,类型安全等等,甚至是编译期就已经计算好了一些常量,推导出了一些结果。想要在编译期做更多事情,就需要语法特性上做更多要求。带来的负面影响就是学习成本高,很难做动态化。比如 Rust,初学者想让自己的代码编译通过都有点难。

C++ 的生命力

C++ 对嵌入式、培训和咨询等行业影响很深,但是移动互联网时代大家更偏向于使用 Go、Python、Rust 等语言。比如有人提到招 C++ 的应届生很难,由于前一阵子深度学习很火,好多都是只会 Python 的候选人。接着也有人回应说深度学习的应用层的确是 Python,但是各种引擎和框架还是需要 C++来实现,这恰恰反映出 C++ 高性能的优势。甚至有人说要是以后大家不学 C++ 了,那么在座的各位待遇就会翻倍了,因为有大量现存的代码是用 C++ 写的,只有我们才看得懂。

大会上好多拥有二三十年 C++ 开发经验的大佬,我这种毕业四年的萌新只能在一旁打 call。大量熟悉底层软硬件的资深开发努力分享经验,做咨询和教育。大家并不希望 C++ 因为过时而构起了壁垒,而是积极拥抱变化,布道更现代化的 C++。

但话又说回来,C++ 的这些新特性很多要照顾已有的旧语法,用起来还是少了内味儿。比如各种现代语言都具有的 Modules 概念,C++至今也并未普及,这也导致 C++ 没有一个公认的制品库管理工具。站在一些现代语言的开发者的视角,C++ 不过是在努力变革求生罢了。尴尬之处就在于,维护 C++ 老代码时没必要升级到新特性(有工作量和风险),若是写新业务还不如直接用上 Go,Java,Scala 等。一门语言的命运啊,当然要靠自我奋斗,但是也考虑到历史的行程。

国内与国外

在一次午餐的时候,我听到隔壁桌聊天说国外开发者讲的东西太虚了。我作为一线开发者深表赞同,也是在『踩坑』后避开了大部分国外开发者的分享。可能这里不仅仅是分享内容不被大家讨喜的原因,主办方的实时翻译效果也不太好。建议主办方考虑下,不要为了追求『全球』国际化而刻意安排国外开发者分享的比例。

为主办方点赞的是现场可以通过贴小心心的方式为分享者打 call。(主办方的小姐姐给了我三颗小心心让我贴给心心比较少的几位,然而我比较耿直,还是送给了我想打 call 的几位分享者)

最受欢迎的当属『C++ 之父』的分享,我觉得这不仅仅是分享内容受欢迎了,『教父』自带的人气和信仰也是很重要的。提问环节甚至有一位华为的项目经理上来就是一句 “Dear father!”,然后在主持人的一通喊停之下来了一通自我介绍,并邀请 Bjarne Stroustrup 来甚至华为参观,想来个拥抱交个朋友。最后说自己没有问题要提问,单纯想膜拜下。(非原话,差不多这个意思)反正把大伙儿都逗笑了。更逗的是线上提问,亮点自寻: