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

各位写 C++有成就感吗

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

    我目前工作是 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  
       364 天前   ❤️ 1
    写了半辈子 C++,但不妨碍广泛涉猎
    dw2693734d
        28
    dw2693734d  
       364 天前
    语言只是工具,不要沉迷于工具。

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

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

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

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

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

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

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