缘起
在AI时代,大模型降低了软件开发的门槛,开发者不需要太多的系统级知识和内化思维,提出问题让AI即可生成代码与答案,项目开发速度越来越快,软件开发的乐趣越来越少了,职场逐渐内卷化,打算在2025年听一些C++国际会议报告,拓宽眼界,提高品位,找回初心.
“内卷”(involution)一词最初源于社会学领域,用来描述一种社会或文化模式在发展到一定阶段后停滞不前、无法转化为更高级形态的现象,反而在内部不断复杂化、精细化,导致非理性的竞争加剧。
真正的大师,永远怀着一颗学徒的心.
参考资料
Vedio 汇总:https://www.youtube.com/playlist?list=PLHTh1InhhwT7gQEuYznhhvAYTel0qzl72
PPT 汇总:https://github.com/CppCon/CppCon2023
报告1:Getting Started with C++
内容摘要:微软的C++ 团队的,MICHAEL Price, 整理了一套适用于大型C++开发的工具集,这条工作流程是欧美/国内大厂 C++软件开发的工作流程,提高开发效率与质量,演讲的大纲如下:
1. Obtaining tools for your platform
- 编辑器、IDE :Visual Studio 、Vscode、 Cursor(大模型编辑器)
- 编译器工具链 :MIcrosoft Visaul C++ / GCC / LLVM
- Build工具 :MSBuild / GNU Make / Ninja
个人点评:
Old School 的工程师喜欢用:
IDE:Visual Studio (这个工具的Visual Studio Debugger真的很棒,以前做图形编译器的时候深度使用)
ToolChains :MIcrosoft Visaul C++ /GCC
Build & Project Management : MSBuild / GNU Make
新时代的工程师喜欢用:
IDE : Cursor / Vscode
ToolChains:市场需求而定,依赖平台和语言
Build & Project Management : Ninja
核心Slide:
2. Code Reuse through libraries
模块化是软件管理复杂度的核心哲学之一,有各个层级的“模块”:class,file,库,软件中相互引用产生大量的依赖,导致大型软件中的依赖管理非常复杂,它极度影响编译时间,有一本《大规模C++设计》就是讲管理C++类依赖/文件级依赖,这个需要有经验的软件工程师处理,库的依赖复杂度由现代C++包管理器(vcpkg/conan)处理.
3. Building Correct,Secure and Safe Systems
正确性和安全是一些工业级产品必须要满足的编程规则,比如汽车,航天航空. 现代C++ 主要使用静态/动态分析工具/单元测试来提高和覆盖.
4. Planning for the future
版本控制、CI流程也是现代软件开发的标志之一.
5. Resource for learning Modern C++
个人习惯
- 奇奇怪怪的新语法就查 cppreference.com
- cppinsights 从编译器角度一些特殊语法的实现,方便理解
- compiler explorer 是编译器开发常用的工具,支持多种语言 多种后端.
结束语
如果对你有帮助,请点赞或收藏.🙏