有人用 C 做应用项目开发吗?比如 web 服务, erp, crm 之类的项目。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ldatbs
V2EX    C

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

  •  
  •   ldatbs 2017-11-10 12:33:20 +08:00 5129 次点击
    这是一个创建于 2898 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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     Solana     2627 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 14:20 PVG 22:20 LAX 07:20 JFK 10:20
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86