目前,网页脚本语言三个主流:PHP,JSP,.NET。究竟是一种怎么样的形势?是三国鼎立,还是其他的形势呢?各自的真正优势,又是在哪里?
程序员文章站
2024-01-06 10:11:16
...
虽然这些内容在百度里搜一下有一堆,但很多其实都是表面的描述了。我希望在知乎上可以了解到一些真正开发者的理解。当然这些编程语言始终只是工具。
至于说3足鼎立, 谈不上, 全球前100万的sites中, 70%是PHP.
JSP和http://Asp.net 也很优秀, 但是他们的部署问题是最大的问题. 我看个这么多评论,真的很搞笑,国内就这个水平。 这三种web后端语言,在工作中我只用php。 其他二种只是了解。 如果你真的懂web怎么运行,什么语言都不重要。 如果不懂web怎么运行, 就搞一种比如php,然后你就必需至少理解http协议, 如果天资不好,最好搞一本网络协议看看,从硬件光缆看到应用层比如http,ftp. 只有你懂得网络,你才能懂得web 怎么运行。像php后台语言就是干http协议的事(当然还有apache辅助,如果非要往后扯linux->硬件->物理,数学), 以及把后台逻辑变成前台http/javascript/css 等,当然javascript是把能够在后台处理的逻辑移到前台了。
至于用什么web后台语言真的不重要。重要的是你知道web是怎么干的,
我看到好多人说精通一门技术,这太宽泛。如果技术是一门编程语言, 你不需要精通任何一门语言。我觉得计算机体系结构是最好的入门点,向后可以研究硬件,向前可以研究软件。如果非要一门语言作为工具。c语言最好。 比如web开发。 如果你搞懂了web是怎么回事,用c开发web程序也是很容易的事。
总之,如果你真想编程,最好做长期打算。从头开始。这样会事半功倍。实际上,学计算机的人,到最后真的懂计算机1/10, 精通我猜1/100.
至于初学者为了开发web用哪个,一定要用php,只有一个原因,她最流行且已是主导地位了。
首先从程序原理上来说
PHP才是脚本语言,也就是说,是被触发解释执行的。
.Net和JSP,都是在虚拟机里跑的应用程序,可以操作内存及线程 。本质上和PHP并不一样。
举例:
如果让PHP做计划任务,那就必须依赖于系统本身的计划任务触发。而.Net和JSP只需要起一个线程就可以了。
但是PHP最大的优势就在于,免费、开放!
免费的好处就不用去说了,谁都不会向微软卑躬屈膝。
至于开放,还可以举例让你明白:FaceBook就是用PHP写的,但是PHP执行效率让扎克伯格很伤脑经,于是FaceBook提出了另一个思路:
就是把底层的数据库业务逻辑用C++进行封装再转而提供给上层API。
PHP可以做到,因为它是开源的。
明白了么? Laurence 大神说的部署问题,我认为并不存在,php再轻也需要一个 apache跟php, java要tomcat跟jvm,net 要iis跟.net framework..但是现在.net的部分框架甚至可以让.net自宿主运行,安装一个mono/net framework就解决了所有问题
注意:.net通过mono来跨平台运行,所以win已经不再是障碍了
php在web领域有不可动摇的地位,70+的占有率,大部分是由wp,discuz,ecshop
这些开源整站程序支持出来的。从tiobe最新的排名来看,
java 19% c# 4.7% php 2.8%
由于php只在web执行,还有android为java带来的巨大优势,私认为在web领域三者应该不分伯仲
.net拥有宇宙最好使的ide visual studio(甩开eclipse几条街有木有),能最大优化开发效率…但是也由此催生一些只会用工具的码畜。
php轻巧,请求上来,由服务器接受请求,转交php执行脚本,跑完了事。net跟java的主要web框架,都会事先有一部分在内存执行。
php开源程序应该是木有java多的,我大.net最少。
运行效率嘛,几个循环其实没什么代表性。
不同版本的php.jvm.net.mono 可能都有一些差别
不管神马语言,都不会影响你成为优秀的码畜。 在企业应用领域,只有Java和.NET。 原文链接:
Usage Statistics and Market Share of Server-side Programming Languages for Websites, August 2015
Server-side Programming Languages ( 8月)
1. PHP 81.2%
2. http://ASP.NET 16.7%
3. Java 3.0%
Popular sites using PHP
PHP容易上手;JSP是JAVA的高级应用,意味着你要有较扎实的JAVA基础;.NET只能应用于微软平台。
不知道这个话题背后的问题是什么?是想选择一种技术来规划自己的职业方向,还是来确定一套业务系统的技术方向?其实,它们都只是工具,是用于软件系统中来解决现实业务问题的。很多人按系统的大小、功能的复杂程度的实现来对三者打分,其实没有必要。如果你只是要掌握编程能力来找工作,学习一种到两种都可以。况且南方和北方对技术人才需求的方向也是不均衡的,(个人感觉,南方偏.NET多一些,北方偏JAVA多一些)。工具毕竟是工具,用好用坏是个人的能力,但最终都是要归根于行业和业务,所以重视行业业务才是发展的主线。
从运行效率来讲,php是比后两者慢。但实际上对于对大多数应用,其影响是微不足道的。运行效率很重要,但快和更快一点的区别对应用体验来说,价值不会很大。在现今瞬息万变的信息时代,一个好的系统,其实最重要的是扩展性好,稳定性高,就足够了。在这些点上,各种开发平台各有优势。
php开发效率高,交付成本低
java流行(网上解决方案信息最多),成熟,灵活,稳定性好
.NET不清楚
so,精通一种技术就好,不用管是什么语言。不用的应用不同的场景有不一样的选择和取舍。语言不重要,重要的是用对地方。
回复内容:
PHP的优势在于, 跨平台, 极易部署, 易维护, 为Web而生, 开源社区强大, 文档丰富.至于说3足鼎立, 谈不上, 全球前100万的sites中, 70%是PHP.
JSP和http://Asp.net 也很优秀, 但是他们的部署问题是最大的问题. 我看个这么多评论,真的很搞笑,国内就这个水平。 这三种web后端语言,在工作中我只用php。 其他二种只是了解。 如果你真的懂web怎么运行,什么语言都不重要。 如果不懂web怎么运行, 就搞一种比如php,然后你就必需至少理解http协议, 如果天资不好,最好搞一本网络协议看看,从硬件光缆看到应用层比如http,ftp. 只有你懂得网络,你才能懂得web 怎么运行。像php后台语言就是干http协议的事(当然还有apache辅助,如果非要往后扯linux->硬件->物理,数学), 以及把后台逻辑变成前台http/javascript/css 等,当然javascript是把能够在后台处理的逻辑移到前台了。
至于用什么web后台语言真的不重要。重要的是你知道web是怎么干的,
我看到好多人说精通一门技术,这太宽泛。如果技术是一门编程语言, 你不需要精通任何一门语言。我觉得计算机体系结构是最好的入门点,向后可以研究硬件,向前可以研究软件。如果非要一门语言作为工具。c语言最好。 比如web开发。 如果你搞懂了web是怎么回事,用c开发web程序也是很容易的事。
总之,如果你真想编程,最好做长期打算。从头开始。这样会事半功倍。实际上,学计算机的人,到最后真的懂计算机1/10, 精通我猜1/100.
至于初学者为了开发web用哪个,一定要用php,只有一个原因,她最流行且已是主导地位了。
首先从程序原理上来说
PHP才是脚本语言,也就是说,是被触发解释执行的。
.Net和JSP,都是在虚拟机里跑的应用程序,可以操作内存及线程 。本质上和PHP并不一样。
举例:
如果让PHP做计划任务,那就必须依赖于系统本身的计划任务触发。而.Net和JSP只需要起一个线程就可以了。
但是PHP最大的优势就在于,免费、开放!
免费的好处就不用去说了,谁都不会向微软卑躬屈膝。
至于开放,还可以举例让你明白:FaceBook就是用PHP写的,但是PHP执行效率让扎克伯格很伤脑经,于是FaceBook提出了另一个思路:
就是把底层的数据库业务逻辑用C++进行封装再转而提供给上层API。
PHP可以做到,因为它是开源的。
明白了么? Laurence 大神说的部署问题,我认为并不存在,php再轻也需要一个 apache跟php, java要tomcat跟jvm,net 要iis跟.net framework..但是现在.net的部分框架甚至可以让.net自宿主运行,安装一个mono/net framework就解决了所有问题
注意:.net通过mono来跨平台运行,所以win已经不再是障碍了
php在web领域有不可动摇的地位,70+的占有率,大部分是由wp,discuz,ecshop
这些开源整站程序支持出来的。从tiobe最新的排名来看,
java 19% c# 4.7% php 2.8%
由于php只在web执行,还有android为java带来的巨大优势,私认为在web领域三者应该不分伯仲
.net拥有宇宙最好使的ide visual studio(甩开eclipse几条街有木有),能最大优化开发效率…但是也由此催生一些只会用工具的码畜。
php轻巧,请求上来,由服务器接受请求,转交php执行脚本,跑完了事。net跟java的主要web框架,都会事先有一部分在内存执行。
php开源程序应该是木有java多的,我大.net最少。
运行效率嘛,几个循环其实没什么代表性。
不同版本的php.jvm.net.mono 可能都有一些差别
不管神马语言,都不会影响你成为优秀的码畜。 在企业应用领域,只有Java和.NET。 原文链接:
Usage Statistics and Market Share of Server-side Programming Languages for Websites, August 2015
Server-side Programming Languages ( 8月)
1. PHP 81.2%
2. http://ASP.NET 16.7%
3. Java 3.0%
Popular sites using PHP
- Facebook.com
- Baidu.com
- Wikipedia.org
- Qq.com
- Twitter.com
- Taobao.com
- Sina.com.cn
- Tmall.com
- Vk.com
- Sohu.com
PHP容易上手;JSP是JAVA的高级应用,意味着你要有较扎实的JAVA基础;.NET只能应用于微软平台。
不知道这个话题背后的问题是什么?是想选择一种技术来规划自己的职业方向,还是来确定一套业务系统的技术方向?其实,它们都只是工具,是用于软件系统中来解决现实业务问题的。很多人按系统的大小、功能的复杂程度的实现来对三者打分,其实没有必要。如果你只是要掌握编程能力来找工作,学习一种到两种都可以。况且南方和北方对技术人才需求的方向也是不均衡的,(个人感觉,南方偏.NET多一些,北方偏JAVA多一些)。工具毕竟是工具,用好用坏是个人的能力,但最终都是要归根于行业和业务,所以重视行业业务才是发展的主线。
从运行效率来讲,php是比后两者慢。但实际上对于对大多数应用,其影响是微不足道的。运行效率很重要,但快和更快一点的区别对应用体验来说,价值不会很大。在现今瞬息万变的信息时代,一个好的系统,其实最重要的是扩展性好,稳定性高,就足够了。在这些点上,各种开发平台各有优势。
php开发效率高,交付成本低
java流行(网上解决方案信息最多),成熟,灵活,稳定性好
.NET不清楚
so,精通一种技术就好,不用管是什么语言。不用的应用不同的场景有不一样的选择和取舍。语言不重要,重要的是用对地方。