V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
thiiadoewjwe
V2EX  ›  C++

各位写 C++有成就感吗

  •  
  •   thiiadoewjwe · 2023-12-02 16:24:33 +08:00 · 9025 次点击
    这是一个创建于 390 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我目前工作是 MFC 写桌面软件,业余时间也想写点其他的东西

    但是每次看到服务器,图形学,或者数据库,我就在想,我现在学了,对我的工作也没有用处,那我学他干啥呢,这些和桌面软件八辈子打不着的关系

    感觉 C++可枯燥无聊,不知道如何下手,因为选择太多了,方向太多了,还不能通用

    大家写 C++都是怎么样呢

    56 条回复    2023-12-04 09:59:41 +08:00
    kilasuelika
        1
    kilasuelika  
       2023-12-02 16:40:08 +08:00 via Android   ❤️ 2
    从问题出发,不要从知识出发。首先考虑想解决什么问题。比如我自己工作中用的是 c#,但会用到并行编程的内容,我就会特别仔细地学习 c++中并行编程的内容。然后切换到 c#不也就是换个语法,基本思路是不变的。
    thiiadoewjwe
        2
    thiiadoewjwe  
    OP
       2023-12-02 16:44:11 +08:00
    @kilasuelika 我面临的问题,估计是传统工业机械上的专业业务知识,这种没有任何的动力去学,感觉也很枯燥,并且换个行业将来不做桌面端开发了,这些学了也都没用了,所以就觉得头大
    wjx0912
        3
    wjx0912  
       2023-12-02 16:49:06 +08:00
    程序经常崩溃。没啥成就感。还是撸 js 代码快乐
    bfjm
        4
    bfjm  
       2023-12-02 16:56:53 +08:00   ❤️ 5
    和编译环境斗争 和各种踩内存斗争 和未定义行为斗争 第三方库永远不能满足自己的需求 总想着自己造轮子
    Kikuna3321
        5
    Kikuna3321  
       2023-12-02 17:02:31 +08:00   ❤️ 1
    十年前我刚入行那会儿大家就都在调侃 MFC=没饭吃,不过工业界看起来很多时候还是离不了它。
    成就感这东西跟语言无关啊,比如我之前接过 Java web 项目升级的小活,在很多 Java 经验者看来估计就是个玩具级别的小项目,但是我一个只懂简单 java 和 sql 语法的人最后顺利给完成交付了,还是挺有成就感的。
    现在整天跟着甲方需求跑,在祖传的屎山上不停的堆屎,反正别出事故工资正常发就行,成就不成就的无所谓了
    AnroZ
        6
    AnroZ  
       2023-12-02 17:06:03 +08:00
    用 C++写过不少产品,每个产品初成的时候都挺有成就感的。

    我觉得写 MFC 和写 C++不是一回事,MFC 太老了,std 库都不用,MVC 都不分 。

    不过,MFC ( win32 )的消息机制也算经典了,作为入门挺有用的。
    thiiadoewjwe
        7
    thiiadoewjwe  
    OP
       2023-12-02 17:08:54 +08:00
    @Kikuna3321 没有成就感就觉得对未来没有期待,会很焦虑和丧
    thiiadoewjwe
        8
    thiiadoewjwe  
    OP
       2023-12-02 17:09:36 +08:00
    @AnroZ 大佬用 C++都做什么技术方向呢,现在不知道自己感兴趣的方向在哪里了
    mantouboji
        9
    mantouboji  
       2023-12-02 17:10:41 +08:00
    那你可以考虑去学点儿其他的挣钱手段了,甚至考虑一下转行当 PM 、政工人员、领导、工会干部等等。
    cnbatch
        10
    cnbatch  
       2023-12-02 17:14:38 +08:00
    就以桌面端软件来讲,其实可以自己再学学 Qt 或 wxWidgets ,这两个是跨平台 GUI 框架,总比钉死在 MFC 好得多。

    我工作主要是 C# ,这也是横跨多个领域的通用语言,能做普通桌面软件、能做网页开发、还能做游戏,但并不代表必须全部学明白。就比如我当前岗位并不需要使用 C# 做游戏开发,私底下我也没自制游戏,那自然就用不到 C# 的游戏开发知识。

    C++同理(其实对任意语言都同理),对于从来接触不到的领域,用不到相关知识一点都不奇怪。这并不是语言枯燥无聊,而是“日常拧螺丝”带来的枯燥无聊。

    打个不太恰当的比喻:烤鱼店的某个厨师,每天的工作内容就只做烤鱼,别的一概不会,他感到枯燥无聊,那能够说“XX 菜系厨师枯燥无聊”吗?
    thiiadoewjwe
        11
    thiiadoewjwe  
    OP
       2023-12-02 17:18:11 +08:00
    @cnbatch 谢谢老哥回复,有时候又觉得桌面端没什么前景,所以学习 QT 的兴趣也低了下来,总觉得自己不会一直在桌面端工作,想着搞点什么先进的技术或者风口上的,现在看看是自己太浮躁了,有点好高骛远了,总是在羡慕其他人的技术方向
    dearmymy
        12
    dearmymy  
       2023-12-02 17:18:35 +08:00
    还抱着 mfc 不放手,也不学新东西,你是真不怕失业啊。好歹学个 qt 也行。你随便找个东西做个 qt 的可视化 gui 就可以啊。之前看论坛不是有人写 redis 客户端之类的。你也可以挑个类似的写个啊。
    thiiadoewjwe
        13
    thiiadoewjwe  
    OP
       2023-12-02 17:20:14 +08:00
    @dearmymy 现在就是不知道学啥的焦虑状态中,总想找个前景好的,学习路线明确的然后以后找这样的工作,确实可以先学着 QT ,但又觉得学习 QT 对现在的工作也没什么用,毕竟现在用的是 MFC
    cnbatch
        14
    cnbatch  
       2023-12-02 17:27:46 +08:00
    桌面端有没有前景,靠的是该软件提供的内容。

    就我个人知道的,某些游戏的玩家在制作 mod 的时候会用到特定的开源软件,并且一定是桌面端软件。总不能搞个网站点点鼠标把本地内容扔给服务器再操作吧,渲染费用谁出?硬盘费用谁出?玩家肯定不愿意出。那只能提供本地桌面软件,使用本机的资源。
    或者弄成命令行版本让玩家自己输入命令打包一堆文件?大多数玩家并不是程序员、运维,他们很反感使用命令行,怎么办?那只能提供桌面软件。
    Leonard
        15
    Leonard  
       2023-12-02 17:45:00 +08:00
    不如用 C++写游戏?
    chashao
        16
    chashao  
       2023-12-02 17:49:25 +08:00
    但是图形学能做游戏还是很有意思的呀
    lesismal
        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++ 那样锋利的快感
    laminux29
        18
    laminux29  
       2023-12-02 18:26:37 +08:00   ❤️ 1
    当你能用 CPP 写你说的那些东西,并且高性能、稳定、高可控、资源使用量少的时候,你已经站在程序员之巅了。

    高处不胜寒,到了那一步,的确没啥成就感。
    Kikuna3321
        19
    Kikuna3321  
       2023-12-02 18:29:27 +08:00
    @thiiadoewjwe 那就只能尝试跳出现在的舒适区去别的赛道了,微软这些老玩意儿用久了再换用别的确实会不习惯,而且同意楼上的说法,写 MFC 和 C++不是一回事儿,深耕 Win32 API/MFC 这套的话,大概主要也就走安全这条路了
    kilasuelika
        20
    kilasuelika  
       2023-12-02 18:36:11 +08:00 via Android
    @thiiadoewjwe 这样的话要么考虑换专业,要么从当前的业务中去挖掘一些通用的点。比如系统架构,如果让你来设计系统,你会怎么进行架构,这些架构要怎么实现。又比如怎么进行性能优化。
    kilasuelika
        21
    kilasuelika  
       2023-12-02 18:44:42 +08:00 via Android   ❤️ 1
    @thiiadoewjwe 而且我感觉你可能要先解决焦虑的问题。带着焦虑学,只会越学越焦虑。心理学上有个经典的原理,就是感受不是经历带来的,而是对经历的看法造成的。你感到焦虑,是因为你对某些事的看法。这些事是什么,你是怎么看待的,这些看法是唯一的吗。这些都是值得思考的点。
    tyzandhr
        22
    tyzandhr  
       2023-12-02 19:21:25 +08:00 via Android   ❤️ 1
    写 mfc 算写 c++吗?
    enchilada2020
        23
    enchilada2020  
       2023-12-02 19:36:19 +08:00 via Android   ❤️ 1
    @lesismal 本来能写到性能极致就超有成就感了😎
    archxm
        24
    archxm  
       2023-12-02 19:44:58 +08:00 via Android
    c++以及 mfc 没必要深入,能用即可
    smallboy19991231
        25
    smallboy19991231  
       2023-12-02 19:58:40 +08:00 via iPhone
    你不学计算机科学的?
    smallboy19991231
        26
    smallboy19991231  
       2023-12-02 19:58:48 +08:00 via iPhone
    你不学计算机科学的吗?
    newshbb
        27
    newshbb  
       2023-12-02 20:25:48 +08:00   ❤️ 1
    写了半辈子 C++,但不妨碍广泛涉猎
    dw2693734d
        28
    dw2693734d  
       2023-12-02 20:30:34 +08:00
    语言只是工具,不要沉迷于工具。

    就像金刚经里面讲的:“我所說法, 如筏喻者, 法尚應捨, 何況非法。 ”

    通过船筏上岸了之后,还要继续背着船筏在陆地行走吗?只是工具而已,问题才是关键。
    yolee599
        29
    yolee599  
       2023-12-02 20:40:34 +08:00 via Android
    成就感都和其他语言差不多,就是老想自己造轮子,然后陷进去
    omniversia
        30
    omniversia  
       2023-12-02 21:20:39 +08:00
    成就感是来源于解决了什么问题,还有周遭环境给予的反馈
    AnroZ
        31
    AnroZ  
       2023-12-02 21:41:41 +08:00
    @thiiadoewjwe
    C/C++我们用于写底层组件和数据服务,比如:各种通信协议/驱动、网络库和数据库之类的。

    至于方向,每个人都得自己找,可以想想自己来写代码的初衷,想学什么想做什么,找一个点去深挖下。

    但,不可否认的是,MFC 这技术太局限了,是不适合长期投入。

    我们的 HMI 程序都已转.NET 和 HTML5 了
    dragonflylee
        32
    dragonflylee  
       2023-12-02 22:02:52 +08:00
    P2P 软件既是客户端又是服务器(很多下载工具都使用了 P2P 技术)
    https://github.com/ocornut/imgui 基于图形 API 编写桌面软件的界面库 (关键词 图形学)
    IM 聊天软件大部分都会把聊天内容记录到本地数据库中,比如 SQLite

    实际上都和桌面软件有关系的
    jones2000
        33
    jones2000  
       2023-12-02 22:08:41 +08:00
    当你拿工资单的时候, 发现把 js 高出一大截的时候, 就有成就感了。
    bao3
        34
    bao3  
       2023-12-02 23:27:21 +08:00
    我给你举个例子,比如你要实现一个 EtherNet IP 到 ProfiNet 的转换,从解决问题出发,你可以用 python 、甚至可以用 php ,但当你拿出 C/C++,与前面 2 种语言相比,你就从工控玩家变成工控专业人才。
    再比一些国产设备的固件研发。
    amosasas
        35
    amosasas  
       2023-12-02 23:51:03 +08:00
    毕设要改 C++的 TF 源码,没有任何成就感,只想赶紧弄完毕业万岁。所谓技术带来成就感,在你朝这种社会条件下是不太可能的。。。
    fgwmlhdkkkw
        36
    fgwmlhdkkkw  
       2023-12-03 00:13:59 +08:00
    歪下,有谁能出个视频讲下 coro 和 stdexec 啊?
    ouou0701
        37
    ouou0701  
       2023-12-03 02:31:56 +08:00
    我刚毕业的时候写 mfc 后面搞 cocos2dx 然后搞 unity 去了,想问下现在 mfc 还有得搞吗
    silvernoo
        38
    silvernoo  
       2023-12-03 03:16:20 +08:00
    写 dart 有成就感,现在写 Java 一言难尽
    testphase
        39
    testphase  
       2023-12-03 05:58:35 +08:00 via iPhone
    @tyzandhr 老哥 msvc 这几年对 std 的支持可以说很完备了 紧跟标准库的步伐,business Layer 全用标准 c++的话是可以在 linux 下编译的
    thorneLiu
        40
    thorneLiu  
       2023-12-03 06:23:26 +08:00 via Android
    用 c++和 cuda 写 AI 高性能推理框架 ing
    panlatent
        41
    panlatent  
       2023-12-03 06:56:43 +08:00   ❤️ 1
    这种成就感来得快去的也快吧,远没有解决问题的成就感来的持久
    mahaoqu
        42
    mahaoqu  
       2023-12-03 07:28:43 +08:00   ❤️ 2
    C++98/03 ,C++11/14/17 ,C++20/23 可以说是完全不同的三门语言
    levelworm
        43
    levelworm  
       2023-12-03 08:23:08 +08:00 via Android
    这种工作哪里能找呢?
    Venow
        44
    Venow  
       2023-12-03 09:45:24 +08:00
    @thorneLiu 有打算上传到 github 的计划吗?
    loken2020
        45
    loken2020  
       2023-12-03 10:08:25 +08:00   ❤️ 1
    学音视频,WebRTC 。
    willm
        46
    willm  
       2023-12-03 10:11:14 +08:00 via iPhone
    不管什么语言,成就感最终还是要看工资
    wuzhewuyou
        47
    wuzhewuyou  
       2023-12-03 12:44:39 +08:00
    赞楼上,早过了有成就感的年龄,就是一无情的编码机器
    roycestevie6761
        48
    roycestevie6761  
       2023-12-03 13:41:06 +08:00
    不管什么语言,成就感最终还是要看工资
    写 vb 写 php 能写到大几万的更牛逼
    andyzhshg
        49
    andyzhshg  
       2023-12-03 13:50:44 +08:00 via iPhone
    09 年毕业的时候搞 MFC 的桌面软件,那个时候就都在说 MFC 已经是过时的技术了,结果现在还是有人在用...
    但话说回来,桌面软件,无论是 MFC 还是 QT 或其他,也不过就是那薄薄一层框架,核心还是软件自己的业务,这才是核心。如果业务本身就没有前途,趁早想点别的方向就好了,毕竟公司不是按照语言或者框架的新旧好坏算钱的。
    还是放宽眼界,多尝试点新东西,总是没坏处的。C++能整明白,也不用担心别的学不会
    qgmzmy
        50
    qgmzmy  
       2023-12-03 14:28:11 +08:00 via Android
    没有
    dayeye2006199
        51
    dayeye2006199  
       2023-12-03 14:49:15 +08:00 via Android
    我不会的是 c➕➕吗?我不会的是图形学,数据库,系统编程,高性能计算

    这些玩意儿都需要 C➕➕,但光会 c➕➕根本没用
    yzbythesea
        52
    yzbythesea  
       2023-12-03 16:05:45 +08:00
    工作能用 C/Cpp 的岗位做的产品一般都是非常核心的(高并发,高性能)。不是语言定义了你的成就感,而是你的工作方向和知识领域定义了。
    offswitch
        53
    offswitch  
       2023-12-03 22:41:45 +08:00
    以前我也是这种想法,现在就想着赚钱,代码无所谓的。
    encro
        54
    encro  
       2023-12-04 08:56:14 +08:00
    现在基本只会因为自己做的产品“用户体验成为业界领先”以及“开创业界新领域”而开心。
    Narcissu5
        55
    Narcissu5  
       2023-12-04 09:57:56 +08:00
    去招聘网站上找职位,找你这个方向上更高一级薪水的 jd ,看看要些什么
    PepperEgg
        56
    PepperEgg  
       2023-12-04 09:59:41 +08:00
    我以前也是做 MFC 的,不过那是第一份工作了。刚毕业做了两年想法就变了,就开始倒腾 qt ,qt 倒腾了两三个小玩意在公司用。然后就跳槽了。跳槽之后去找个工作是专门搞 qt 的。又搞了几年就疫情了。然后换工作,去了老家小公司了,目前又做了两三年,做的很杂。前端,驱动,网络部分都有涉猎了。现在的感觉就是,一定要拓宽视野,千万不要局限于做 mfc 界面那一套。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5823 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 06:22 · PVG 14:22 · LAX 22:22 · JFK 01:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.