V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
codefun666
V2EX  ›  程序员

我的编程语言使用体会

  •  
  •   codefun666 · 15 小时 46 分钟前 · 2829 次点击

    常年用 C/C++ (C++只限于 class 和 STL)开发底层,这些年用 Python 较多,最近在用 Go 。

    这个帖子并不抛出程序语言论战,而是我自己的一些体会。现在用 C/C++不多的原因是没太多时间折腾内存,除了必须用 C/C++实现,我首选 Go 。

    C

    用好 C ,其它语言都很简单(除了 Rust)。

    C++

    C++大部分特性都不实用,我只用 class 和部分 STL 。

    Python

    适合写 toy code ,性能太低,而且缺少类型检查,运行时错误满天飞。

    Rust

    如果熟悉使用 C/C++,找不到任何理由使用 Rust 。内存安全并不是 C/C++的问题,而是开发者的问题。

    Go

    比 C/C++开发效率高,性能也不错,包管理较为简单。

    Java

    没用过,实在不知道可以做什么... (对于底层)

    ===> 再复杂的程序或技巧对我已没有吸引力,实现它们需要的只是时间,但不同语言的模块(或程序)的连通,进而构建一个复杂系统是更大挑战。

    第 1 条附言  ·  8 小时 11 分钟前
    大团队开发使用 C/C++,内存和安全确实是问题,但用 Rust 并不是最佳方案 (微软等巨头公司除外,他们可以招到全世界最好的开发者,并且“不计成本”的重写现有代码)。

    ===> 根据场景,有些领域会用小众语言,例如我之修改别人写的 Ocaml ...


    喜欢和熟悉什么语言,就用什么语言,别折腾使用和你熟悉语言截然相反的语言。精通一门,再熟悉另一门足矣!
    36 条回复    2025-05-16 00:41:20 +08:00
    sampeng
        1
    sampeng  
       15 小时 44 分钟前   ❤️ 1
    cursor:在座的都是垃圾
    liuhan907
        2
    liuhan907  
       15 小时 42 分钟前   ❤️ 1
    使用 Rust 的理由之一:开发者会犯错(
    wxw752
        3
    wxw752  
       15 小时 39 分钟前   ❤️ 21
    我还以为点进来能看到一篇精彩文章呢
    hwdq0012
        4
    hwdq0012  
       14 小时 32 分钟前   ❤️ 3
    我是先 c# 再 c++的, 很多一直写 c++的人,是不会悟到高级语言才会接触到的设计模式的
    我接手的 qt c++程序,即使写它的人来自体面厂,雷米厂,等大厂, 但没看到有什么设计
    dll 都是头文件引用了,直接链接,没有抽象,统一的类型注册,初始化,安装,卸载接口 ,更别说依赖注入了
    表格显示连 qt 的 model view 都没用,ui 和业务揉在一块
    滥用信号槽( qt 观察者模式 松耦合通讯机制), 即使和 ui 线程没关的,也要连接到 ui 线程来中继一下
    导致某些操作 ui 卡顿竟然影响 plc 通讯, 等后台重要线程

    最蚤的操作是,某些功能做不出来,让我开发,我用开发完不让合并,因为用了他们不熟悉的技术栈,然后开会批我的时候我让他们自己做一个,沉默,他们提议让我做成小工具,他们在程序里做个按钮调用
    后面算法部又有一个功能类似的小工具需要做,他们用 widget 做了,然后和算法在需求上吵起来了,有个功能他们做不出来,算法说 xxx 那个工具上有这个功能, 然后就又让我做了,做完还来问我怎么实现的, 这个事情当时算法总监下场和他们争论,CTO ,CEO 都沉默,但我做出那个算法工具后(就是一个简单的 json 编辑工具),他们不久都离职了,具体怎么走的不知道,当然他们顶着原来大厂的光环,能轻易敲开更高的门槛,对他们来说未偿不是好事呢
    Suaxi
        5
    Suaxi  
       14 小时 26 分钟前
    昨天在群里看到一个梗 Rust:reconstruction ing🐶
    lianglu
        6
    lianglu  
       14 小时 20 分钟前
    我说说我的想法:
    Python:我的入门语言。用 Python 开发过 web ,上手简单,但是弱类型以及各种魔法方法让我无法忍受
    Java:我蛮喜欢 Java ,但是目前业务都是基于 Spring 那一套,许多封装的东西让你一愣一愣的,而且很重很重
    Go:喜欢它的简洁语法,不花里胡哨。该怎么写就怎么写,不会写出很骚的代码,适合中间件开发
    Rust:目前正在学习中,入门太难了
    fffq
        7
    fffq  
       14 小时 19 分钟前
    php 是世界上最好的语言!
    dacapoday
        8
    dacapoday  
       13 小时 57 分钟前   ❤️ 2
    @hwdq0012 听着好熟悉,感觉市面上有两拨人,面试专家 和 工程师。一类拿 offer ,一类解 bug 。
    InkStone
        9
    InkStone  
       13 小时 39 分钟前
    这个世界上可能有人能用 C/C++开发而极少犯错(就不抬不犯错这种杠了),但人数极少。

    如果你在一个超过十人的 C/C++团队中工作,那每次大规模迭代写出各种内存错误的几率是 100%,如果没有充足的测试用例覆盖,错误的数量还会往上翻好几倍。
    NessajCN
        10
    NessajCN  
       13 小时 38 分钟前
    一看就既没用过 C 也没用过 Rust
    Reficul
        11
    Reficul  
       12 小时 38 分钟前
    > 用好 C ,其它语言都很简单(除了 Rust)。

    看来是 C <--> Haskell 光谱上偏极左,没怎么接触过或者偏抵触 FP 。所以:

    > 如果熟悉使用 C/C++,找不到任何理由使用 Rust 。内存安全并不是 C/C++的问题,而是开发者的问题。
    xdeng
        12
    xdeng  
       12 小时 25 分钟前
    “现在用 C/C++不多的原因是没太多时间折腾内存,除了必须用 C/C++实现,我首选 Go 。” +1 。我之前也是写 C/C++的。
    yb2313
        13
    yb2313  
       12 小时 24 分钟前
    rust 应该是降低了心智负担吧, 不用一直想着有没有释放, 折磨自己, 不过还是能写出内存泄露
    guotie
        14
    guotie  
       12 小时 2 分钟前
    zig
    arischow
        15
    arischow  
       11 小时 50 分钟前
    每次看到 Python 都有人说弱类型啊
    BeiChuanAlex
        16
    BeiChuanAlex  
       11 小时 49 分钟前
    《用好 C ,其它语言都很简单(除了 Rust)》哈哈哈哈哈,因为 rust 是自创了一个生命周期的东西,所以没有参考,学起来很难。
    just4id
        17
    just4id  
       11 小时 43 分钟前 via iPhone
    没用过 Java ,不敢信
    zhangeric
        18
    zhangeric  
       11 小时 40 分钟前
    ai 表示啥语言我都行.
    TWorldIsNButThis
        19
    TWorldIsNButThis  
       11 小时 38 分钟前 via iPhone
    我谔谔

    经典土味 pl 指点江山
    zzf2019
        20
    zzf2019  
       11 小时 38 分钟前
    为啥都说 java 重呢?对于一款语言而言看中的肯定不是启动时间和引用包的数量吧。java 重代表它的性能和扩展,用来做一些复杂的服务和多人协作来说刚刚好。那种简单几行起个服务的,真的不算是玩具吗?能应付企业级使用吗?语言还是要合适场景最好
    xsen
        21
    xsen  
       11 小时 24 分钟前
    @zzf2019 #20 等一堆语言都用过之后,比如 c/c++/python/js/ts/java/golang/c#等,你就会为什么都说 java 重——因为是真重

    对于刚入行或者语言用得少的,个人是建议主流的都多用用。真的,没对比就没伤害
    flmn
        22
    flmn  
       11 小时 16 分钟前
    Go ,包管理较为简单。
    想起了 go 的黑历史……
    luting
        23
    luting  
       10 小时 57 分钟前
    你的发言看出来, 你用的挺多, 但是哪个都不行
    pulutom40
        24
    pulutom40  
       10 小时 47 分钟前 via iPhone
    入门 php ,写了快 10 年 php 了
    然后 python ,断断续续也用了 7 8 年了
    然后写了两年 java
    最近 5 年主要写 go

    没有什么优劣,每种语言有自己适合的场景
    henix
        25
    henix  
       10 小时 46 分钟前
    跟我的爱好差不多,我也喜欢用 C (非 C++)写个人项目,我目前的编程语言选择方法是:
    1. 如果用命令能解决:几行 bash 或 cmd
    2. 更复杂的任务,比如需要字符串处理:写一个几十行 Python 脚本
    3. 需要抽象出函数、模块:写几个 Go 文件,放在一个目录里
    4. 需要很多目录里放很多模块:C 语言
    sodesga
        26
    sodesga  
       10 小时 39 分钟前
    国内就是因为 java 技术栈,疯狂分层和造轮子,才养活了一大批码农。EJB -> Spring -> SpringBoot
    zzf2019
        27
    zzf2019  
       10 小时 19 分钟前
    @xsen 你都拿 js 和 ts 跟 java 比了,我还说什么呢?就没看懂我说的是什么意思,那么我只能说你是对的,继续保持
    exch4nge
        28
    exch4nge  
       10 小时 5 分钟前
    虽然没在工作中用过 Rust ,不过个人觉得 Rust 优势在团队开发的时候,review 别人的代码变得更简单,你能相信代码没有诡异的多线程安全问题,没有内存泄漏等,相对来说看 C++ 就得考虑前面几种问题
    即使有很多年 C++ 经验,复杂需求下的写出内存安全还是有些难度的,难免会踩一些坑
    看好 Rust ,不过国内岗位太少
    kzfile
        29
    kzfile  
       8 小时 37 分钟前
    写过的感觉最没法掌握的语言是 scala ,看别人写的代码总有一山更有一山高的感觉
    meinjoy
        30
    meinjoy  
       8 小时 18 分钟前 via Android
    有了 ai ,我都敢用 rust 开发项目了…
    weiwenhao
        31
    weiwenhao  
       7 小时 1 分钟前
    @meinjoy ai 自己都难以解决 rust 的复杂所有权问题,可能是 rust 材料不够多。大部分时候还是要自己写,只能用 chat 模式和 ai 稍微问一些 rust 里的问题
    pokeyou
        32
    pokeyou  
       6 小时 29 分钟前
    @fffq 大 php 真的没落了,没人关心~
    anivie
        33
    anivie  
       6 小时 26 分钟前
    > 用好 C ,其它语言都很简单(除了 Rust)。

    这是从来没没接触过 FP ,但凡用过 js……
    netizen
        34
    netizen  
       6 小时 6 分钟前
    @fffq 没必要玩这个梗了,没落语言就让它去吧
    hysjw
        35
    hysjw  
       3 小时 46 分钟前
    现在都靠 AI 了 能用 Rust 我都用 Rust 写代码已经不是难事了 为啥不更安全些 反正也不是自己写
    levelworm
        36
    levelworm  
       3 小时 33 分钟前 via Android
    楼主是做啥的?看来是做底层或者工具啊,求问手下还招人不?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   951 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 20:15 · PVG 04:15 · LAX 13:15 · JFK 16:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.