首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么你的web应用程序不使用C语言呢?

为什么你的web应用程序不使用C语言呢?
EN

Stack Overflow用户
提问于 2010-06-20 20:07:04
回答 12查看 44.9K关注 0票数 101

今天早上我正在看几个不同的web服务器,这时我遇到了G-WAN。据我所知,这是一个用C语言编写的web服务器,你必须通过用C语言编写你的网站/webapps来利用它。一个明显的好处是速度,正如G-WAN站点所建议的那样。

然而,在论坛上,G-WAN的创建者问为什么不使用C来开发基于web的应用程序,除了困难之外,我想不出一个原因(对我来说,当涉及到C语言时,我是新手)。除了容易用PHP、Python、Ruby等语言开发之外,我们使用PHP、Python、Ruby等等肯定还有更多的原因。我不认为这是一个很好的理由。

所以我想问你:为什么你的web应用不使用C语言呢?

EN

回答 12

Stack Overflow用户

回答已采纳

发布于 2010-06-20 20:12:18

要使C程序正确和安全,需要非常小心。这种关心意味着你需要真正优秀的人来编写你的程序。这意味着你要付更多的钱。

此外,C没有像.NET (和其他主要的以web为中心的平台)那样从庞大的单一标准库中提取功能的好处。所以你可能不得不购买组件,或者执行互操作,或者使用你自己的功能,这些功能是“免费”的,我们应该说是“以网络为中心”的语言,比如PHP,C#,Ruby或者其他什么。这意味着你要付更多的钱。

再加上单线程计算速度在web上并不那么重要的事实。如果您需要更高的可伸缩性,大多数组织可以在经济上投入更多的核心来解决问题,这样就可以了。当然,并不是每个人都是这样的。我可以想象,谷歌引擎的核心是用C或类似的语言编写的,这不仅是为了提高速度,也是为了节省真正的电力成本。

票数 79
EN

Stack Overflow用户

发布于 2010-06-20 20:09:49

这与我们在大多数编程中不使用C语言的原因相同。好处(主要是性能)不会超过成本(开发时间,缺乏自动内存管理,缺乏对缓冲区溢出的自动保护,在编辑和测试阶段之间有一个编译阶段,等等)。

票数 47
EN

Stack Overflow用户

发布于 2010-06-20 20:13:55

大多数网络应用程序,尤其是web服务器,更多的是"I/O限制“--即它们能够以远远快于网络接受的速度输出数据。因此,CPU效率高的东西并不是巨大的胜利,而可伸缩和可维护的东西则是巨大的胜利。因此,我们没有理由接受C语言的缺点,也没有理由放弃像Java、.NET、Python、Perl或其他语言这样的托管环境的优点。

票数 29
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3079153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档