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

找了一圈,没有 C++的专题,现在这门语言失传了吗?

  •  
  •   dashu88089 · 2023-11-20 11:49:13 +08:00 · 6243 次点击
    这是一个创建于 370 天前的主题,其中的信息可能已经有所发展或是发生改变。
    现在编程好像 JAVA 、Python 居多,好像 C++的程序员很少了。
    作为曾经以这门语言为生的程序员,看到这种现象真是有点心酸。
    54 条回复    2024-04-10 14:01:53 +08:00
    leeside
        1
    leeside  
       2023-11-20 12:27:52 +08:00 via iPhone
    岗位少人也少 而且学习难度还是挺大的
    SHIINASAMA
        2
    SHIINASAMA  
       2023-11-20 12:50:23 +08:00
    岗位少,而且感觉对新人的接纳程度比较低,对具体细分方向要求高。24 年 6 月就要毕业,现在还找不到实习...
    dashu88089
        3
    dashu88089  
    OP
       2023-11-20 13:59:35 +08:00
    C++主要做桌面应用端,后端,但貌似现在主流的框架,都是 WEB 端和 APP 端居多了。
    hhjuteman
        4
    hhjuteman  
       2023-11-20 14:20:33 +08:00
    什么专题,不太明白楼主的意思
    lsongzhi
        5
    lsongzhi  
       2023-11-20 14:48:42 +08:00   ❤️ 1
    上知乎或者这里,起个 Rust 引战标题,你就可以钓到野生 C++ 程序员了。
    dashu88089
        6
    dashu88089  
    OP
       2023-11-20 15:19:24 +08:00
    @hhjuteman 就好奇现在程序员中,有多少还在坚持搞 C++。
    dashu88089
        7
    dashu88089  
    OP
       2023-11-20 15:22:01 +08:00
    @hhjuteman 好像版主把我的帖子迁移到 C++这个板块了。哈哈,好奇怪,从首页居然找不到
    hhjuteman
        8
    hhjuteman  
       2023-11-20 15:39:44 +08:00
    @dashu88089 还好吧,有项目经验,基础过硬随便吃饭,人/坑位的比例感觉还好。本 C++程序员觉得 c++20,23,26 的这些东西要是真的搞好了前途一片光明
    dashu88089
        9
    dashu88089  
    OP
       2023-11-20 15:41:05 +08:00
    @hhjuteman 可能每个公司不一样把,我们公司的 C++,好多选择了转 JAVA 、转管理,我就是后者。
    Kikuna3321
        10
    Kikuna3321  
       2023-11-20 15:48:21 +08:00
    一直在吃 C++这碗饭,也没有换方向的打算。桌面端除了一些要求性能的专业软件现在很少走 C++原生开发了,基本都是 web 给你打个包,现在主要是操作系统、游戏引擎这些地方离不了 C++,但很多游戏公司面试的时候通篇 C++,进去可能就是做功能写写 lua 脚本。我念书的时候也没想到自己毕业后入了这个行当,毕竟我大一 C 语言考 40 分的人😂
    openmm
        11
    openmm  
       2023-11-20 16:10:55 +08:00
    c++岗位少人少,但还是有口饭吃的
    cnbatch
        12
    cnbatch  
       2023-11-20 16:23:49 +08:00
    我主要靠 C# 吃饭,但也写 C++。
    需要做桌面应用时,总会有些地方离不开 C++的。
    ( C++98 除外,我拒绝使用 C++98 )

    我自己的个人项目写得很烂,无论 C++ 还是 C# 都写得烂,为了跨平台索性用 C++。主要是现在 C++ 新标准写起来确实比以往简便了很多。
    mightybruce
        13
    mightybruce  
       2023-11-20 16:34:32 +08:00   ❤️ 1
    c++ 一一直都饭吃,只是水平不到家吃不上饭而已。
    有的开发只能用 c++, 不要提什么垃圾的嵌入式、桌面开发。这在 c++ 中都是末流。

    你用的编译器很多都是是 c++ 做的,比如 jvm , 知道华为、阿里 有专门 jvm 开发团体吗?
    大型服务器负载均衡网关一堆 比如 envoy

    关系数据库基本全是 c++ 为主 比如 mysql, postgresql, oceanbase

    音视频 ffmpeg, live555 一堆了。



    语言只是语言,基础设施开发要求性能的不是 c++, 就是 rust ,其他语言只能做控制平面的东西.
    c++ 基本要求科班,并且像数据结构算法以及操作系统等知识扎实的人才行。



    另外我要告诉你, 只有 c++ 的很多项目才经得住时间考验,像 Live555 都快 20 年了,还在更新被使用。
    DOLLOR
        14
    DOLLOR  
       2023-11-20 16:35:08 +08:00
    失传倒不至于,只是 C++多年以来都是给人以非常难的印象,再加上网络上各种段子,而且 C++相关的更现代一点的入门资料也不多,让许多人望而却步了。
    tool2d
        15
    tool2d  
       2023-11-20 16:36:21 +08:00
    游戏行业完全离不开 c++的,别的语言没办法胜任高性能的需求。

    但是岗位偏少是真的,似乎不太欢迎没经验的新人。
    omniversia
        16
    omniversia  
       2023-11-20 16:37:49 +08:00
    写业务的程序员一般用不到 c++
    Smilencer
        17
    Smilencer  
       2023-11-20 16:39:34 +08:00   ❤️ 6
    用 C++ 的一般没空来这里摸鱼
    InkStone
        18
    InkStone  
       2023-11-20 16:39:37 +08:00
    毕业之后一直在写 C/C++/Rust 。感觉还是挺常用的……底层模块还是跑不掉
    shellcodecow
        19
    shellcodecow  
       2023-11-20 16:42:58 +08:00
    @Smilencer #17 哈哈哈哈
    topLangyu
        20
    topLangyu  
       2023-11-20 16:46:21 +08:00
    编程语言排名上 C/C++使用人数和热度都不低,所以用 C/C++的人也不会少。只是并不在那个圈子。
    mightybruce
        21
    mightybruce  
       2023-11-20 17:01:00 +08:00
    你说的 web 开发,用 c++ 做 属于得不偿失。web 开发是敏捷开发,c++ 一般大工程可不像业务开发那样迭代那么快的。另外 c++ 由于 10 年前等各种历史原因,早就错过了 web 这些。 在前后端分离的这 10 年,才让 c++ 在 web 方面能做,但是这种业务开发要求修改快(比如 java dto, dao 、do 、vo 层,直接填代码),性能并不要求多高(比如 java 业务能有个几百上千 qps 已经是很不错了,netty 的并发也就及格水平)
    xdeng
        22
    xdeng  
       2023-11-20 17:04:36 +08:00
    有可能忙着找 bug
    netabare
        23
    netabare  
       2023-11-20 17:10:06 +08:00 via iPhone   ❤️ 4
    c++不像前后端娱乐圈那样整天整烂活,自然没热度了
    0n2ynu
        24
    0n2ynu  
       2023-11-20 17:10:37 +08:00
    设计有多复杂搞多复杂, bug 要多难找有多难找, 程序员不舒服就不让他舒服, 搞完他自己就会删库跑路.
    dashu88089
        25
    dashu88089  
    OP
       2023-11-20 17:34:12 +08:00
    @mightybruce 总结的很到位!
    janus77
        26
    janus77  
       2023-11-20 17:47:22 +08:00   ❤️ 3
    要我说这是 C++自己的固有缺陷
    很多搞底层编程的人天天说,自己写的东西可以几年、几十年不变。这确实很牛逼
    但是有另一面,那就是如果这些东西一直不变,那还需要你来做吗?第一个写完的人基本上就把工作做到 90%了,剩下的只剩修 bug 。所以也没有那么多需求,更没有那么多人去学了。
    那你们为什么还要天天感叹人少呢?这不是双标吗
    EricTing
        27
    EricTing  
       2023-11-20 17:51:33 +08:00
    @0n2ynu 满嘴顺口溜 hhh
    wjx0912
        28
    wjx0912  
       2023-11-20 17:53:47 +08:00   ❤️ 1
    c++太难了,以后传男不传女
    KanzakiHAria
        29
    KanzakiHAria  
       2023-11-20 17:54:40 +08:00
    用虚幻的不是用 c++吗?
    Kikuna3321
        30
    Kikuna3321  
       2023-11-20 18:30:48 +08:00
    @KanzakiHAria 原生是 C++,但很多公司会包一层脚本(一般是 lua ),组里大部分都是写脚本做功能的,虽然面试都是考 C++面进去的。
    maxssy
        31
    maxssy  
       2023-11-20 18:31:44 +08:00
    @cnbatch 最近公司让我写上位机程序, 现在啃 C++ primer plus😂
    maxssy
        32
    maxssy  
       2023-11-20 18:37:32 +08:00
    @Kikuna3321 #10 公司让我写上位机程序, 但是以前没做过桌面端. 但是身边的朋友同事都是写 web 的, 现在独自啃 C++ primer, 能加个 V 吗? 现在好慌啊😂
    Kikuna3321
        33
    Kikuna3321  
       2023-11-20 18:47:27 +08:00
    @maxssy 你们要求的上位机程序是那种窗口式的桌面应用程序吗,用 C++的话要么用 Windows 原生的 MFC 要么用 QT ,你还得单独学这些 API ,有啥必须用 C 艹的理由吗?最快的其实是用 winform ,直接拖控件 C#写逻辑,上手巨快。C++ primer 适合有一定基础的人看,很多人当词典用的,C++ primer plus 这本书相对没那么难啃
    cnbatch
        34
    cnbatch  
       2023-11-20 19:01:23 +08:00
    @maxssy 如果要求不高,单纯只需要 GUI 程序的话,其实 C# + WinForm 的开发效率会更高。

    我用 C++写桌面程序,更多的是因为会调用到 Win32 API ,像是改桌面背景、动态适配多显示器多 DPI 、管道通讯之类的。

    C# 也能做,只不过我嫌弃 P/invoke 在代码内显得突兀
    stillwu
        35
    stillwu  
       2023-11-20 19:07:19 +08:00
    太应景了吧对我,我前两天刚下决心要认真入坑 C++,这里就来了一篇劝退吗
    cnbatch
        36
    cnbatch  
       2023-11-20 19:13:10 +08:00
    @stillwu 其实你可以继续入坑。毕竟,没试过的话,哪里会知道适不适合自己呢
    mikewang
        37
    mikewang  
       2023-11-20 23:22:22 +08:00   ❤️ 1
    因为 C++程序员比起语言本身,更关注自己领域内的事情。以我个人感受来说,工作里写的 C++也只能说是 C with class ,用到的特性估计占全部的 5%都不到。再加上大家都喜欢造轮子,都不用标准库的函数,就更没有什么好交流的了(笑)
    dayeye2006199
        38
    dayeye2006199  
       2023-11-21 01:39:36 +08:00 via Android
    大厂里面有一堆写高性能计算的,但是写这个玩意儿只会 cpp 也不行,还得懂点高性能计算的一般选择,怎么排查热点之类的技能
    sl0000
        39
    sl0000  
       2023-11-21 08:05:19 +08:00
    搞 C++的基本都会几门外语, 毕竟 C++活少, 开发效率低, 但是某些地方还必须要用.
    CodeTracker
        40
    CodeTracker  
       2023-11-21 08:59:43 +08:00
    找不到 cpp 后端工作的 24 届双非应届生路过,感觉 C++客户端可能入行会好点,后端似乎要求太高。
    dashu88089
        41
    dashu88089  
    OP
       2023-11-21 09:08:41 +08:00
    @CodeTracker 后端有开发经验会更有优势,而且岗位相对应用端少。
    byte10
        42
    byte10  
       2023-11-21 10:01:09 +08:00
    @lsongzhi 🤣 笑死。
    nevermoreluo
        43
    nevermoreluo  
       2023-11-21 10:17:12 +08:00
    233333 没看到,大概是大家都在忙于解决各种编译 bug 吧。。。。

    先叠甲,本人至今都不敢说自己会 C++,我就是个调包侠。
    但是 C++写 web ,确实都是眼泪,对于我这种水平一般啥啥脚本语言都调一点的调包侠而言。
    C++的 webframework ,就方便易用性而言离其他语言的 web 框架真的还差好远。
    什么 orm, db merge, middleware, doc 都是稀罕玩意儿,别问公司前辈,问就是之前项目用到很少都是自己手组 HTTP 协议包。。。

    其实就我这种调包侠而言,最痛苦的是至今没有一个合适的包管理。
    注意我说的不是说现在市面上没有包管理,而是百花齐放,vcpkg ,conan ,甚至啥都没有直接 cmake ,make ,grunt 都很好,虽然很多库构建起来有千奇百怪的问题,但我自己开发够用了。
    但是当所有人都统一用一个包管理的时候,我想大抵会减少很多 5 个项目 6 个 json 库 4 个网络库这种奇葩场景了吧
    大抵不会有 grunt 里面大佬 git clone 一把梭,拉下来发现拉到最新的编译不过的问题了吧


    总之,我感觉这东西适合有非常详尽的规范,才好用,其实公司业务使用语言特性 10%都用不到,所以我觉得写代码都是其次的,规范才是重要的,但是我这种非科班自学的,自己的一套都要摸索权衡,遑论规范前辈同事了。
    像我这种调包侠就算会了 C++活少也是有道理的,大佬们给的包调的不舒服,自己写出货又很慢,公司再一催 deadline ,只好简单实现功能了事,后来者看到想扩展怕是难的。

    写这么多其实就是吐槽罢了,我也没啥能力改变现状,只能尽量写好文档,搞好 dev flow 省的 n 年后来的人和我一样,拿到项目编译都要一堆事难搞。
    还是学点 rust ,修(死)身(去)养(活)性(来)吧
    c2const
        44
    c2const  
       2023-11-21 10:17:50 +08:00
    现在我 C++只会写 C with class 了 :(
    vincent7245
        45
    vincent7245  
       2023-11-21 12:03:56 +08:00
    还是就业市场有关系吧。

    我们公司桌面端早就放弃 C++了,前段时间把网络层功能都用 Go 重写了。弃用 C++主要原因是:
    1 不好招人
    2 开发成本,包括开发周期和 bug 安全性等问题,C++ 是真比不上其他语言

    现在除了底层或者对性能有极致要求的场景必须用 C++( Rust 这几年也在蚕食 C++市场),其他场景都有更好的替代品,从公司的角度肯定是效率优先,C++ 不受待见也是必然的。
    dashu88089
        46
    dashu88089  
    OP
       2023-11-21 13:50:01 +08:00
    @vincent7245 我们公司架构都换了,以前的架构 C++是主力,现在的架构是 JAVA ,所以走的走,转岗的转岗,挺唏嘘的。
    PaulSamuelson
        47
    PaulSamuelson  
       2023-11-21 14:25:10 +08:00
    做 C++还有时间逛专题、摸鱼?
    th3
        48
    th3  
       2023-11-21 15:00:29 +08:00
    平生求一败而不可得,唯隐居深谷,以雕为友,诚寂寥难堪也
    dashu88089
        49
    dashu88089  
    OP
       2023-11-22 09:08:52 +08:00
    没想到把好多隐藏的 C++大佬炸了出来,看来 C++还是存在的,只是隐藏在各大公司的核心部门中,Hahhha
    maxssy
        50
    maxssy  
       2023-11-22 10:58:45 +08:00
    @Kikuna3321 #33 我现在首先要学如何与串口(RS232)通信, 还有 QT 不是 C++的库吗? 就算 python 能用 QT 是不是也是调用 C++编译好的文件吧?
    Kikuna3321
        51
    Kikuna3321  
       2023-11-22 14:43:14 +08:00
    @maxssy PyQt 其实相当于用 python 在 Qt 上包了一层,API 都是相似的,建议直接用原生 Qt ,照着网上的例子上手写就行,Qt 自带的库其实很丰富,而且 Qt 类( Q 打头的)自带内存管理,使用起来相当还算方便。不过 Qt5 和 Qt6 的 API 不兼容,这个学习的时候要注意⚠️
    shermie
        52
    shermie  
       362 天前
    @stillwu 我已经下了 5 次决心了 这次有了 gpt 应该是真的有决心了 嗯 是的
    levelworm
        53
    levelworm  
       355 天前 via Android
    @mightybruce 我这种非科班的的确觉得有些难,倒不是语言特别难,而是做的项目都需要有些基础。

    不过也有简单的玩具就是了,比如模拟器啥的。
    achira
        54
    achira  
       228 天前
    @Smilencer 哈哈哈哈哈哈
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2737 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 10:01 · PVG 18:01 · LAX 02:01 · JFK 05:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.