• 请不要在回答技术问题时复制粘贴 AI 生成的内容
shijingshijing
V2EX  ›  程序员

有没有敢说精通 C 的?

  •  
  •   shijingshijing · Jul 30, 2018 · 16266 views
    This topic created in 3026 days ago, the information mentioned may be changed or developed.

    现在虽然每次看到 TIOBE 的排名中 C 的排名都是很靠前的,但事实上现在发现写 C 的工程师不多。

    首先,可能是应用场景有限,最多的就是 Linux 底层应用编程,写驱动,嵌入式编程,网络相关的编程;

    其次,可能就投入和产出效率来说,Java,Python, C#这类语言的产出效率要比 C 高,而 C 追求的是高性能对商业公司来说有时候可以用堆硬件上集群的方式来解决。

    最后,坚持写 C 且能把 C 写好的工程师不多,以前也说过公司如果真的不得不要用 C 和 C++来解决问题,那么一般都是花大价钱请个厉害的然后当几个人用,绝对不会请几个菜鸡 C 码农,效率低容易出错浪费时间浪费钱。

    我还有个问题,像 C++和 Java 都有 Think in 系列,有 Effective 系列,更不谈各种设计模式的。但是 C 的书好像就 C Traps and Pit 那本书,Pointers on c 那本书,想问问还有其他进阶的读物么?特别是关于系统设计和编程技巧这方面的,设计模式什么的好像基本没有看到用 C 写的。还有就是想了解一下除了嵌入式这个行业的发展路线以外,其他写 C 的行业发展路线图和技能树都是什么?

    长期写 C 的都出来冒个泡。

    115 replies  •  2018-08-01 09:57:54 +08:00
    1  2  
    ❮ ❯
    easylee
    easylee
    Jul 30, 2018 via Android❤️8
    1
    这个标题太欠揍了,如果换个标题,可能会有不少人和你认真讨论这个主题内容。
    shijingshijing
    shijingshijing
    OP
    Jul 30, 2018
    2
    @easylee 嘿嘿,难得当一回标题党啊
    Andiry
    Andiry
    Jul 30, 2018 via Android❤️1
    3
    C 挺简单的,精通不是什么难事
    leido
    leido
    Jul 30, 2018❤️1
    4
    不屑于精通.
    dtgio
    dtgio
    Jul 30, 2018 via iPhone
    5
    我觉得非要把 C 和 C++区分开来其实没什么必要吧?
    ballshapesdsd
    ballshapesdsd
    Jul 30, 2018
    6
    精通 c 这个字母的拼写
    Applenice
    Applenice
    Jul 30, 2018
    7
    写 C....但是我写的比较辣鸡...是真的辣鸡那种
    Ediacaran
    Ediacaran
    Jul 30, 2018❤️1
    8
    精通 C 本身不难,用 C 写出来 nginx, redis 这种水平的软件太难了
    enenaaa
    enenaaa
    Jul 30, 2018
    9
    写程序不需要先精通一门语言
    kaneyuki
    kaneyuki
    Jul 30, 2018❤️1
    10
    核心的东西还是 c/c++写的多
    只是国内一般都是互联网上层业务,所以产生了 c 不怎么用的错觉
    chiu
    chiu
    Jul 30, 2018 via iPhone
    11
    刚毕业的时候敢,现在不敢了……
    glacer
    glacer
    Jul 30, 2018
    12
    C 的难点在于各种奇技淫巧黑科技的指针操作,写 C 的过程中脑子里就要映射出一个内存模型。
    wizardoz
    wizardoz
    Jul 30, 2018❤️5
    13
    “精通”这个词现在基本上等于贬义词。
    哪个人的简历出现“精通 XXX ”,基本上被认为不谦虚。
    这个可能就是文化吧……
    t6attack
    t6attack
    Jul 30, 2018❤️1
    14
    除了你提到底层应用编程、系统编程以外。
    Java,Python, C#,PHP,这些编程语言本身,也是 C/C++写的。
    解析 javascript 的浏览器解释引擎。C/C++写的。
    apache/nginx 这些服务器,C/C++写的。
    常用数据库,C/C++写的。除了 ORACLE。

    在互联网领域,C/C++程序员,是你的上游。
    d18
    d18
    Jul 30, 2018
    15
    要深入一门语言当然是看经典的源码了,redis 就不错。光看书永远只能是纸上谈兵。
    king7
    king7
    Jul 30, 2018
    16
    维护系统这方面的,主要改 android C 部分相关的代码,boot、kernel、工具、以及封装的 jni 接口,像楼上 Ediacaran 说的,C 并不难,用 C 写出来 nginx 相当难。
    waruqi
    waruqi
    Jul 30, 2018❤️6
    17
    c 死忠粉飘过,有兴趣的话可以关注下我的 c 项目: https://github.com/tboox/tbox
    hmzt
    hmzt
    Jul 30, 2018
    18
    我精通 C..................................的语法
    liuminghao233
    liuminghao233
    Jul 30, 2018 via iPhone
    19
    什么叫精通 c
    写一个 os 出来叫精通 c ?
    还是 c 语言内容倒背如流叫精通 c ?


    但前者跟语言有什么关系吗
    luozic
    luozic
    Jul 30, 2018
    20
    系统和驱动现在大部分还是 c/C++写的,一个系统都是 2000w+的项目,有不需要驱动的硬件?
    xmadi
    xmadi
    Jul 30, 2018 via iPhone
    21
    有没有敢说精通中文的?
    xuboying
    xuboying
    Jul 30, 2018
    22
    并非 C 语言用户
    感觉精通 C 语言本身并没有什么,C 出现的很早,语法种类也不多.但是要 C 的很多场景都是和硬件打交道,所以说问别人是否精通 C,一般都是暗示问是否精通某种硬件平台.e.g.如何写 C 代码(汇编)从而达到这种平台的能耗比最优.
    sammo
    sammo
    Jul 30, 2018❤️2
    23
    用 C 语言的人根本瞧不上 V2EX
    zhzer
    zhzer
    Jul 30, 2018
    24
    有没有敢说精通程序员的?
    hanxiV2EX
    hanxiV2EX
    Jul 30, 2018 via Android
    25
    游戏服务端引擎用 C 写的。逻辑用脚本语言。
    SonicY
    SonicY
    Jul 30, 2018 via Android❤️1
    26
    精通这玩意说的太玄了,给我一本世界名著,我能看懂里面的每一个字,但让我写,写不出来。
    abutter
    abutter
    Jul 30, 2018
    27
    C 本身并不算难,只是很多东西都跟硬件或者编译器多少有些关系。
    hatsuyuki
    hatsuyuki
    Jul 30, 2018
    28
    @dtgio 有必要,C 和 C++ 可以说是两门完全不同的语言
    xhinliang
    xhinliang
    Jul 30, 2018❤️3
    29
    我觉得 C/C++ 这个说法就是扯淡。
    C 就是 C,C++ 就是 C++。
    这是完全不同的两门编程语言。
    tingyunsay
    tingyunsay
    Jul 30, 2018❤️1
    30
    经常在 qq 群看到有人发言:在学校学了几年,除了 c 什么都不会..
    deweixu
    deweixu
    Jul 30, 2018
    31
    买了 《 Linux/UNIX 系统编程手册》《 UNIX 环境高级编程》 《 UNIX 网络编程 卷 1:套接字联网 API 》 《 UNIX 网络编程 卷 2:进程间通信》
    zhtf
    zhtf
    Jul 30, 2018
    32
    敢不敢和能不能友不是一回事儿
    fixmestan
    fixmestan
    Jul 30, 2018 via iPad❤️1
    33
    远不如精通 css 看上去那么不可思议
    tomfs
    tomfs
    Jul 30, 2018
    34
    标题歪了,导致帖内内容不是主要了.
    shijingshijing
    shijingshijing
    OP
    Jul 30, 2018
    35
    @deweixu 都在书架上吃灰,对不对?
    shijingshijing
    shijingshijing
    OP
    Jul 30, 2018
    36
    @t6attack 比较好奇 ORACLE 用什么写的? Java 么?安装时候的那个 UI 确实是用 Java 写的
    xxoxx
    xxoxx
    Jul 30, 2018 via iPhone
    37
    我能用 18 种字体写出 c 字,算不算精通?
    firebroo
    firebroo
    Jul 30, 2018
    38
    三角猫水平,写点简单的可以。。
    jtsai
    jtsai
    Jul 30, 2018 via Android
    39
    @sammo 也有可能他只是搞硬件
    stzz
    stzz
    Jul 30, 2018 via Android
    40
    当初入门时看过.《 C 专家编程》,当时看得还可以
    zjsxwc
    zjsxwc
    Jul 30, 2018 via iPhone
    41
    只要心够大有什么不敢的
    kalsir
    kalsir
    Jul 30, 2018
    42
    语言只是个工具,难得是你用这工具能干出什么活
    bfdh
    bfdh
    Jul 30, 2018
    43
    长期 && 只会用 C 的 表示不知道该说点什么
    fuyufjh
    fuyufjh
    Jul 30, 2018❤️4
    44
    C 只比汇编高级那么一点点,精通 C 比精通 Python、Java 容易的多。然而,对于能用得到 C 的地方,编程语言可能是最简单的部分。
    prolic
    prolic
    Jul 30, 2018 via Android
    45
    c 的语法,关键字也不多,不复杂,说精通也没什么问题吧?上面说的东西都不是语言层面的知识点
    crab
    crab
    Jul 30, 2018
    46
    丹尼斯·里奇:我
    肯·汤普逊:还有我
    hyyou2010
    hyyou2010
    Jul 30, 2018❤️2
    47
    要说 c 语言的编程技巧,我看得最头晕目眩的是 linux 内核里面各种链表 /结构 /锁
    但是,除非工作需要,否则不推荐去钻研,因为高级语言可以轻松搞定

    计算机硬件+CPU+汇编+C,这是一坨,关注的是物理硬件是怎样运行的,C 只是汇编的外衣,通过学 C 和汇编我们知道物理硬件是怎样运行起来的,这就够了

    C++,Java 或其他任何高级语言,这是一坨,关注的是编程技巧与数据处理,关注业务的完成,这才是普通程序员要多花时间的地方
    NSAtools
    NSAtools
    Jul 30, 2018
    48
    刚毕业的时候敢说
    tan90
    tan90
    Jul 30, 2018
    49
    自学 C 语言,也是编程的入门语言,自娱自乐写点小程序,面向百度编程,简历上应该怎么形容这种状态?
    djyde
    djyde
    Jul 30, 2018
    50
    到底「精通」的标准是什么?我了解这门语言的所有特性、完整阅读过这门语言的 specification, 在实际环境中遇到过很多的坑,而对方恰好问了我一个关于这么语言一个我忘掉了的点,那我算不算「精通」?是否只要人的记忆力有限,就永远也无法「精通」一门语言?
    djyde
    djyde
    Jul 30, 2018
    51
    那么我认为只有机器能「精通」某一门语言了
    sunnogo
    sunnogo
    Jul 30, 2018 via Android
    52
    据说代码不能写太牛逼,不然其他人看不懂不好维护。特别是 C 语言。
    GeruzoniAnsasu
    GeruzoniAnsasu
    Jul 30, 2018❤️2
    53
    我觉得就 C
    语言
    来说
    达到精通不难而且是可量化的
    二级指针随便用绕不晕
    函数指针类型随手写不用想
    嵌套宏伪 meta 想用能用
    熟知 duff's device,typedef struct type* type 无类型指针,list_head 嵌入式“泛型”链表 等 C 特有的惯用法和 trick
    然后再用过些 c99 c11 标准的特性比如变长数组语法糖,_Generic
    就很精通了
    xupefei
    xupefei
    Jul 30, 2018
    54
    @t6attack #14
    @shijingshijing #36
    Oracle 的引擎是 C++写的,顶层是 Java 写的。
    > Java,Python, C#,PHP,这些编程语言本身,也是 C/C++写的。
    除开某些性能相关的组件,Java 是 Java 写的,C#是 C#写的。这个叫“自举”。
    GeruzoniAnsasu
    GeruzoniAnsasu
    Jul 30, 2018
    55
    另外拿 c++来和 c 对比……

    c++实在是复杂到太难以想象了,这个世界上最鬼畜的程序员就是 c++程序员,鬼知道是什么驱动他们去实现一个写错一个逗号报错 1000 个模板嵌套的代码……

    用模板模式匹配去创造一个语法描述?然后把它静态分析编译成一个语法 parser ? 这 tm 是人干的事?

    然而这是有些 c++程序员干的事……
    Rasphino
    Rasphino
    Jul 30, 2018 via Android
    56
    @dtgio 个人感觉 c++11 以后的 c++和 c 已经是天壤之别了
    PythonAnswer
    PythonAnswer
    Jul 30, 2018
    57
    精通 html css 很厉害了
    zhchyu999
    zhchyu999
    Jul 30, 2018
    58
    有人敢说精通某一项技术么
    loading
    loading
    Jul 30, 2018 via iPhone❤️2
    59
    我,精通,毕竟都 15 天过去了。
    kwest
    kwest
    Jul 30, 2018❤️4
    60
    大学时曾用 VC6 写过贪吃蛇,做过课程设计。毕业后入了嵌入式的坑,用 C 写过 CGI (很多人怕不知道这玩意儿是啥,嗯,反正吧比 PHP 还古老)。写过嵌入式 Web Server,你没看错,由于硬件 Flash 和 RAM 限制,得自己实现基本的 HTTP1.0 协议,为什么不实现 HTTP1.1 协议呢,因为 1.1 太复杂了,那个时候水平不够:( 同样由于硬件限制,为了动态网页交互,还得自己实现一个类似于 PHP 的动态网页解析器。感谢摩尔定律,硬件越来越快,价格也越来越便宜,硬件上可以跑嵌入式 Linux 了,开源软件一抓一大把,应用层相对变得容易,只需要交叉编译,需要改的代码没以前那么多了。用户态解决了,可内核态呢?早期芯片商提供的驱动不完善,得自己修改,甚至有些还得自己写。公司业务又涉及到内核部分的修改,于是改吧改吧从 2.4 改到 2.6,从 2.6 又改到 3.0。Linux 内核变得越来越完善,芯片商的 turnkey 解决方案也考虑得越来越周到,对嵌入式开发人员的要求也没那么高了,行业门槛越来越低,竞争对手越来越多,产品市场逐渐从蓝海变成了一片红海,我知道是时候离开了。几年后,听闻各种智能硬件又火了,开源硬件发展得如火如荼,树莓派,各种派如雨后春笋般纷纷冒了出来,我笑了笑,这不是咱玩过的东西吗,只是换了个“智能”的壳,人生苦短,还是继续码我的 Python 吧!
    shijingshijing
    shijingshijing
    OP
    Jul 30, 2018
    61
    @hyyou2010
    @kwest
    @GeruzoniAnsasu

    都去撸高级语言去,这个也是大趋势,花相同时间和精力,肯定是要收益最大化的。

    PS:最近跟一个老外交流,他们用 C 单独实现模块,然后用 Lua 当胶水连接起来,Lua 本身够精简加上 C 的性能,是个很不错的选择呢。
    shijingshijing
    shijingshijing
    OP
    Jul 30, 2018
    62
    @kwest 唉,我当初也是从点亮 LED 跑流水灯什么的开始做起的,各种位操作寄存器操作,各种移位操作,绕死个人。现在一般硬件模块都带 SDK 和 Application Note,把里面代码复制粘贴过来随便改改跑起来没 Bug 就 ok 了。优化?不存在的。
    xwander
    xwander
    Jul 30, 2018
    63
    @Andiry NOVA 大佬,刚拜读完您的。。。
    nikola
    nikola
    Jul 30, 2018
    64
    如果说每种语言都有自己的特色,不见得。但是,如果说 C 语言比较有特色,区别于其他语言,那我是承认的。C 语言本身没什么难的,但是有扎实的 C 语言功底,对于理解操作系统源码实现,对于理解计算机体系结构是很有帮助的。所以计算机专业第一门编程语言往往是 C 语言。这是程序员学习经历中基础的基础,理解 C 语言和数据结构,往后看其他语言都是万变不离其宗。
    ming2050
    ming2050
    Jul 30, 2018 via iPhone
    65
    语法就那些,用不了三天就能精通。但是,你非得加上算法模型,内存模型,网络模型,,,,,慢慢学去吧。。。。。
    qq258076067
    qq258076067
    Jul 30, 2018
    66
    借楼 有精通 C 和 swift 或者 oc 的吗。。。
    luozic
    luozic
    Jul 30, 2018 via iPhone
    67
    编码,大小端,做标准应用还是专有应用。
    adadada
    adadada
    Jul 30, 2018
    68
    KVM/Xen/QEMU 开发者路过。基本搞明白了指针的用法和链接器的工作原理,再去把 C standard 里的 undefined behavior 和 implementation-dependent behavior 过一遍,把项目用的编译器的常用扩展搞懂了,剩下的感觉就是多写和多看别人写了。感觉学什么语言都是类似的套路吧,只是 C 比许多语言都要小得多,应该能够更快的精通,吧
    darkcode
    darkcode
    Jul 30, 2018
    69
    @dtgio 有,精通 C 还是能训练出来的,精通 C++就是无底洞
    lzhCoooder
    lzhCoooder
    Jul 30, 2018 via iPhone
    70
    我也算 C 爱好者,然而迫于生存压力现在在写 C++(#捂脸)

    C 语法特性少很容易学,但是真的很难用,没轮子先不说,各种 UB 满天飞,到处是你想不到的坑,不懂汇编寸步难行,和操作系统之间强结合必须懂操作系统吧,没其他高级语言自带的数据结构,经常面临手撸的困境,C 想搞点事情真的很难啊....

    关于未来前景,应该说非常悲观了,我应该说非常喜欢 C 的简单与直接,但是还是只能靠 C++为生,除了嵌入式 C 没什么应用场景,不合格程序员太多,根本写不了 C,让不合格的程序员写 C 真的会是一场灾难吧...
    stevenbipt
    stevenbipt
    Jul 31, 2018 via Android❤️1
    71
    当初只有山寨机的年代,联发科处理器不支持 C++,只支持 c 语言,然后大佬们都需要把用 java 写的游戏改写成 c 语言的,OOP 什么的都是小意思,现在支持 C++了估计也没人愿意去这样做了
    frqk
    frqk
    Jul 31, 2018 via iPhone
    72
    langjiyuan
    langjiyuan
    Jul 31, 2018
    73
    写 c 的路过,项目上目前还是纯 c 语言,还不到 c99,一直有很大的历史包袱。新的产品线开发时,直接定了换到 java 或 python,争取上 docker,旧平台因为内存和 cpu 限制只能保持纯 c 的维护,恩我就是那个被分配到主业维护的。。。。
    产出上 c 与 java 和 python 差的不是一点,相同的业务需求,维护 c 的那套需要花 1 个星期+2 个人力,用 python 写 3 天 1 个人。。。
    个人感觉 c 在应用层的使用会越来越少,内核和驱动级别另说,用 c 就是硬件跟不上,现在随便都 64 位 arm,跑个 java 跟玩似的。




    其次,可能就投入和产出效率来说,Java,Python, C#这类语言的产出效率要比 C 高,而 C 追求的是高性能对商业公司来说有时候可以用堆硬件上集群的方式来解决。

    最后,坚持写 C 且能把 C 写好的工程师不多,以前也说过公司如果真的不得不要用 C 和 C++来解决问题,那么一般都是花大价钱请个厉害的然后当几个人用,绝对不会请几个菜鸡 C 码农,效率低容易出错浪费时间浪费钱。
    ryd994
    ryd994
    Jul 31, 2018 via Android
    74
    敢啊,反正吹牛又不用上税,不就是说而已嘛,不要给别人听到就好
    @frqk 生命可贵…………
    esw
    esw
    Jul 31, 2018 via Android
    75
    懂得计算机工作原理才能写好 c 把
    ericgui
    ericgui
    Jul 31, 2018
    76
    这也是我学了 C 语言 2 次,然后都放弃了。日常工作用不到。。。。。。。。

    刷 LeetCode 也是用 JavaScript
    langjiyuan
    langjiyuan
    Jul 31, 2018❤️1
    77
    上一条。失误。。没写完。。。继续。。。
    c 的开源库和单元测试是真的无解,各种轮子大部分情况下需要自己调很久,或者干脆自己写。。单元测试废了好大劲也没能在组内推广,最后在编码阶段只能停留在用 python 脚本的功能测试上,私以为快速的单元测试是 c 最麻烦的地方。一个指针的移位,最后表达的结果完全不同。

    至于 c 语言的进阶,,因为指针疯狂自由的(我用的是疯狂),即使参照同一详设,组内编写的程序,详细到同一函数的实现,中间的逻辑细节完全不同。未排除未知 bug,最后逼的组内 c 语言规范补全各类细节,至今还在补充当中。也是因为指针,各类的设计模式等等,都可以在 c 上实现,不过成本是很高,相对其他语言。

    c 的职业发展路径,嵌入式中驱动 /linux 内核至少暂时不会出现很多变得,纯单片机,现在 linux 满天飞,个人了解用的是越来越少了。linux 应用层,目前公司内 c 的使用也在减少。逐步被 java 替换了,测试用 python。目前个人已经在切换到 java 和 python 上来了,因为前(钱)景。
    zaneenaz
    zaneenaz
    Jul 31, 2018 via Android
    78
    每次写到指针时候都会 segment fault。精通是不存在的。
    coldear
    coldear
    Jul 31, 2018 via Android
    79
    C 语言本身算是简单的语言,但就是因为太简单,用起来不方便,难度来自于你要造的那些轮子
    imKD
    imKD
    Jul 31, 2018
    80
    真看不起你们这些程序员,一个字母讨论 80 楼,我精通 a-z
    sixm
    sixm
    Jul 31, 2018
    81
    @frqk 敢问 T 恤哪里有卖的,好想买一件
    wkl17
    wkl17
    Jul 31, 2018
    82
    借个楼吧:乃们都用什么工具开发 C、C++?
    geying
    geying
    Jul 31, 2018
    83
    我精通各种语言和框架...

    的 hello world
    Clarencep
    Clarencep
    Jul 31, 2018
    84
    精通 C 语言本身并不困难,困难的是精通你的业务用到的所有的 C 库
    macha
    macha
    Jul 31, 2018
    85
    写 C++但不精通的路过。C++好歹还有一个 STL 可以用用,C 语言只能一起从头撸起了。
    harry890829
    harry890829
    Jul 31, 2018
    86
    @frqk #72 !!!!这个衣服哪里买啊


    我写了 4 年 c/c++,我知道我只是一个渣渣
    ytmsdy
    ytmsdy
    Jul 31, 2018
    87
    现在越来越觉得,写 C/C++的才是真正的程序员啊。
    一般人 C++的指针就能喝一壶的了,但是我见过有人写出指针+指针+指针的程序!
    C++领域是大牛横行的地方,一般都是三四十岁的大叔,而且都很低调。
    AngryLi
    AngryLi
    Jul 31, 2018
    88
    前不久面一个“精通 C++”,问了下平时用的多吼?“没,也就是一部分 SDK 会用到一点”。这就是简历上的精通
    dosmlp
    dosmlp
    Jul 31, 2018
    89
    这么简单的语言,我敢说我精通
    zhzer
    zhzer
    Jul 31, 2018
    90
    @frqk 那么,那里可以买到呢???
    firejoke
    firejoke
    Jul 31, 2018
    91
    @frqk 求 python T 恤的链接!!!
    karllynn
    karllynn
    Jul 31, 2018
    92
    这个标题看了想 block 楼主…
    hikarugo
    hikarugo
    Jul 31, 2018❤️1
    93
    精通语言真的很无聊。。。精通某个领域知识才算比较有价值吧
    silencefent
    silencefent
    Jul 31, 2018
    94
    你敢说你精通 C ?
    是啊(便乘)
    那你说说这个技术用 C 解决的思路要点
    说不出呀
    那你说精通 C ?
    你只问我敢不敢嘛
    yingtl
    yingtl
    Jul 31, 2018
    95
    常年用 C 的路过
    Yoock
    Yoock
    Jul 31, 2018 via iPhone
    96
    精通 c,写 c 的时候脑子里就会出现编译后的汇编。
    wuweidong0107
    wuweidong0107
    Jul 31, 2018
    97
    你们对精通某种语言是不是有误解,我理解的精通是你能用这种语言去阅读优秀的代码并且写出优秀的代码,这些不是基于单纯某个语言的,而是基于你对软件的理解。
    Commencal
    Commencal
    Jul 31, 2018
    98
    @silencefent 好臭哦,C 艹我超勇的(一 转 攻 势)
    glfpes
    glfpes
    Jul 31, 2018
    99
    上一次真正写 C 还是嵌入式课程的大作业,好像是在一个什么板上调用忘记了什么东西,写 1 个能打电话发短信有电话本能拍照录像有相册还能用 opencv 人脸识别外加 gps 定位和惯性导航,界面还是 QT 写的,这辈子就用过这一次 QT。

    我估计为了买那个带超大触摸屏的板子,学校花的钱能买好几个诺基亚 5800
    coderluan
    coderluan
    Jul 31, 2018❤️1
    100
    “首先,可能是应用场景有限,最多的就是 Linux 底层应用编程,写驱动,嵌入式编程,网络相关的编程;”

    最开始就说错了,凡是性能相关的库,很大部分都是(嵌着 SIMD 和汇编的) C 实现的,计算机视觉,机器学习,异构计算等等,只不过封装完之后你就认不出来而已。

    所以说精通 C,其实是精通性能优化,毕竟语言只是工具,这就涉及到各种专业课程了,数据结构,算法,机组,编译原理,操作系统,不同方向还有相应方向的知识,图形学,GPU 编程啥的。

    然后 C++(尤其是 11 之后)和 C 是两码事,应用场景也不同,性能优化一般也就用个封装和 STL,别的特性反而会拖慢性能。

    最后有兴趣推荐看看 ffmpeg 源码,C 语言实现的非常牛逼。
    1  2  
    ❮ ❯
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4286 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 248ms · UTC 08:47 · PVG 16:47 · LAX 00:47 · JFK 03:47
    ♥ Do have faith in what you're doing.