我目前工作是 MFC 写桌面软件,业余时间也想写点其他的东西
但是每次看到服务器,图形学,或者数据库,我就在想,我现在学了,对我的工作也没有用处,那我学他干啥呢,这些和桌面软件八辈子打不着的关系
感觉 C++可枯燥无聊,不知道如何下手,因为选择太多了,方向太多了,还不能通用
大家写 C++都是怎么样呢

从问题出发,不要从知识出发。首先考虑想解决什么问题。比如我自己工作中用的是 c#,但会用到并行编程的内容,我就会特别仔细地学习 c++中并行编程的内容。然后切换到 c#不也就是换个语法,基本思路是不变的。

我面临的问题,估计是传统工业机械上的专业业务知识,这种没有任何的动力去学,感觉也很枯燥,并且换个行业将来不做桌面端开发了,这些学了也都没用了,所以就觉得头大

程序经常崩溃。没啥成就感。还是撸 js 代码快乐

和编译环境斗争 和各种踩内存斗争 和未定义行为斗争 第三方库永远不能满足自己的需求 总想着自己造轮子

十年前我刚入行那会儿大家就都在调侃 MFC=没饭吃,不过工业界看起来很多时候还是离不了它。成就感这东西跟语言无关啊,比如我之前接过 Java web 项目升级的小活,在很多 Java 经验者看来估计就是个玩具级别的小项目,但是我一个只懂简单 java 和 sql 语法的人最后顺利给完成交付了,还是挺有成就感的。现在整天跟着甲方需求跑,在祖传的屎山上不停的堆屎,反正别出事故工资正常发就行,成就不成就的无所谓了

用 C++写过不少产品,每个产品初成的时候都挺有成就感的。我觉得写 MFC 和写 C++不是一回事,MFC 太老了,std 库都不用,MVC 都不分 。不过,MFC ( win32 )的消息机制也算经典了,作为入门挺有用的。

没有成就感就觉得对未来没有期待,会很焦虑和丧

大佬用 C++都做什么技术方向呢,现在不知道自己感兴趣的方向在哪里了

那你可以考虑去学点儿其他的挣钱手段了,甚至考虑一下转行当 PM 、政工人员、领导、工会干部等等。

就以桌面端软件来讲,其实可以自己再学学 Qt 或 wxWidgets ,这两个是跨平台 GUI 框架,总比钉死在 MFC 好得多。我工作主要是 C# ,这也是横跨多个领域的通用语言,能做普通桌面软件、能做网页开发、还能做游戏,但并不代表必须全部学明白。就比如我当前岗位并不需要使用 C# 做游戏开发,私底下我也没自制游戏,那自然就用不到 C# 的游戏开发知识。C++同理(其实对任意语言都同理),对于从来接触不到的领域,用不到相关知识一点都不奇怪。这并不是语言枯燥无聊,而是“日常拧螺丝”带来的枯燥无聊。打个不太恰当的比喻:烤鱼店的某个厨师,每天的工作内容就只做烤鱼,别的一概不会,他感到枯燥无聊,那能够说“XX 菜系厨师枯燥无聊”吗?

谢谢老哥回复,有时候又觉得桌面端没什么前景,所以学习 QT 的兴趣也低了下来,总觉得自己不会一直在桌面端工作,想着搞点什么先进的技术或者风口上的,现在看看是自己太浮躁了,有点好高骛远了,总是在羡慕其他人的技术方向

还抱着 mfc 不放手,也不学新东西,你是真不怕失业啊。好歹学个 qt 也行。你随便找个东西做个 qt 的可视化 gui 就可以啊。之前看论坛不是有人写 redis 客户端之类的。你也可以挑个类似的写个啊。

现在就是不知道学啥的焦虑状态中,总想找个前景好的,学习路线明确的然后以后找这样的工作,确实可以先学着 QT ,但又觉得学习 QT 对现在的工作也没什么用,毕竟现在用的是 MFC

桌面端有没有前景,靠的是该软件提供的内容。就我个人知道的,某些游戏的玩家在制作 mod 的时候会用到特定的开源软件,并且一定是桌面端软件。总不能搞个网站点点鼠标把本地内容扔给服务器再操作吧,渲染费用谁出?硬盘费用谁出?玩家肯定不愿意出。那只能提供本地桌面软件,使用本机的资源。或者弄成命令行版本让玩家自己输入命令打包一堆文件?大多数玩家并不是程序员、运维,他们很反感使用命令行,怎么办?那只能提供桌面软件。

不如用 C++写游戏?

但是图形学能做游戏还是很有意思的呀

写 c/c++ 最大的感受不是成就感,而是 [ faster and faster, most of the things under my control ],性能像利刃、针尖一样锋利无比,加上控场的感觉,确实很爽其他脚本、带 runtime 的语言都没这感觉,比如 go 、再怎么优化性能都做不到 c/c++ 那样锋利的快感

当你能用 CPP 写你说的那些东西,并且高性能、稳定、高可控、资源使用量少的时候,你已经站在程序员之巅了。高处不胜寒,到了那一步,的确没啥成就感。

那就只能尝试跳出现在的舒适区去别的赛道了,微软这些老玩意儿用久了再换用别的确实会不习惯,而且同意楼上的说法,写 MFC 和 C++不是一回事儿,深耕 Win32 API/MFC 这套的话,大概主要也就走安全这条路了

