写点什么

老树新花:芒果 TV 林喆谈 C++11 选型与应用

  • 2015-08-17
  • 本文字数:1147 字

    阅读完需:约 4 分钟

林喆是芒果TV 的系统工程师。在10 月15 日~17 日的 QCon 上海 2015 大会上,他将分享《C++11 核心特性简析》,结合实际项目经验,分享一下他对C++11 一些新特性的理解和应用。在大会开始前,InfoQ 对他做了采访,谈到了C++11 的选择与应用、编程语言选型等话题。以下为采访内容。

InfoQ:您现在在芒果 TV 主要负责哪些方面?

林喆:我在长沙芒果 TV 负责 Redis 解决方案的制定,包括 Redis 集群调配、管理维护以及内部培训事宜,以及 Redis 集群代理 redis-cerberus 、控制管理程序 redis-ctl 等相关项目的开发工作。这两个项目都托管在 GitHub 上,感兴趣的读者可以自行查阅。

InfoQ:可以简单介绍一下 redis-cerberus 这个项目吗?

林喆:redis-cerberus 是一个 Redis 集群代理程序,早期是为了在使用 Redis 集群的同时兼容旧客户端和应用程序库而开发的。后续开发过程中加入了基于 Redis 集群主从模式的读写分离特性。

InfoQ:这个项目为什么会考虑用 C++11 开发?

林喆:首先,选择 C++ 开发是基于两点考虑:性能和开发效率。而之所以选择使用了 C++11 的特性,是因为新标准对原有的一些缺陷进行了有效的弥补,并且增加了很多有利于提高开发效率的特性。

InfoQ:C++11 引入了很多特性,可以分享一下实际使用中的感受吗?比如给开发带来了哪些好处?

林喆:C++11 引入的新特性有很多,我在项目中用到的可以分为三个方面,包括更好的对象生命周期控制语义、更灵活的语法以及多线程。具体我会在 QCon 上分享。下面简单举两个例子。

在更好的对象生命周期控制语义这方面,新标准库中引入的 std::unique_ptr(在 redis-cerberus 项目中有进一步封装) 表示对一个对象的唯一引用。在阅读代码的时候,如果看到对象 A 成员里有一个 std::unique_ptr 去引用另一个对象 B,那么隐含的语义是,B 的生命周期就应该完全由 A 来决定,并会随着 A 的析构而析构。

在更灵活的语法方面,我想最易用的就是基于容器的迭代循环,有了 auto 自动推断类型,不需要再去写很长的如“std::vector::iterator i”这样用于指定类型的代码,把精力从这种无益的体力劳动中释放了出来。

InfoQ:您在开发中选择编程语言都会考虑哪些因素?

林喆:无疑使用环境是最重要的因素,如果是系统级程序,并且不太适用 C++ STL 库(主要是从内存分配器和异常两方面考量),那么 C 语言肯定是第一选择;其它对性能很敏感的环境,C++ 比较适合;使用脚本控制的话, 则 Python 自然是一把利器;新出现的一些语言,如 Rust 在许多方面也表现不错,不过我还没有深入接触。

需要单独说说的是 Javascript,目前浏览器普遍支持的只有这一种脚本语言,但它又有很多缺陷和不便需要规避和改善。我认为 JavaScript 更类似于前端界的汇编语言,现在也有一些编译为 JavaScript 的语言,如 CoffeeScript、TypeScript 等,我们有了更多选择。

2015-08-17 21:103205
用户头像
臧秀涛 略懂技术的运营同学。

发布了 300 篇内容, 共 151.6 次阅读, 收获喜欢 35 次。

关注

评论

发布
暂无评论
发现更多内容

SD-WAN和传统WAN的区别

光联世纪

SD-WAN

AI 心理测评与教辅系统:构建智慧教育新生态

上海拔俗

什么是多因素身份验证(MFA)

运维有小邓

密码 AD域

揭秘 MCP Streamable HTTP 协议亲和性的技术内幕

阿里巴巴云原生

阿里云 Serverless 云原生 函数计算

如何通过Python SDK在Collection中分组检索Doc

DashVector

数据库 AI 检索 大模型 向量

详细指南:添加DNS解析记录的步骤和常见问题

防火墙后吃泡面

易搜资料知识付费小程序:一站式资源变现解决方案

微擎应用市场

IDS 和 IPS 日志监控的重要性

运维有小邓

日志管理 日志审计 审计日志 日志管理软件 日志收集

共享菜篮小程序管理系统:菜市场绿色租赁新选择,开启环保便捷新体验

微擎应用市场

AI赋能:下一代海外营销的智能化路径与机遇

Wolink

电商营销 海外社媒营销 海外营销推广 跨境电商运营 达人营销

国产全功能GPU发力!摩尔线程亮相CNCC2025展示智算基础设施新成果

新消费日报

慢病成老年人死亡首因!重阳节AQ倡议守护父母健康,从慢病防控开始

Lily

AI 精准教学平台系统:重塑数字化时代的个性化教育

上海拔俗

测试脚本生成太慢?我用Dify+自然语言描述,效率提升了300%

测吧(北京)科技有限公司

智能 AI 安全隐患排查管理系统:构建主动式网络安全防御体系

上海拔俗

告别手动埋点!Android 无侵入式数据采集方案深度解析

阿里巴巴云原生

android 阿里云 云原生 asm 可观测

AI 智能作业与考试研判分析系统:开启精准教学新时代

上海拔俗

AI 行为识别系统:从感知到认知的智能进化

上海拔俗

分销积分商城小程序系统:赋能商家的全场景营销解决方案

微擎应用市场

AI 毕业生面试系统:重塑数字化时代的人才选拔体系

上海拔俗

嘉为蓝鲸效能洞察平台·CMeas:Excel数据纳入度量体系,更新高效不费工

嘉为蓝鲸

研发效能 数据采集 数据洞察 研发效能度量 研发效能洞察

定制化TTS数据实践:解锁语音大模型的无限潜能

数据堂

人工智能 语音合成 语音交互 人机交互 语音大模型

AI 智能评审系统:构建高效、公正的数字化评估新范式

上海拔俗

合合信息与上海交通大学开展课题合作研究,共探智能文档图像处理前沿技术

合合技术团队

人工智能 大数据 算法

为什么要做海外营销?全球化时代企业不可或缺的增长引擎

Wolink

跨境电商 电商营销 海外社媒营销 海外营销推广 达人营销

AI 健康档案管理系统:构建智能医疗的数据基石

上海拔俗

数字化时代下的ITSM软件-ManageEngine卓豪

ServiceDesk_Plus

ManageEngine卓豪

图多多表情包斗图微信小程序:开启斗图新体验,赋能流量变现新可能

微擎应用市场

AIGC 企业知识库系统:构建智能驱动的组织智慧大脑

上海拔俗

嘉为蓝鲸亮相GOPS全球运维大会·2025上海站,共绘智能运维与研发效能发展新蓝图!

嘉为蓝鲸

研发效能 数字化转型 智能运维 研运一体化 IT智能研运

天翼云智慧上云月特惠来袭,智算上云正当时!

天翼云开发者社区

CDN 存储 云主机 算力 云电脑

老树新花:芒果TV林喆谈C++11选型与应用_QCon_臧秀涛_InfoQ精选文章