V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
SWALLOWW
V2EX  ›  问与答

c#转 c++,各位觉得如何

  •  
  •   SWALLOWW · 2022-09-30 15:17:15 +08:00 · 2591 次点击
    这是一个创建于 546 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一直做得 c#桌面端,不太清楚其他

    最近领导说明年准备项目重构,统一用 c++技术栈

    想问一下会不会从一个坑跳进另一个坑啊,

    就从个人发展角度来说吧,大家推荐吗?还是直接学个 go 看看能不能活水到后端

    跳槽的话,目前我知道 c++ qt 目前就业薪水是比 c#高很多的,用 c++客户端的一般什么厂啊- -个人不太能加班

    39 条回复    2022-10-02 21:56:08 +08:00
    msg7086
        1
    msg7086  
       2022-09-30 15:20:45 +08:00
    C++入门难,深入更难,写出漂漂亮亮的代码难上加难。
    ipwx
        2
    ipwx  
       2022-09-30 15:21:39 +08:00   ❤️ 1
    我觉得你转 JS 都比转 C++ 好。
    SWALLOWW
        3
    SWALLOWW  
    OP
       2022-09-30 15:28:37 +08:00
    @ipwx 我现在想要不转前端,要不转后端,但是啥都得自己面试,活水,c++是个顺其自然的机会,努力程度低一点。哈哈哈
    SWALLOWW
        4
    SWALLOWW  
    OP
       2022-09-30 15:29:47 +08:00   ❤️ 1
    @msg7086 是的,我是在吃饭的时候别人说 c++做东西慢,而且是吐槽的是一个职级比我还高的资深大头兵
    msg7086
        5
    msg7086  
       2022-09-30 15:31:49 +08:00
    慢倒也不至于,你可以看看 modern C++,比如 C++23 那些还没发布的特性。
    不过一般企业里应该不会那么激进,所以最后还是得去用又臭又长的古典写法。
    a33291
        6
    a33291  
       2022-09-30 15:39:49 +08:00
    没准后头你们领导会发现转 c++是个坑,又不得不退回 C#🤣

    至于应不应该转有很多考量,你也没写领导是基于什么原因要转 c++.
    但是个人看法(我也不写 c++,但是能看懂和修改),c++综合开发效率还是低于 C#的,除非有一些地方实在绕不过(比如甲方要求),那没法.
    所以如果一时发热觉得 C++高端所以转,那我预测多半会失望.
    anonymousar
        7
    anonymousar  
       2022-09-30 15:40:23 +08:00   ❤️ 1
    用 c11 以后的版本, 拿来写业务我不知道有什么难的。基础语法都很精炼, 该有的基本都有了。
    SWALLOWW
        8
    SWALLOWW  
    OP
       2022-09-30 15:49:55 +08:00
    @a33291 这不太是我考虑的点,总的来说,公司和产品跟我有一定的关系- -但是不能强绑定,我觉得我 c#桌面 wpf 这一套没啥提升的了,现在也是温水煮青蛙,不如换个其他的也学习一下,总的来说还是为了将来换工作
    wudicgi
        9
    wudicgi  
       2022-09-30 15:49:57 +08:00
    C# 能做的东西为啥还要去用 C++
    有性能问题的话把一部分代码用 C 或 C++ 写成 dll 就行了
    SWALLOWW
        10
    SWALLOWW  
    OP
       2022-09-30 15:52:39 +08:00
    @anonymousar 那您觉得现在是 c++桌面好,还是前端,还是后端- -好像是个老生常谈的问题,哪个钱 /time 高一些,对于大部分的普通人情况
    Vindroid
        11
    Vindroid  
       2022-09-30 15:53:06 +08:00
    qt 好写,但 c++难写啊,c++的面试问题我想想都觉得害怕
    SWALLOWW
        12
    SWALLOWW  
    OP
       2022-09-30 15:53:28 +08:00
    @wudicgi 两个原因,第一个是跨平台,第二个是统一一下整个组的技术栈
    SWALLOWW
        13
    SWALLOWW  
    OP
       2022-09-30 15:53:49 +08:00
    @Vindroid 目瞪狗呆- -
    ipwx
        14
    ipwx  
       2022-09-30 15:56:34 +08:00
    @SWALLOWW 你也不用目瞪狗呆,C++ 确实难写。这也是为啥我说你还不如转 JS 。
    a33291
        15
    a33291  
       2022-09-30 15:56:59 +08:00
    @SWALLOWW #8 如果只是个人考虑赚钱的话,我的理解这个顺序 研究(比如各种算法,各大公司研究院)>项目管理(领导项目或指定规划,写文档这一类)>高级开发(含架构师)>普通开发
    在开发里的话,目前这几年前端需求量大,待遇好(至少平均比 C#高),是一个方向.但是恕我直言,前端半吊子非常多,很多水平不如我这个后端(基于公司同事),另外转前端的话也算是跨度较大了,初期的话你不一定好找合适的坑位.
    其他方向,比如 c++,这个大家都知道上限更高门槛也更高,就业市场我不了解,我们另一个组流媒体是 c++开发.
    quan01994
        16
    quan01994  
       2022-09-30 15:59:16 +08:00
    如果要跨平台,Flutter,Rust,JS ,都可以,为什么要选择 C++ 。
    quan01994
        17
    quan01994  
       2022-09-30 16:01:40 +08:00
    如果你还想写 C# 也可以使用 Maui 跨平台,现在已经 release 了,应该也能用。 如果为了工资高,建议跳槽 。
    rusteer
        18
    rusteer  
       2022-09-30 16:12:21 +08:00
    我说 rust ,应该没人喷我吧:)
    zjsxwc
        19
    zjsxwc  
       2022-09-30 16:26:54 +08:00
    c# 的 wpf 搞 GUI 我觉得挺先进的,而且也有类似 wpf 的 [avaloniaui]( https://avaloniaui.net/ ) 能跨 linux 与 macOS 。

    反观 qt 那个 qml 写法真丑,而用 js 写 UI ,还不如让我用 electron 搞 GUI ,有复用业务的需求也可以通过编译成 wasm 或者 n-api 模块来复用。

    抛开使用 qt 的 c++生态需要花钱买授权外,c++本身就不好团队协作与把控。
    geekfxxk
        20
    geekfxxk  
       2022-09-30 18:19:42 +08:00
    用 C++画界面吗??
    leavic
        21
    leavic  
       2022-09-30 18:25:29 +08:00
    看起来都是 C ,其实确实两个世界的语言。
    whi147
        22
    whi147  
       2022-09-30 18:26:34 +08:00 via iPhone
    qt 需要买版权,c#做 gui 不香吗
    dongfang
        23
    dongfang  
       2022-09-30 18:39:12 +08:00
    太扯淡了,赶紧润吧。
    2022 年了,有几个公司有 C++客户端的新项目。
    除了一些老项目,对性能敏感的,没人用 C++写客户端。
    现在跨平台 UI 都是 web 技术栈、flutter 什么的。
    dongfang
        24
    dongfang  
       2022-09-30 18:40:47 +08:00
    等你把 C++学明白了,别人用 web 已经把项目做完了
    ysc3839
        25
    ysc3839  
       2022-09-30 19:15:30 +08:00 via Android
    个人认为不难,当然这是看个人的。C++有 RAII 以及别的高级功能,有些东西写起来还是比较爽的。如果你要用 C++写桌面客户端,那么用 WebView+C++的模式挺好的。
    revalue
        26
    revalue  
       2022-09-30 21:51:07 +08:00
    注重效率用 web ;注重在机器上的性能用 c++。有很多冷门领域的机器还是跑的 c++,招人都是高薪。

    确实很矛盾
    cssk
        27
    cssk  
       2022-09-30 21:51:42 +08:00 via iPhone
    不要想不开
    revalue
        28
    revalue  
       2022-09-30 21:51:47 +08:00
    注重业务开发效率用 web ;注重在机器上的性能用 c++。有很多冷门领域的机器还是跑的 c++,招人都是高薪。

    确实很矛盾
    enchilada2020
        29
    enchilada2020  
       2022-09-30 21:52:42 +08:00 via Android
    C#转 TS 前司 leader 就这么干的
    westoy
        30
    westoy  
       2022-09-30 21:56:07 +08:00
    systemcall
        31
    systemcall  
       2022-09-30 23:06:35 +08:00
    现在还有什么桌面端的东西是 C++的?
    基本上都是 Electron 做的了吧
    大部分的业务,用 Electron 还真的不会有什么性能方面的问题。特别是如果你是一大堆带图片、Emoji 的文本滚动的时候,Electron 随便一弄抵你 C++折腾半天
    leimao
        32
    leimao  
       2022-10-01 08:50:04 +08:00
    领导自己都不会 C++,说转 C++?
    脑袋一拍就一派胡言?
    shijingshijing
        33
    shijingshijing  
       2022-10-01 10:54:12 +08:00
    从一个坑到另一个坑,而且是更深的一个坑。现在学 rust 都比学 c++好。
    shijingshijing
        34
    shijingshijing  
       2022-10-01 11:20:12 +08:00
    c++和 qt ,目前只看到 tesla 的车机在用,其他车机都是 Android Auto ,现在连工控的触控操作屏都在转 Android 。除非是对性能有极度的要求,稍微低一点就要么 Android ,要么 PyQt 或者 C#。
    verrickt
        35
    verrickt  
       2022-10-01 11:59:54 +08:00 via Android
    同样的 c#+wpf ,转 golang 去做后端了
    sinnosong1
        36
    sinnosong1  
       2022-10-01 12:57:19 +08:00
    学学 ASP.NET Core 转后端吧
    chuanqirenwu
        37
    chuanqirenwu  
       2022-10-01 13:50:29 +08:00
    何不 rust ?
    apake
        38
    apake  
       2022-10-01 21:20:45 +08:00 via Android
    远离 c++
    2NUT
        39
    2NUT  
       2022-10-02 21:56:08 +08:00
    c++ 除了水太深 没啥不好的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2892 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 13:52 · PVG 21:52 · LAX 06:52 · JFK 09:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.