这样的话要么考虑换专业,要么从当前的业务中去挖掘一些通用的点。比如系统架构,如果让你来设计系统,你会怎么进行架构,这些架构要怎么实现。又比如怎么进行性能优化。

而且我感觉你可能要先解决焦虑的问题。带着焦虑学,只会越学越焦虑。心理学上有个经典的原理,就是感受不是经历带来的,而是对经历的看法造成的。你感到焦虑,是因为你对某些事的看法。这些事是什么,你是怎么看待的,这些看法是唯一的吗。这些都是值得思考的点。

写 mfc 算写 c++吗?

本来能写到性能极致就超有成就感了😎

c++以及 mfc 没必要深入,能用即可

你不学计算机科学的?

你不学计算机科学的吗?

写了半辈子 C++,但不妨碍广泛涉猎

语言只是工具,不要沉迷于工具。就像金刚经里面讲的:“我所說法, 如筏喻者, 法尚應捨, 何況非法。 ”通过船筏上岸了之后,还要继续背着船筏在陆地行走吗?只是工具而已,问题才是关键。

成就感都和其他语言差不多,就是老想自己造轮子,然后陷进去

成就感是来源于解决了什么问题,还有周遭环境给予的反馈

C/C++我们用于写底层组件和数据服务,比如:各种通信协议/驱动、网络库和数据库之类的。至于方向,每个人都得自己找,可以想想自己来写代码的初衷,想学什么想做什么,找一个点去深挖下。但,不可否认的是,MFC 这技术太局限了,是不适合长期投入。我们的 HMI 程序都已转.NET 和 HTML5 了

P2P 软件既是客户端又是服务器(很多下载工具都使用了 P2P 技术) github.com/ocornut/imgui 基于图形 API 编写桌面软件的界面库 (关键词 图形学)IM 聊天软件大部分都会把聊天内容记录到本地数据库中,比如 SQLite实际上都和桌面软件有关系的

当你拿工资单的时候, 发现把 js 高出一大截的时候, 就有成就感了。

我给你举个例子,比如你要实现一个 EtherNet IP 到 ProfiNet 的转换,从解决问题出发,你可以用 python 、甚至可以用 php ,但当你拿出 C/C++,与前面 2 种语言相比,你就从工控玩家变成工控专业人才。再比一些国产设备的固件研发。

毕设要改 C++的 TF 源码,没有任何成就感,只想赶紧弄完毕业万岁。所谓技术带来成就感,在你朝这种社会条件下是不太可能的。。。

歪下,有谁能出个视频讲下 coro 和 stdexec 啊?
我刚毕业的时候写 mfc 后面搞 cocos2dx 然后搞 unity 去了,想问下现在 mfc 还有得搞吗

写 dart 有成就感,现在写 Java 一言难尽

老哥 msvc 这几年对 std 的支持可以说很完备了 紧跟标准库的步伐,business Layer 全用标准 c++的话是可以在 linux 下编译的

用 c++和 cuda 写 AI 高性能推理框架 ing

这种成就感来得快去的也快吧,远没有解决问题的成就感来的持久

C++98/03 ,C++11/14/17 ,C++20/23 可以说是完全不同的三门语言

这种工作哪里能找呢?

有打算上传到 github 的计划吗?

学音视频,WebRTC 。

不管什么语言,成就感最终还是要看工资

赞楼上,早过了有成就感的年龄,就是一无情的编码机器

不管什么语言,成就感最终还是要看工资写 vb 写 php 能写到大几万的更牛逼

09 年毕业的时候搞 MFC 的桌面软件,那个时候就都在说 MFC 已经是过时的技术了,结果现在还是有人在用...但话说回来,桌面软件,无论是 MFC 还是 QT 或其他,也不过就是那薄薄一层框架,核心还是软件自己的业务,这才是核心。如果业务本身就没有前途,趁早想点别的方向就好了,毕竟公司不是按照语言或者框架的新旧好坏算钱的。还是放宽眼界,多尝试点新东西,总是没坏处的。C++能整明白,也不用担心别的学不会

没有

老实说,完全没有成就感,反而觉得大量的时间浪费在给最基本的事情擦屁股上。Swift 的 String 说 count() 真的就会给你返回真实的字符数量,除非你强行指定 self.utf16.count 。

MFC 这玩意其实需要被封装成类似于 Cocoa AppKit 这样的 MVC 模型,这样更好用。

我不会的是 c➕➕吗?我不会的是图形学,数据库,系统编程,高性能计算这些玩意儿都需要 C➕➕,但光会 c➕➕根本没用

工作能用 C/Cpp 的岗位做的产品一般都是非常核心的(高并发,高性能)。不是语言定义了你的成就感,而是你的工作方向和知识领域定义了。

以前我也是这种想法,现在就想着赚钱,代码无所谓的。

现在基本只会因为自己做的产品“用户体验成为业界领先”以及“开创业界新领域”而开心。

去招聘网站上找职位,找你这个方向上更高一级薪水的 jd ,看看要些什么

我以前也是做 MFC 的,不过那是第一份工作了。刚毕业做了两年想法就变了,就开始倒腾 qt ,qt 倒腾了两三个小玩意在公司用。然后就跳槽了。跳槽之后去找个工作是专门搞 qt 的。又搞了几年就疫情了。然后换工作,去了老家小公司了,目前又做了两三年,做的很杂。前端,驱动,网络部分都有涉猎了。现在的感觉就是,一定要拓宽视野,千万不要局限于做 mfc 界面那一套。