zj299792458
V2EX  ›  问与答

有程序员完全不会 c 语言的吗?

  •  
  •   zj299792458 · Jul 29, 2018 · 9914 views
    This topic created in 3030 days ago, the information mentioned may be changed or developed.

    有程序员完全不会 c 的吗?即从来没有学过,接触过?自学或者达内培训班一般不会专门学 c 吧?不会 c 的对职业生涯影响大吗?

    个人感觉,如果你没听说过指针等基础概念,在高级语言里你很难理解基础变量,引用变量,内存地址等信息,“==”号也是面向运气使用……

    web 前端等偏向设计方向的语言不会 c 倒是可以理解。

    71 replies  •  2018-07-30 19:23:23 +08:00
    PHPJit
    PHPJit
    Jul 29, 2018 via Android
    1
    不会
    agdhole
    agdhole
    Jul 29, 2018 via Android
    2
    初中的时候还会一点,搞了几年 PHP 和前端全忘了
    Yourshell
    Yourshell
    Jul 29, 2018 via iPhone
    3
    什么?还有不动汇编的?
    zj299792458
    zj299792458
    OP
    Jul 29, 2018 via iPhone
    4
    @agdhole 初中学 c,老司机?


    @Yourshell 完全不懂编译过程中会产生汇编只能当脚本侠吧?
    jayzjj000
    jayzjj000
    Jul 29, 2018❤️1
    5
    有多少程序员完全会 C 语言呢?
    zj299792458
    zj299792458
    OP
    Jul 29, 2018 via iPhone
    6
    @jayzjj000 那几乎没有,现在嵌入式都用 python 了,会写 c 没意义啊老哥。
    wssasd001
    wssasd001
    Jul 29, 2018
    7
    写上几年前端,c 是什么,早忘光光。。。
    fuxiaohei
    fuxiaohei
    Jul 29, 2018
    8
    能看不能写,看还看不全
    zj299792458
    zj299792458
    OP
    Jul 29, 2018 via iPhone
    9
    我只是说 c 需要会让你理解高级语言里的某些规则,不是说 c 语言很常用,我就是 python 入门的😂
    jedihy
    jedihy
    Jul 29, 2018 via iPhone
    10
    @zj299792458 嵌入式只用 python 那只能当脚本侠。
    zj299792458
    zj299792458
    OP
    Jul 29, 2018 via iPhone
    11
    @zj299792458 需要->语言
    MOmc
    MOmc
    Jul 29, 2018 via iPhone
    12
    初中 vb 大学 c,现在忘的贼 jb 干净!前女友印象都比它深!
    but0n
    but0n
    Jul 29, 2018 via iPhone
    13
    @zj299792458 只有物联网相关的用 python,其它还都是 c
    zj299792458
    zj299792458
    OP
    Jul 29, 2018 via iPhone
    14
    @jedihy 只用 python 就已经是脚本侠了,和嵌入不嵌入没关系吧?
    zj299792458
    zj299792458
    OP
    Jul 29, 2018 via iPhone
    15
    @but0n 嗯嗯,路由器网关等基础还是需要 c 大神的
    Felldeadbird
    Felldeadbird
    Jul 29, 2018 via iPhone❤️5
    16
    这么说吧,外国人到国内吃饭,不会用筷子会饿死吗?
    会 C 和不会 C,我觉得并不影响一个程序员的能力水平。
    另外,高级语言这个应该是编程语言的泛词了。
    juoyi
    juoyi
    Jul 29, 2018
    17
    除了大学学过 C 语言基础,之后就再没有接触过了……当然我是很菜的程序猿
    deadEgg
    deadEgg
    Jul 29, 2018
    18
    我觉着还要有基础,有基础意味着你懂个 7788,当有需要的时候能拿的起来。

    不然在某些领域做深会相对吃力。
    bumz
    bumz
    Jul 29, 2018
    19
    并不认为 C 的裸指针对理解现代意义下的指针(不允许直接操作内存,GC )有什么必然的帮助。
    不过想配合理解硬件的话可能没有比 C 更适合的语言了。
    innoink
    innoink
    Jul 29, 2018 via Android
    20
    完全不妨碍学习函数式编程语言,甚至 erlang 这样的
    bucky
    bucky
    Jul 29, 2018
    21
    编程领域经常讲封装抽象,如果学一个语言需要另一个语言为基础,那这语言纯粹设计失败
    jowuIM
    jowuIM
    Jul 29, 2018 via Android
    22
    勉强能看懂 C,C 的指针不是很懂。我强行平均水平一下?嵌入式用的比较多吧
    wei672520619
    wei672520619
    Jul 29, 2018 via Android
    23
    大学老师。。。
    wei672520619
    wei672520619
    Jul 29, 2018 via Android
    24
    考试。。。打错了
    syahd
    syahd
    Jul 29, 2018 via Android
    25
    了解一点指针算懂吗
    Wicked
    Wicked
    Jul 29, 2018 via iPhone
    26
    我那个年代,不懂 gdb attach 上去看反汇编都不好意思说自己懂 C,所以我也不大懂…
    说到 C 就不得不提 C++,学 C++有个好处,那就是如果你能搞懂 C++的语法,你学任何一门脚本语言,都会很轻松…
    easylee
    easylee
    Jul 29, 2018
    27
    在老司机论坛偶尔问几个 C 语言问题,还有不少人嘲讽:你是要准备给宇宙飞船写操作系统?
    似乎已经成为了一种他们所认为的风趣。

    后来转知乎,知乎的 C/C++大神还是挺多的,解答的也挺好。
    DeweyReed
    DeweyReed
    Jul 29, 2018
    28
    学操作系统绕不过 C 吧。
    fxxkgw
    fxxkgw
    Jul 29, 2018 via iPhone
    29
    培训班的基本不会吧?
    我一般面试时候还是喜欢问几句动态 静态链接库 系统调用 中断啥的这些 c 写的东西 了解这些最起码对整个操作系统有那么一丝了解 简单地说就是按了下键盘按钮到底在系统里触发了哪一系列行为
    fengyj
    fengyj
    Jul 29, 2018 via Android❤️1
    30
    底层的东西绕不过 c 吧,尤其物联网设备。c 最迷人的地方就是他能够操作内存
    fxxkgw
    fxxkgw
    Jul 29, 2018 via iPhone
    31
    @huiyifyj 应该是硬件吧。。
    SsuchingYu
    SsuchingYu
    Jul 29, 2018
    32
    其实大多数人工作之后都少用 C 吧?
    pexcn
    pexcn
    Jul 29, 2018 via iPhone
    33
    会... 但用得不多
    chiu
    chiu
    Jul 29, 2018 via iPhone
    34
    如果是学第一门编程语言,我推荐 C
    jianpanxia
    jianpanxia
    Jul 29, 2018
    35
    C 只是语言,说到底学过 Java 的基本上可以快速入门 C 语言。
    但是 C 难的永远不是语法,而是指针。
    (看个真实的开源 C 优秀源码就知道指针有多浪了,OOP 都能搞)
    darkcode
    darkcode
    Jul 29, 2018
    36
    前端、JAVA 和 PHP 应该大把不会的
    lekai63
    lekai63
    Jul 29, 2018 via iPhone
    37
    高一学过 c 学到指针那 忘记当时老师怎么说的了 感觉对后来理解 vb python 等是有作用的
    最后 我不是程序员 。。。水平也没到靠代码吃饭的程度。。。纯自娱自乐型
    ji980925
    ji980925
    Jul 29, 2018 via Android
    38
    在土澳留学,学校一般都是 Python 必修,c 选修
    but0n
    but0n
    Jul 29, 2018 via iPhone
    39
    @fxxkgw 更准确的说应该是寄存器
    hundan
    hundan
    Jul 29, 2018 via Android
    40
    一直觉得 c 这种东西,不应该放在基础课程里教,应该是学完高级语言能做一些东西了,想要精进的人,再去学 c,从学习的奖励反馈的角度来说是这样的,这样能比较容易学下去。
    诚然一开始如果能学好 c,学其他语言更容易理解,但是往往是学不好,学个半成,啥都做不出来,又放弃了,学了别的,最后跟没学差不多。
    mintist
    mintist
    Jul 29, 2018
    41
    @zj299792458 嵌入式还是 C 语言的天下吧,顶多被 C++ 稍微分点,Python 跑个 “ Hello World ” 还行,产品还是算了吧,,,
    Perry
    Perry
    Jul 30, 2018 via iPhone
    42
    个人认为只要工作上用不到 C,那么学习 C 只是一个 nice to have 的技能点。
    不过在大学里,应该都有教 C ?
    zj299792458
    zj299792458
    OP
    Jul 30, 2018 via iPhone
    43
    如果明白变量在内存里的运行逻辑,会不会 c 都无所谓,可是现在高级语言里企图隐藏这些细节,很多人直接学高级语言,比如 java,不明白 new Integer (5)为什么不等于 new Integer (5),都是死记硬背,学完 c 就好理解多了……纯个人见解,我是先 python 入门,后来才自学的 c,好多东西都豁然开朗,但是 posix c 就学不动了,接口函数太难记了

    @hundan
    @jianpanxia
    @Perry
    @bumz
    firebroo
    firebroo
    Jul 30, 2018 via Android
    44
    🤣🤣🤣蛋疼的指针,写的脑袋疼。。
    flowerains
    flowerains
    Jul 30, 2018
    45
    会 C,但是平时用不到是个问题。
    大学学的东西,这么多年了居然还有印象
    msg7086
    msg7086
    Jul 30, 2018
    46
    那你学过 Smalltalk 吗? OOP 著名的启蒙语言。
    q397064399
    q397064399
    Jul 30, 2018
    47
    @bumz #19 引用计数法 ,, 逃
    jedihy
    jedihy
    Jul 30, 2018❤️1
    48
    不会 C,操作系统怎么学。
    oxoxoxox
    oxoxoxox
    Jul 30, 2018 via Android
    49
    c3824363
    c3824363
    Jul 30, 2018
    50
    @oxoxoxox 怎么涨了这么多呢,risc-v 导致的么
    LaCroqueta12
    LaCroqueta12
    Jul 30, 2018
    51
    说起来我还写过三年的 C,现在经常用 matlab、python、vb、tsl,把 C 忘得一干二净了。。写个简单的 C++代码费了半天劲
    5oiR5piv5YK76YC8
    5oiR5piv5YK76YC8
    Jul 30, 2018
    52
    高中时候学过,后来也就看看,你让我直接上手干项目,肯定是不行的
    xvrzhao
    xvrzhao
    Jul 30, 2018
    53
    大一必修,不过当时完全为了应付考试,后悔莫及
    PanPancf
    PanPancf
    Jul 30, 2018
    54
    @zj299792458 APUE 是本好书
    allgy
    allgy
    Jul 30, 2018
    55
    恶补中
    onionKnight888
    onionKnight888
    Jul 30, 2018
    56
    大学学过,现在基本只剩下看看的水平
    lzhCoooder
    lzhCoooder
    Jul 30, 2018
    57
    不会 C 语言的蛮多的,虽然我非常不赞成这样...至少要先认真学习一遍 K&R C 吧 才 180 页
    minininja
    minininja
    Jul 30, 2018
    58
    正准备学
    qq976739120
    qq976739120
    Jul 30, 2018
    59
    我同事 c++培训出身,对内存,进程,线程完全没概念,协程根本没听过,你敢信?
    sampeng
    sampeng
    Jul 30, 2018 via iPhone
    60
    实话…工作十年。没见过除 c 做主语言以外的大佬或程序员。web,php,python,前端,android。这些业务领域都是没几个真正会 c 的。内存模型大学知道不代表工作的时候还记得
    shuizhengqi
    shuizhengqi
    Jul 30, 2018
    61
    科班出身没有一个没接触过的。连我一个硬件出身的,都会学 c
    TomatoYuyuko
    TomatoYuyuko
    Jul 30, 2018
    62
    入门 C 专业 java 现在干前端= =
    zpf124
    zpf124
    Jul 30, 2018
    63
    专科路过,学完 c 的基础语法就去学 java 了,指针相关,内存管理相关的几乎完全不会。
    iiTea
    iiTea
    Jul 30, 2018
    64
    c 语言由于工作中用得少已经重新捡起来三遍了,最近捡起来是因为想学习下 redis 源码
    tt67wq
    tt67wq
    Jul 30, 2018
    65
    反复的捡起来 C,然后几天不用又忘了。。。
    Phariel
    Phariel
    Jul 30, 2018
    66
    看得懂部分 不会写
    irainsoft
    irainsoft
    Jul 30, 2018
    67
    第一个学的是 JAVA...
    earendil1412
    earendil1412
    Jul 30, 2018 via Android
    68
    如果对 C 一点概念都没有的话,很多数据结构是理解不了的
    crayygy
    crayygy
    Jul 30, 2018
    69
    计算机基础跟 C 语言不等价,我最早学的 C++,后来速成了一下 Java,至于 Python/Javascript/Ruby 这些都是自己慢慢看着学的,要说指针什么的有多重要,不写 C/C++ 的不太关注这些自然也就不重视。

    但你要说引用,传参这些,我觉得是基础,不同语言可能不同实现,考虑的场景都不一样的。

    数据结构、设计思想什么的就更不一样了,这些是语言无关层面的,代码写到一定程度一定会走这一步,跟你用什么语言没关系。
    nullen
    nullen
    Jul 30, 2018
    70
    有,很多不会的。
    wq7
    wq7
    Jul 30, 2018
    71
    不常使用还是会遗忘...
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1804 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 129ms · UTC 05:14 · PVG 13:14 · LAX 21:14 · JFK 00:14
    ♥ Do have faith in what you're doing.