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

C 语言是不是应用已经不是很广泛了?

  •  
  •   speed · 2015-08-16 13:57:03 +08:00 · 3793 次点击
    这是一个创建于 3392 天前的主题,其中的信息可能已经有所发展或是发生改变。
    是不是只能运用在嵌套及系统内核开发中?学好C还有用吗?
    56 条回复    2015-08-18 01:09:52 +08:00
    loveyu
        1
    loveyu  
       2015-08-16 14:04:02 +08:00 via Android
    C是基础,至少很多大学生都是当计算机基础再学。而且C应用还是很广泛的
    printempw
        2
    printempw  
       2015-08-16 14:14:13 +08:00 via Android
    并不是
    Valyrian
        3
    Valyrian  
       2015-08-16 14:33:03 +08:00 via iPhone
    是信仰
    bestsanmao
        4
    bestsanmao  
       2015-08-16 14:39:27 +08:00
    目测您只是为不偷懒不想学来找个理由吧
    orvice
        5
    orvice  
       2015-08-16 14:41:39 +08:00
    新月经贴
    exiahan
        6
    exiahan  
       2015-08-16 14:41:45 +08:00
    C依然很广泛,C一直都在默默的托着脚本语言和一些高级语言如Java的runtime。另外写JNI不也要用C么。('・ω・')
    fo2w
        7
    fo2w  
       2015-08-16 14:41:50 +08:00
    好好学, 别找借口了


    真的.
    Tianpu
        8
    Tianpu  
       2015-08-16 14:58:12 +08:00 via iPhone   ❤️ 2
    是的。

    除了系统软件,应用软件,根本没有它的位置了。

    简单举个例子:
    facebook baidu 这些都是宇宙第一php开发的
    twitter 虽然一直在ruby java这些陷阱里出不来,也还不是特别差劲。
    当然了 google用的python不发表意见,免得有人不开心,不过大家都知道哪个是第一

    还有,我们都知道,维基百科是权威的百科全书,上面写的清清楚楚,php python java都是高级语言,c不在高级语言列表内。而且吧,c还是落后的静态语言,修改一次要重新编译一次,实在是古董语言。

    结论:请学php
    sudoz
        9
    sudoz  
       2015-08-16 15:31:39 +08:00
    @Tianpu Google用Python?难道不是Java为王,Python为仆吗
    loading
        10
    loading  
       2015-08-16 15:33:58 +08:00 via Android
    c就像空气~无处不在
    zhujinliang
        11
    zhujinliang  
       2015-08-16 16:00:16 +08:00
    C提供了一个程序最基本最简单的模型:变量函数枚举结构体指针等,即使不使用C开发,也有助于理解其它语言
    很多语言提供C的扩展支持,当语言无力解决某类问题或者需要极度优化效率时,嵌入C可以解决
    C适合写嵌入式设备,物联网发展好的话,C或许会在这方面得到大量应用
    还有一些语言被称作 类C语言,或许你都不知道自己已经写了不少“C“代码
    jsyangwenjie
        12
    jsyangwenjie  
       2015-08-16 16:04:50 +08:00
    @Tianpu 真的不是低级黑?
    jsyangwenjie
        13
    jsyangwenjie  
       2015-08-16 16:05:13 +08:00
    不说别的,在CMU教学中,只有SML和C是教学语言。
    epkT6QJ3RSaz6AnJ
        14
    epkT6QJ3RSaz6AnJ  
       2015-08-16 17:32:00 +08:00
    @Tianpu 钓鱼帖
    yh7gdiaYW
        15
    yh7gdiaYW  
       2015-08-16 17:32:26 +08:00
    如果是想找工作,就别(只)学C。
    大一入门学C可以,自学入门学这个简直想死,你会发现你学了半年啥都做不出来。
    另外,个人感觉,年薪30w以下的,除非工作中需要用c写什么东西,否则没必要看
    zonghua
        16
    zonghua  
       2015-08-16 17:57:10 +08:00 via iPhone
    当然有用啦,招聘不考c考什么,考c语言就像像考小学数学一样容易实施,人力资源的也就这样啦。
    qian19876025
        17
    qian19876025  
       2015-08-16 19:00:31 +08:00
    @Tianpu 现在非死不可用的PHP解释器到底是不是PHP官方那个解释器?
    fxxkgw
        18
    fxxkgw  
       2015-08-16 19:14:30 +08:00 via iPad
    嵌入式用c较多 底层用的多
    tracyone
        19
    tracyone  
       2015-08-16 20:02:29 +08:00 via Android
    你们把嵌入式,智能家居放到哪里去了…以为都是做纯软件的?
    wdlth
        20
    wdlth  
       2015-08-16 20:21:54 +08:00
    TIOBE的编程语言排行中C语言的名次可是接近前面的。
    Linux内核、数不胜数的类库都由C语言编写而成,包括PHP、Python、Ruby等语言都有C语言的实现,你说广泛不广泛?
    anubiskong
        21
    anubiskong  
       2015-08-16 20:38:59 +08:00
    c语言依然广泛.
    c语言不是所谓的基础
    c语言不是万能的
    iyaozhen
        22
    iyaozhen  
       2015-08-16 20:43:02 +08:00 via Android
    楼长是在上学吗?是的话就好好学吧,不要找理由了。c学好了,以后的c++,Java啥的学起来也轻松。
    mengjue
        23
    mengjue  
       2015-08-16 20:53:46 +08:00
    c语言没那么重要,但是连c语言都学不好的人,还是表走这条路了。
    Caratpine
        24
    Caratpine  
       2015-08-16 20:54:48 +08:00
    @sudoz google c++用的最多吧
    comicfans44
        25
    comicfans44  
       2015-08-16 20:57:48 +08:00
    图形学的HLSL/GLSL语言中以及并行运算的OpenCL kernel/CUDA/RenderScript中都将C作为语言基础。

    C的接口最简单,不同语言的扩展接口对基于C的扩展支持的最广泛, 通过C中介,可以实现跨语言调用。比如java里面嵌入lua,python嵌入C++。很多语言通过C接口实现对现有C库的功能支持,比如php的gd模块实际使用libpng libjpeg freetype,php的openssl/zlib/iconv模块都是对应C库的包装。

    学好C有助于理解计算机的实际运行过程(学汇编当然更加有助于),另外的副作用是,由于开发调试过程问题繁多,被C折腾过之后毅力耐心大有提升,会觉得其他语言的开发过程都好方便...
    shandiansmile
        26
    shandiansmile  
       2015-08-16 21:13:36 +08:00
    现在很多程序员怎么都是把自己的职业发展道路局限在某一种编程语言上呢。语言只是工具,不同场景使用不同工具。如果不会这种语言,那就去学。
    junnplus
        27
    junnplus  
       2015-08-16 21:25:39 +08:00 via Android
    我其实想说这是不是引战帖,又要撕逼的节奏
    crab
        28
    crab  
       2015-08-16 21:28:11 +08:00
    学了C,在看其他语言相应算是有个基础啦。
    wmjie
        29
    wmjie  
       2015-08-16 21:58:47 +08:00
    不同的行业有不同的语言优势。
    现在比较高调的互联网用的c比较少而已。
    还有很多其他的行业,隔行如隔山,只是你不知道而已。
    martinsu
        30
    martinsu  
       2015-08-16 22:10:38 +08:00 via Android
    c的应用和地位无需质疑。但教学入门用c真是非常大的错误,学了半年什么像样的东西也做不了,还有什么兴趣学下去?
    icylogic
        31
    icylogic  
       2015-08-16 22:10:47 +08:00
    是,不是,有。
    WispZhan
        32
    WispZhan  
       2015-08-16 22:13:00 +08:00
    学不学 是看你以后的方向用不用。所谓计算机语言一通百通指的仅仅只是语法设计以及思想的相似程度。

    现在这个时代还扯 C语言是基础,你怎么不说 汇编才是基础? 这种C语言是基础的言论,是90年代传过来的,当年计算机专业的人少,资料少才有这个说法。现在还扯这个未免太迂腐了。

    难道python 等其他语言当作基础就不行吗?

    如果你致力于高阶算法研究,你可以从C开始慢慢学。如果是其他可以跳过C了,这个年代不是当年了。

    你看看编程语言排行榜,C照样前3。目前来说 系统级开发例如嵌入式、驱动等等才会大量用到C。其他地方能用高级语言就用高级语言,特别是库多的语言。原因是可以快速开发少做轮子。
    但是有时候也会出于一定的目的杂糅c/c++
    leavic
        33
    leavic  
       2015-08-16 22:15:30 +08:00
    没有C,你连linux都没有。
    Andiry
        34
    Andiry  
       2015-08-16 23:09:18 +08:00 via Android
    很多注重高性能的应用程序仍然是用C来写,比如memcached,Redis,Nginx
    publicID001
        35
    publicID001  
       2015-08-16 23:16:58 +08:00 via Android
    C 语言基本上是结构化汇编,跟 rust 这种语言肯定没法比,不过对于了解底层细节或者是给脚本写扩展 之类的东西还是很有用的
    northisland
        36
    northisland  
       2015-08-16 23:47:06 +08:00
    GPU超算领域,貌似C无可替代。
    RAKE
        37
    RAKE  
       2015-08-17 00:24:32 +08:00
    @qian19876025 一直都是HHVM吧。。
    catror
        38
    catror  
       2015-08-17 01:40:34 +08:00
    刚毕业的C程序员路过,当然C++也写,有些模块用C++...主要还是看你以后是做什么方向吧。。
    redsonic
        39
    redsonic  
       2015-08-17 01:55:07 +08:00
    LZ如果仅仅是拿来当饭吃,学一门市场需求最广的即可,如果不仅当饭吃,还有一颗geek的心,想把计算机体系搞清楚 ,想对一些系统进行深层次的探究,则C和C++在软件方面是唯一的途径。v2这里应该很少专职做底层开发的,所以讨论的少,氛围不浓厚。
    xieyudi1990
        40
    xieyudi1990  
       2015-08-17 02:27:35 +08:00
    @yh7gdiaYW 你这个就本末倒置了. 因为水货所以才薪资低, 而薪资低不是当水货的借口.

    @martinsu 说直白点, 那是你眼界太窄了, 老师的水平也就那样, 需要你自己去发现, 表怪语言. 我当年大二, SD卡播放器, 以太网驱动啥的做得飞起.

    @zhujinliang 我就不吐嘈了.

    不过有一点我同意. 如果LZ已经认定自己是个水货, 只想混口饭吃, 把这行当个跳板, 那就跟着潮流走呗, 就和学不学大学知识这个问题一样, 别浪费时间了, 放心你学不会的, 学会了也用不上的. 但是如果你有那么一丝的好奇心和上进心, 那就别问这种问题.
    xieyudi1990
        41
    xieyudi1990  
       2015-08-17 03:15:40 +08:00
    其实这个帖子已经很能说明问题了.

    一般不分情况, 喷某门语言的, 一般都是低收入, 低学历, 满嘴歪理胡说八道的这么一群人.

    C就语法上比很多高级语言来的简单得多了, 说难, 无非就是需要那么一点点点点本科的专业知识. 最高端的就是联合, 函数指针, 还有个什么? 费得了多少时间去学? 说C难的, 我估计这种人干什么都不行.
    sinxccc
        42
    sinxccc  
       2015-08-17 03:31:20 +08:00
    至少我是很难理解一个人号称了解 *nix 却不懂 C 语言。
    ljbha007
        43
    ljbha007  
       2015-08-17 08:16:49 +08:00
    C语言现在主要是应用在嵌入式(包括单片机)领域 还有操作系统kernal 其他地方应用已经很少了
    qian19876025
        44
    qian19876025  
       2015-08-17 08:42:18 +08:00
    @xieyudi1990 是简单应用不难吧 复杂应用都不简单吧
    说不难 那你分分钟给我撸一个NOSQL 出来
    lln133208
        45
    lln133208  
       2015-08-17 08:42:35 +08:00
    学学C还是有用的,理解一下系统调用之类的
    knightdf
        46
    knightdf  
       2015-08-17 08:45:46 +08:00
    C还是需要学的,C++就算了
    yh7gdiaYW
        47
    yh7gdiaYW  
       2015-08-17 09:30:04 +08:00
    @xieyudi1990
    并不是本末倒置,学C对很多职位并没有什么卵用,比如前端/测试/测试开发甚至游戏开发,这些拿30w并不需要你会一点C,对一般人来说真有点用的还是C++,没有必要非学C
    Obelly
        48
    Obelly  
       2015-08-17 09:43:59 +08:00
    C 就是野战炮部队
    开的时候呼叫炮火开辟阵地,无往不利;
    中盘冲阵厮杀,后方炮火支援总显得迟钝,但碰到硬茬,能呼叫炮火总归是很好。
    mthli
        49
    mthli  
       2015-08-17 10:03:02 +08:00
    必须学。
    caiych
        50
    caiych  
       2015-08-17 10:31:24 +08:00
    @sudoz 从行数上 C++比 Java 和 Python 都多…
    好像共识是 Java 写起来比 C++和 Python 要长?
    fengyqf
        51
    fengyqf  
       2015-08-17 11:43:13 +08:00
    《如果编程语言是一条船。。。。。》
    martinsu
        52
    martinsu  
       2015-08-17 12:50:18 +08:00
    @xieyudi1990
    没有怪语言, 和说语言不好, C 和 C++是绝好的东西, 只是它并不适合我们这些智商普通&低下者作为入门语言。
    spacewander
        53
    spacewander  
       2015-08-17 12:52:58 +08:00
    snailsir
        54
    snailsir  
       2015-08-17 13:44:46 +08:00
    没学过 php ,但学过 c ,然后找了个 php 的工作
    saeba1030
        55
    saeba1030  
       2015-08-17 14:31:32 +08:00
    web 开发应用的是不多,但这世界上不是只有 web application 啊
    更何况 C 可以说是理解程序设计的基础。

    当然如果你只想做做网站,可以当我什么都没说
    speed
        56
    speed  
    OP
       2015-08-18 01:09:52 +08:00
    感谢各位大神的回复,只是目前在自学 C 语言,没找到一个好的系统性学习方法,指针部分挺困惑的,但是会坚持下去,虽然工作中暂时用不到,呵呵
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1074 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 20:26 · PVG 04:26 · LAX 12:26 · JFK 15:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.