如题,大概 2014 年之前,一直都是写 C++的(还有 C#),在 Windows 平台,大概写了 7~8 年。
后来公司组织架构调整,转管理了。又过了 5~6 年,组织架构又调整,我又回来写代码了。但是是做前端,就是 Javascript/Typescript, React, Redux/Saga ,那一套!
经济形势不好,去年底公司裁员一波。虽然不知道下次什么时候裁员,但得早做准备吧。大家都知道前端太卷了,不想卷前端,C++是不是会好一点。
那么问题来了,怎么把 C++捡回来?好像不论是 C++还是 C#,过去这十年,变化都挺大的...... 什么 lambda ,什么协程,等等
上京东搜索了一下,这么多大部头的书?难道得买一本 C++20 ,从头啃么?
1
araraloren 247 天前 1
别捡了,容易伤到膝盖
|
2
crayygy 247 天前
C++ 这些年也就 C++ 17 和 C++ 20 这两个稍微新点儿的东西,大部分公司估计都还没上 20 呢,看 17 就差不多了
https://en.cppreference.com/w/cpp/17 https://en.cppreference.com/w/cpp/20 |
3
ugpu 247 天前
别用 C++了 淘汰的东西 这边建议 Rust
|
4
ccpp132 246 天前
或者看这个,https://www.modernescpp.com/index.php/table-of-content/
讲道理 C++新东西随便看看就行了。看了多少平时用多少,没多少人能全部掌握 |
5
vvhh2002 246 天前
用手!
|
6
nealot 246 天前 via Android
|
7
Aoyu 246 天前
推荐《 C++20 高级编程(第 5 版)》。今年 2 月份刚出了第 6 版。
|
9
agagega 244 天前
假定你知道一点 C++11 (不知道也没关系,其实各种标准添加的东西虽多,但都是有内在逻辑的,C++也不是因为后面这些标准把它搞复杂的,相反这些标准反而是把原来复杂的问题给简化)
14:围绕 11 的若干修复,比如可变参数模板、lambda 参数类型可以为 auto ,返回值 auto ,给库补上了几个之前没来得及进的函数比如 make_unique 17:模板元编程大加强,和模板相关的地方可以用 constexpr 了,语法糖有 if constexpr ,if 和 switch 括号里可以初始化变量,可以用结构化绑定初始化变量,库多了 string_view 、any 、variant 、optional 20:新的基于模块而不是头文件的编译模型(听着很美好但各家实现都不一样,而且未必能真的提高编译速度),range ( STL 给 iterator 的接口用起来确实很反人类),concept (让模板更像 interface 一点,但想要在对象里实现静态 interface 还得 CRTP ),coroutine (先玩玩 boost ASIO 吧) |
10
flx413 241 天前 via Android
C++11 基本够用,C++17 再看一点就行了。其实我觉得没必要掌握高深技巧,应对工作就行。
|
11
slideclick 241 天前
歪个楼,你的经历适合转全栈,c#
|
13
ugpu 237 天前 1
|
14
slideclick 236 天前
|
15
ugpu 236 天前
@slideclick 不应该拉扯某某人评论了 发表了.
至于你说的前景, 任何语言都一样. 针对业务/用户产生了差异性. 和用什么语言无关. 技术角度来说 C++的壁垒 场景在那 不用说 和 C++本身关系不大 更多的是数学 比如内核 数据库 . 大多数程序员应用场景也就 Java C# Rust 安全,高效, 成本低廉. |
16
ugpu 236 天前
@slideclick 或者我在直接点 我当了 7 年 C++码农.
在现在这个行情 业务范围内 C++ 就是一坨屎. |
17
RYS 234 天前
那 C#呢?应该比 C++的情况要好一点吧。
求助大佬 最近有两家公司签我,一个是写 Vue ,一个是写 C#。哪个未来前景好一点哦? |
19
ugpu 234 天前
@RYS 谢邀.
对你来说都一样 学好一门 C 语言就行 个人意见: 没有技术上的狂热 科学上的追求. 哪个公司大 稳定 钱(考虑 加班) 福利 进行打分 选择分数高的 但是 Vue 和 C# 前后端? 还是一个是 web 一个是 WPF 类的? C#拓展性强 vue 难搞? 如果差距不大 我肯定选 C# 如果还有其他的就更好 |
20
slideclick 222 天前
@ugpu 我最近也在找工作,总结了一下,不画图了,现在的软件主流开发,是远离传统 OS,远离传统 OS,远离传统 OS,
比如前端是浏览器里,甚至小程序.后端是 cloud 提供的各种 redis mq 等等. 其实这个老程序员也经历过,比如 mis 开发后端就是个 sql 而 cpp 老程序员,除了语言,其它的都是老 os,线程什么的. 比如你看招 java 程序员,大部分要求懂 sql, kafaca,mq 等等.少量要求多线程的也是 jvm 多线程 这是技术的必然. 还在用 cpp 的是嵌入式,工业,医疗仪器等等---这些岗位很多理工的硕士就能干不用科班--而且我国落后的教育基本上学生都接触过 c++虽然水平很一般. 偏门的高性能计算图形视频游戏量化这些门槛高 |
21
slideclick 222 天前
@ugpu "安全,高效, 成本低廉"
我贼喜欢 golang 这个语言,真是 21 世纪的 c 因为它简单,门槛低,工资 1-2 万吧,甚至硕士实习生也很多就能干 国内不少大厂在狂招 golang 外包,就是当民工砌砖,golang 的优点是大家的砖都一样,连缩进都一样 |
22
slideclick 222 天前
@agagega #14,谢谢,学习了,一下,C++11 没有 make_unique, c++14 的如果不用 make_unique 有时候会内存泄露,直到 c++17 才不漏也就是不是必须 make_unique 了
真够复杂了,劝退了楼主么 |