C语言为什么不能成为写网页语言?

胜利在招手


90年代互联网刚兴起的时候,c还真的是互联网服务端构建语言,当时很多系统都是用c写的cgi应用。只是c写的程序部署调试极其麻烦,更新系统必须停服务。后来perl这种脚本语言逐渐替代了c来写cgi,部署调试的效率终于高了起来,而且损失的那点性能对于当时14.4KBps的网速来说根本感觉不出来。就算后来modem支持到56KBps的速度,perl写的bbs和chatroom依然是主力。其后,asp和php/fi才逐渐开始流行。那时侯,java还只是个玩具。

不过就算是现在,c写的http库和web服务器依然不少,只是已经不那么大众化了。但是很多关键服务还是用c来实现的。例如nginx,例如git。




mwk金雕


严格意义上网页语言不是编程语言,它是一种文本标记语言。

文本标记语言是用来描述文档格式的语言,代表性的文本标记语言有PDF,HTML,XML等。其中,HTML是网页的标准语言,所有的浏览器都支持HTML。C语言不是描述文本的,不能用来写网页。

网页前端常常需要编写一些程序,比如JavaScript编写的一些酷炫的程序。这种程序是可以用C语言写的,写好的程序使用COM借口,编译成ActiveX包,支持ActiveX的浏览器可以下载并执行。不过,ActiveX可以访问所有的系统资源,非常不安全。ActiveX曾经是传播病毒主要手段之一,逐渐被浏览器所禁用。C语言也就很少用来写前端程序了。

C语言是最早的网页后台程序语言。技术上叫CGI。CGI是一种接口规范,C语言程序只要支持这种接口,就能作为WWW应用程序。但是,C语言程序是直接在操作系统内核上执行的,容易出现安全漏洞。所以,很快被Java,PHP,Python等把运行环境限制在沙箱里比较安全的语言所替代。


日冲信息 黄


用c一样写网页, 自行处理http请求. 回复文件内容, 其实也不难, 有合适的库函数调用开发效率也不低, 就看你愿不愿意整


大地主


“杀鸡焉用牛刀”,用古人这句极具智慧的话还来回答这个问题再合适不过了!

C语言的优势在于运行效率极高,一般用于底层系统开发或者对于速度要求极高的环境。比如操作系统,驱动程序,嵌入式开发等等。

但是C语言最大的不足就是开发效率低,在如今的互联网快速节奏的大环境中,人们需要的开发效率。

如果你一定要用C语言开发网页,肯定是可以的!但是你和专业网页开发语言比起来,效率太低,太费劲,要做到同样的效果,费九牛二虎之力也未必能达到,如果有人坚持这么做,可能他只有和西北风的份了,连汤都喝不上。

在软件领域,流行分层设计。C语言属于基础设施层面的语言,不适合网页开发这类上层业务。

上层业务变化极快,需求极多,需求类型千奇百怪。而且一般还要求快速开发,效果酷炫。使用js,css,html这类快节奏的语言,最适合不过了。

在软件的不同层次,有适合这个层次的开发语言,开发工具,还有其特定的生态环境。只有使用对的工具,做合适的事情,才能事半功倍。





Flutter学徒


谁说不能写?你可以把网站写成一个exe文件,在服务器上一运行,什么都有了,多方便。


Crazy_Leaves


C语言一开始是为写操作系统而设计的,在诸如内存管理、进程管理上确实不错,那时的操作系统也都是字符终端,也没图形界面、不存在图形界面操作概念,输入C编写的命令、如果命令没输错、就有你想要的结果,比如磁盘上复制文件、显示工作目录等等。

你觉得这和网页编程的目的能一致么。


素食的猫


20年前,我就用C实现过http协议的web聊天室,当时和国内的ichat还发生过版权纠纷,ichat也是用C++build做的聊天室。


清浅笑忘


你这就像在问为什么js不能写操作系统一样。每一种语言的出现。是为了解决特定问题出现的。语言没有谁比谁好。只要谁比谁适合干什么。就像c语言适合开发操作系统。嵌入式。Java PHP .net适合做web的服务端。html css js适合做网页。python适合做数据分析等。


yatinghu


就好比用美工刀裁纸,用菜刀切菜。你不会用美工刀切菜,也不会用菜刀裁纸。不是不能,只是不适合。一门程序语言被应用于某一领域,最多的原因就是程序员觉得在这个领域,这种语言比较好用而已。比如美工刀,小巧,易于携带,用于裁纸。前端网页选择html,js和css也是一样的道理


时光旅途91488116


C语言说一个程序语言,他的发明和创造是在计算机程序上的,而网站上的语言是另一种编写语言交Html也就是我们所说的网站设计语言这个语言是一个全新的语言,虽然和C语言的一些相关知识有点类似,但是也还是有它独特的一种方式,网站设计一般使用的软件是DW这个软件,这个是专门用来编写网站设计的,而C语言是一个用来写程序的语言,也就是编写软件的,因此他们是有差距的。


分享到:


相關文章: