我目前工作是 MFC 写桌面软件,业余时间也想写点其他的东西
但是每次看到服务器,图形学,或者数据库,我就在想,我现在学了,对我的工作也没有用处,那我学他干啥呢,这些和桌面软件八辈子打不着的关系
感觉 C++可枯燥无聊,不知道如何下手,因为选择太多了,方向太多了,还不能通用
大家写 C++都是怎么样呢
1
kilasuelika 2023-12-02 16:40:08 +08:00 via Android 2
从问题出发,不要从知识出发。首先考虑想解决什么问题。比如我自己工作中用的是 c#,但会用到并行编程的内容,我就会特别仔细地学习 c++中并行编程的内容。然后切换到 c#不也就是换个语法,基本思路是不变的。
|
2
thiiadoewjwe OP @kilasuelika 我面临的问题,估计是传统工业机械上的专业业务知识,这种没有任何的动力去学,感觉也很枯燥,并且换个行业将来不做桌面端开发了,这些学了也都没用了,所以就觉得头大
|
3
wjx0912 2023-12-02 16:49:06 +08:00
程序经常崩溃。没啥成就感。还是撸 js 代码快乐
|
4
bfjm 2023-12-02 16:56:53 +08:00 5
和编译环境斗争 和各种踩内存斗争 和未定义行为斗争 第三方库永远不能满足自己的需求 总想着自己造轮子
|
5
Kikuna3321 2023-12-02 17:02:31 +08:00 1
十年前我刚入行那会儿大家就都在调侃 MFC=没饭吃,不过工业界看起来很多时候还是离不了它。
成就感这东西跟语言无关啊,比如我之前接过 Java web 项目升级的小活,在很多 Java 经验者看来估计就是个玩具级别的小项目,但是我一个只懂简单 java 和 sql 语法的人最后顺利给完成交付了,还是挺有成就感的。 现在整天跟着甲方需求跑,在祖传的屎山上不停的堆屎,反正别出事故工资正常发就行,成就不成就的无所谓了 |
6
AnroZ 2023-12-02 17:06:03 +08:00
用 C++写过不少产品,每个产品初成的时候都挺有成就感的。
我觉得写 MFC 和写 C++不是一回事,MFC 太老了,std 库都不用,MVC 都不分 。 不过,MFC ( win32 )的消息机制也算经典了,作为入门挺有用的。 |
7
thiiadoewjwe OP @Kikuna3321 没有成就感就觉得对未来没有期待,会很焦虑和丧
|
8
thiiadoewjwe OP @AnroZ 大佬用 C++都做什么技术方向呢,现在不知道自己感兴趣的方向在哪里了
|
9
mantouboji 2023-12-02 17:10:41 +08:00
那你可以考虑去学点儿其他的挣钱手段了,甚至考虑一下转行当 PM 、政工人员、领导、工会干部等等。
|
10
cnbatch 2023-12-02 17:14:38 +08:00
就以桌面端软件来讲,其实可以自己再学学 Qt 或 wxWidgets ,这两个是跨平台 GUI 框架,总比钉死在 MFC 好得多。
我工作主要是 C# ,这也是横跨多个领域的通用语言,能做普通桌面软件、能做网页开发、还能做游戏,但并不代表必须全部学明白。就比如我当前岗位并不需要使用 C# 做游戏开发,私底下我也没自制游戏,那自然就用不到 C# 的游戏开发知识。 C++同理(其实对任意语言都同理),对于从来接触不到的领域,用不到相关知识一点都不奇怪。这并不是语言枯燥无聊,而是“日常拧螺丝”带来的枯燥无聊。 打个不太恰当的比喻:烤鱼店的某个厨师,每天的工作内容就只做烤鱼,别的一概不会,他感到枯燥无聊,那能够说“XX 菜系厨师枯燥无聊”吗? |
11
thiiadoewjwe OP @cnbatch 谢谢老哥回复,有时候又觉得桌面端没什么前景,所以学习 QT 的兴趣也低了下来,总觉得自己不会一直在桌面端工作,想着搞点什么先进的技术或者风口上的,现在看看是自己太浮躁了,有点好高骛远了,总是在羡慕其他人的技术方向
|
12
dearmymy 2023-12-02 17:18:35 +08:00
还抱着 mfc 不放手,也不学新东西,你是真不怕失业啊。好歹学个 qt 也行。你随便找个东西做个 qt 的可视化 gui 就可以啊。之前看论坛不是有人写 redis 客户端之类的。你也可以挑个类似的写个啊。
|
13
thiiadoewjwe OP @dearmymy 现在就是不知道学啥的焦虑状态中,总想找个前景好的,学习路线明确的然后以后找这样的工作,确实可以先学着 QT ,但又觉得学习 QT 对现在的工作也没什么用,毕竟现在用的是 MFC
|
14
cnbatch 2023-12-02 17:27:46 +08:00
桌面端有没有前景,靠的是该软件提供的内容。
就我个人知道的,某些游戏的玩家在制作 mod 的时候会用到特定的开源软件,并且一定是桌面端软件。总不能搞个网站点点鼠标把本地内容扔给服务器再操作吧,渲染费用谁出?硬盘费用谁出?玩家肯定不愿意出。那只能提供本地桌面软件,使用本机的资源。 或者弄成命令行版本让玩家自己输入命令打包一堆文件?大多数玩家并不是程序员、运维,他们很反感使用命令行,怎么办?那只能提供桌面软件。 |
15
Leonard 2023-12-02 17:45:00 +08:00
不如用 C++写游戏?
|
16
chashao 2023-12-02 17:49:25 +08:00
但是图形学能做游戏还是很有意思的呀
|
17
lesismal 2023-12-02 17:50:32 +08:00 2
写 c/c++ 最大的感受不是成就感,而是 [ faster and faster, most of the things under my control ],性能像利刃、针尖一样锋利无比,加上控场的感觉,确实很爽
其他脚本、带 runtime 的语言都没这感觉,比如 go 、再怎么优化性能都做不到 c/c++ 那样锋利的快感 |
18
laminux29 2023-12-02 18:26:37 +08:00 1
当你能用 CPP 写你说的那些东西,并且高性能、稳定、高可控、资源使用量少的时候,你已经站在程序员之巅了。
高处不胜寒,到了那一步,的确没啥成就感。 |
19
Kikuna3321 2023-12-02 18:29:27 +08:00
@thiiadoewjwe 那就只能尝试跳出现在的舒适区去别的赛道了,微软这些老玩意儿用久了再换用别的确实会不习惯,而且同意楼上的说法,写 MFC 和 C++不是一回事儿,深耕 Win32 API/MFC 这套的话,大概主要也就走安全这条路了
|
20
kilasuelika 2023-12-02 18:36:11 +08:00 via Android
@thiiadoewjwe 这样的话要么考虑换专业,要么从当前的业务中去挖掘一些通用的点。比如系统架构,如果让你来设计系统,你会怎么进行架构,这些架构要怎么实现。又比如怎么进行性能优化。
|
21
kilasuelika 2023-12-02 18:44:42 +08:00 via Android 1
@thiiadoewjwe 而且我感觉你可能要先解决焦虑的问题。带着焦虑学,只会越学越焦虑。心理学上有个经典的原理,就是感受不是经历带来的,而是对经历的看法造成的。你感到焦虑,是因为你对某些事的看法。这些事是什么,你是怎么看待的,这些看法是唯一的吗。这些都是值得思考的点。
|
22
tyzandhr 2023-12-02 19:21:25 +08:00 via Android 1
写 mfc 算写 c++吗?
|
23
enchilada2020 2023-12-02 19:36:19 +08:00 via Android 1
@lesismal 本来能写到性能极致就超有成就感了😎
|
24
archxm 2023-12-02 19:44:58 +08:00 via Android
c++以及 mfc 没必要深入,能用即可
|
25
smallboy19991231 2023-12-02 19:58:40 +08:00 via iPhone
你不学计算机科学的?
|
26
smallboy19991231 2023-12-02 19:58:48 +08:00 via iPhone
你不学计算机科学的吗?
|
27
newshbb 364 天前 1
写了半辈子 C++,但不妨碍广泛涉猎
|
28
dw2693734d 364 天前
语言只是工具,不要沉迷于工具。
就像金刚经里面讲的:“我所說法, 如筏喻者, 法尚應捨, 何況非法。 ” 通过船筏上岸了之后,还要继续背着船筏在陆地行走吗?只是工具而已,问题才是关键。 |
29
yolee599 364 天前 via Android
成就感都和其他语言差不多,就是老想自己造轮子,然后陷进去
|
30
omniversia 364 天前
成就感是来源于解决了什么问题,还有周遭环境给予的反馈
|
31
AnroZ 364 天前
@thiiadoewjwe
C/C++我们用于写底层组件和数据服务,比如:各种通信协议/驱动、网络库和数据库之类的。 至于方向,每个人都得自己找,可以想想自己来写代码的初衷,想学什么想做什么,找一个点去深挖下。 但,不可否认的是,MFC 这技术太局限了,是不适合长期投入。 我们的 HMI 程序都已转.NET 和 HTML5 了 |
32
dragonflylee 364 天前
P2P 软件既是客户端又是服务器(很多下载工具都使用了 P2P 技术)
https://github.com/ocornut/imgui 基于图形 API 编写桌面软件的界面库 (关键词 图形学) IM 聊天软件大部分都会把聊天内容记录到本地数据库中,比如 SQLite 实际上都和桌面软件有关系的 |
33
jones2000 364 天前
当你拿工资单的时候, 发现把 js 高出一大截的时候, 就有成就感了。
|
34
bao3 364 天前
我给你举个例子,比如你要实现一个 EtherNet IP 到 ProfiNet 的转换,从解决问题出发,你可以用 python 、甚至可以用 php ,但当你拿出 C/C++,与前面 2 种语言相比,你就从工控玩家变成工控专业人才。
再比一些国产设备的固件研发。 |
35
amosasas 364 天前
毕设要改 C++的 TF 源码,没有任何成就感,只想赶紧弄完毕业万岁。所谓技术带来成就感,在你朝这种社会条件下是不太可能的。。。
|
36
fgwmlhdkkkw 364 天前
|
37
ouou0701 364 天前
我刚毕业的时候写 mfc 后面搞 cocos2dx 然后搞 unity 去了,想问下现在 mfc 还有得搞吗
|
38
silvernoo 364 天前
写 dart 有成就感,现在写 Java 一言难尽
|
39
testphase 364 天前 via iPhone
@tyzandhr 老哥 msvc 这几年对 std 的支持可以说很完备了 紧跟标准库的步伐,business Layer 全用标准 c++的话是可以在 linux 下编译的
|
40
thorneLiu 364 天前 via Android
用 c++和 cuda 写 AI 高性能推理框架 ing
|
41
panlatent 364 天前 1
这种成就感来得快去的也快吧,远没有解决问题的成就感来的持久
|
42
mahaoqu 364 天前 2
C++98/03 ,C++11/14/17 ,C++20/23 可以说是完全不同的三门语言
|
43
levelworm 364 天前 via Android
这种工作哪里能找呢?
|
45
loken2020 364 天前 1
学音视频,WebRTC 。
|
46
willm 364 天前 via iPhone
不管什么语言,成就感最终还是要看工资
|
47
wuzhewuyou 364 天前
赞楼上,早过了有成就感的年龄,就是一无情的编码机器
|
48
roycestevie6761 364 天前
不管什么语言,成就感最终还是要看工资
写 vb 写 php 能写到大几万的更牛逼 |
49
andyzhshg 364 天前 via iPhone
09 年毕业的时候搞 MFC 的桌面软件,那个时候就都在说 MFC 已经是过时的技术了,结果现在还是有人在用...
但话说回来,桌面软件,无论是 MFC 还是 QT 或其他,也不过就是那薄薄一层框架,核心还是软件自己的业务,这才是核心。如果业务本身就没有前途,趁早想点别的方向就好了,毕竟公司不是按照语言或者框架的新旧好坏算钱的。 还是放宽眼界,多尝试点新东西,总是没坏处的。C++能整明白,也不用担心别的学不会 |
50
qgmzmy 364 天前 via Android
没有
|
51
dayeye2006199 364 天前 via Android
我不会的是 c➕➕吗?我不会的是图形学,数据库,系统编程,高性能计算
这些玩意儿都需要 C➕➕,但光会 c➕➕根本没用 |
52
yzbythesea 364 天前
工作能用 C/Cpp 的岗位做的产品一般都是非常核心的(高并发,高性能)。不是语言定义了你的成就感,而是你的工作方向和知识领域定义了。
|
53
offswitch 363 天前
以前我也是这种想法,现在就想着赚钱,代码无所谓的。
|
54
encro 363 天前
现在基本只会因为自己做的产品“用户体验成为业界领先”以及“开创业界新领域”而开心。
|
55
Narcissu5 363 天前
去招聘网站上找职位,找你这个方向上更高一级薪水的 jd ,看看要些什么
|
56
PepperEgg 363 天前
我以前也是做 MFC 的,不过那是第一份工作了。刚毕业做了两年想法就变了,就开始倒腾 qt ,qt 倒腾了两三个小玩意在公司用。然后就跳槽了。跳槽之后去找个工作是专门搞 qt 的。又搞了几年就疫情了。然后换工作,去了老家小公司了,目前又做了两三年,做的很杂。前端,驱动,网络部分都有涉猎了。现在的感觉就是,一定要拓宽视野,千万不要局限于做 mfc 界面那一套。
|