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

有人用 C 做应用项目开发吗?比如 web 服务, erp, crm 之类的项目。

  •  
  •   ldatbs · 2017-11-10 12:33:20 +08:00 · 4448 次点击
    这是一个创建于 2331 天前的主题,其中的信息可能已经有所发展或是发生改变。
    38 条回复    2017-11-11 16:16:13 +08:00
    patrickstar
        1
    patrickstar  
       2017-11-10 12:36:08 +08:00
    不符合主流
    paw
        2
    paw  
       2017-11-10 12:41:30 +08:00
    C 能做,但更适用于需要硬件直接交互或者对性能有苛刻要求(指令周期级别的)的场景。
    否则,python 两行就完成的,用 C 去写能累死的。
    schoolers
        3
    schoolers  
       2017-11-10 12:41:44 +08:00
    当然有了 我就是
    boyxupers
        4
    boyxupers  
       2017-11-10 12:45:29 +08:00 via iPhone
    @schoolers 可以介绍一下具体选型原因是?
    shijingshijing
        5
    shijingshijing  
       2017-11-10 12:51:08 +08:00
    别给自己找不痛快
    darkmatter
        6
    darkmatter  
       2017-11-10 12:53:51 +08:00
    写到最后发现又成了另一个 PHP,滑稽
    ldatbs
        7
    ldatbs  
    OP
       2017-11-10 12:56:39 +08:00
    @darkmatter 倒是可以把 php 简化下,用的人肯定很多。
    ldatbs
        8
    ldatbs  
    OP
       2017-11-10 12:57:43 +08:00
    @shijingshijing 有时重复造轮子会有无比的快感。
    ldatbs
        9
    ldatbs  
    OP
       2017-11-10 12:59:35 +08:00
    @patrickstar 确实不是主流
    veelog
        10
    veelog  
       2017-11-10 13:01:57 +08:00 via iPhone
    nginx. 模块开发,
    k9982874
        11
    k9982874  
       2017-11-10 13:07:05 +08:00
    上古时期遗留下的 cgi 遗产,应该还有人在维护
    Shazoo
        12
    Shazoo  
       2017-11-10 13:09:28 +08:00
    有。很多嵌入式设备就是 C 写的 cgi。

    我都维护 3 套。
    albertofwb
        13
    albertofwb  
       2017-11-10 13:11:30 +08:00 via Android
    @k9982874 QQ 邮箱
    zhicheng
        14
    zhicheng  
       2017-11-10 14:14:40 +08:00
    1, 用 C 实现一个动态编程语言。
    2, 用这个动态编程语言写应用。
    tinybaby365
        15
    tinybaby365  
       2017-11-10 14:24:09 +08:00
    C 写 fastcgi
    clino
        16
    clino  
       2017-11-10 14:26:23 +08:00
    不如将 lua 嵌入,然后主要用 lua 来开发 web 相关的部分,这样 effort 会小点
    bzzhou
        17
    bzzhou  
       2017-11-10 14:42:37 +08:00   ❤️ 1
    当别人写出了一个完整的产品,抽象出来了各种框架,乃至支持业务团队通过拖拽来描述业务流程的时候

    你还在用 gdb 来调试一个不规范 HTTP 请求导致的 core

    :)
    ldatbs
        18
    ldatbs  
    OP
       2017-11-10 15:00:16 +08:00 via Android
    @bzzhou 好神奇,这样的框架发几个尝试下。

    “ gdb 来调试一个不规范 HTTP 请求导致的 core ”
    这和语言没关系吧:(
    linjianru
        19
    linjianru  
       2017-11-10 15:11:48 +08:00
    之前用 C 做过一套网络服务的系统,后来用 Node.js 只花了 1/6 的时间就重写出了同样的功能。

    如果现在要我再开发此类系统,我选择用 Rust。我不想浪费时间去调试指针问题。

    如果你确实需要 C 级别的代码,你还可以选择从高级语言动态生成。比如用 Clojure 之类的,很容易就能实现一个 DSL 然后自动生成 C 代码。

    尽管如此,还是有一些场合必需用 C 直接来写。但这种场景应该很少了(普遍而言,除了某些特定领域)。
    RLib
        20
    RLib  
       2017-11-10 15:19:13 +08:00
    C 同样有各种类库可以用, 不要想着 C 就要什么都一行行来写
    clino
        21
    clino  
       2017-11-10 15:23:48 +08:00
    如果必须用 c 来写,那应该是资源很受限的场合,此时用 python/node.js 之类的肯定不行,但是 lua 一般是可以的,因为 lua 非常短小精悍

    如果不是资源受限的情况,还是直接选择更高级的语言及框架吧
    focusheart
        22
    focusheart  
       2017-11-10 16:52:21 +08:00
    ytht 的 www 部分开发,不过只是旁观大神做,我不懂……
    3dwelcome
        23
    3dwelcome  
       2017-11-10 17:24:18 +08:00
    "1, 用 C 实现一个动态编程语言。
    2, 用这个动态编程语言写应用。"

    +1

    楼主,C/C++适合造轮子,不适合写业务逻辑。不过用 C/C++也有好处,可以开发行业定制语法( DSL=domain-specific languages),加快开发流程。py 那些太通用了,代码多了,改起来还是累。
    pizida
        24
    pizida  
       2017-11-10 18:32:03 +08:00
    nodejs,php,java,asp.net, go, python 这些你都可以用的啊,千万不要用 c 啊!
    不要自己坑自己
    ldatbs
        25
    ldatbs  
    OP
       2017-11-10 18:42:35 +08:00 via Android
    @3dwelcome 多谢,我去学习下
    ldatbs
        26
    ldatbs  
    OP
       2017-11-10 18:44:14 +08:00 via Android
    @RLib 赞同,并且 C 的库很丰富
    zjqzxc
        27
    zjqzxc  
       2017-11-10 19:28:39 +08:00
    用 C 写 fastcgi 当博客后端,差点没死了

    为了防止真猝死了,就放弃了
    n2l
        28
    n2l  
       2017-11-10 20:58:01 +08:00 via iPhone
    我在学 C
    alqaz
        29
    alqaz  
       2017-11-10 22:52:42 +08:00
    web 就不要用了,后面的就不少了,现在 cpp 的各种框架写起来也不比其他的慢多少。其实 web 框架也一大堆,https://github.com/artyom-beilis/cppcms.git,https://github.com/uNetworking/uWebSockets.git 游戏就更不用说了,不管是历史遗留框架还是新开发的。
    lt0136
        30
    lt0136  
       2017-11-10 23:55:28 +08:00
    腾讯还有好多 fastcgi + C++
    leonzoe
        31
    leonzoe  
       2017-11-11 00:55:53 +08:00
    用 C 并不意味着你需要造所有的轮子..
    ericgui
        32
    ericgui  
       2017-11-11 02:28:13 +08:00
    用 C 干嘛呀,为啥不用汇编啊
    lsylsy2
        33
    lsylsy2  
       2017-11-11 03:49:26 +08:00 via Android
    @k9982874
    @albertofwb
    @lt0136
    可以参考
    http://www.infoq.com/cn/articles/the-road-of-the-growth-weixin-background
    不光 qq 邮箱,整个微信很大部分都是在 c++的
    techmale
        34
    techmale  
       2017-11-11 06:56:10 +08:00
    @ericgui #32 blocked
    albertofwb
        35
    albertofwb  
       2017-11-11 08:27:57 +08:00 via Android
    @zhicheng 你是说 python?
    UnknownR
        36
    UnknownR  
       2017-11-11 09:41:19 +08:00
    你要是觉得时间多,精力足那就问题不大,不然就遵循主流吧,使用者多临床经验丰富,各种轮子都有,简单方便
    deadEgg
        37
    deadEgg  
       2017-11-11 10:33:35 +08:00
    @lsylsy2
    因为鹅厂的大部分产品线都是 C++ & PHP
    记得原来在鹅厂的时候看过统计,这两个技术栈使用超过了 XXX%,具体忘了
    lsylsy2
        38
    lsylsy2  
       2017-11-11 16:16:13 +08:00
    @deadEgg 我暑假实习过三个月
    不过公开论坛嘛不敢随便说,还是引用公开文章的好
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5185 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 09:31 · PVG 17:31 · LAX 02:31 · JFK 05:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.