网友提问:
为什么那么多公司不用 .NET,而选择PHP、JSP,是 .NET有什么缺点吗?
优质回答:
做了7年的c#开发,4年多的java,c/c++,说说我的看法,主要有的区别:
一是开源和闭源的区别,.net早期完全闭源,开发也是完全傻瓜式的,微软的思想就是让开发更容易,所以无法看到底层实现,给人的感觉就是走一条胡同,很快到达目的地却无法知道墙内的东西,接触过java和c之后,感觉就像掉进了大海,原来海底也这么漂亮,有太多开源的软件和框架,你可以看到更深层的东西,比如我们看dubbo,看进去后看netty,netty看进去后看到Linux,select,epoll,看到epoll,看Linux相关的,感觉就是掉进了大海,太多东西需要学习,做这么多年开发依然在不断的学习,但也给了我更多兴趣和探知未知世界的乐趣,以前做.net的时候有种感觉就是,别让我做非.net的东西,我不会,对陌生的的东西很害怕,现在的感觉就是你让我写个控制原子弹的程序我也敢去写(比方)。
二是免费和收费的区别,所有的公司产品的成本是公司发展的最关键因素之一,.net全家桶成本太高,vs的版权+windows版权+sql server版权再加上其它支持类软件版权,成本非常高,相反linux完全免费开源,给你选你会选哪一个?同时linux或从Unix而来,但天生具有轻量级性能可以发挥到极致而且稳定的系统,而windows为个人和办公而设计,界面和系统其它资源就让系统占用一部分,感觉很笨重,上天做一个长连接测试,单台Linux轻松上几十万,当然由于内存原因,否则可以上百万,而windows就很难做到,而且Linux哪里不行你可以去改的,windows就不行了,所以一个稳定高效免费的还有一大堆开源支持的,和一个收费性能相比没有那么高效的,好多公司自然选择前者
三是开发效率,上面说两点都说.net处于下风,但.net不是一无是处,.net有自身的优点,那就是开发效率,.net在java之上做了改进,让开发人员更容易开发,语言优美,做企业应用开发是很好的工具,可以快速出结果,你用其它开发要么大炮打蚊子,要么不稳定,在工厂和企业就要求很快做出来,这是.net优势,所以有他的市场份额,说这么多发现没个图,有评论的传一张
其他网友观点
先以开发者的角度:
PHP跟.net根本就不是一个级别的,.net无论是应用场合、开发环境、帮助文档、编写风格、运行效率全部吊打PHP;PHP之所以流行就是因为很多开源框架都是现成的,刚好符合国人拿来主义的精神,修修改改就能拿来卖钱了。
JAVA各方面体量大致跟.net旗鼓相当,Windows系统下还是.net的天下,企业应用方面JAVA占用率高些,移动开发方面因为安卓和苹果的原因,.net失去了先机。微软正在逐步赶超,unitiy、.net core都在表明微软的态度。
以成本的角度:
微软的产品哪都好,就是版权太贵,Windows系统要钱,office要钱,服务器要钱,sqlserver要钱,再高级点用用企业版、集群之类的,做一个项目下来才能挣多少钱,都给微软了。PHP之所以能存活,就是linux免费,MySQL免费,Apache免费,PHP免费,就连框架都免费;JAVA跟PHP差不多。这种生态下导致了代码资源非常丰富,天下一般抄,开发成本就更低了。所以不是微软的东西不好,是JAVA和PHP开发成本太低了。用过对比你会发现,贵有贵的道理,所有开发帮助文档中,没有比微软做的更详尽的。
如果你是一个独立开发者,首选.net,Windows桌面应用、Windows服务、Windows游戏、网站、webservice、unity游戏,除了安卓和苹果原生应用,.net都能胜任。如果微软可以在安卓下造出类似framework的东西,那就一统天下了。
其他网友观点
为什么PHP、Java在市面上比.NET要受欢迎?而且从各大招聘网站上看PHP、Java的岗位比.NET岗位要多很多。
其实.NET也是有不少的优点的:
语法优美,比Java语法优美度还要高
在Windows平台上表现优异,能轻易调用Win平台各类组件服务
但是,它的致命缺点是:
它目前只能跑在Windows平台上(虽然.NET Core可以跑在Linux上,但它毕竟推出不久,需要时间考验)
Windows系统是收费系统(虽然平时在用时,没感觉到它是收费的)
与它配合使用的SQL Server同样也是收费的
设想一下,一个企业,如果服务器众多,那系统费用、数据库的授权费用,是多么庞大的一笔支出!
而PHP、Java则不同,它们都是跨平台开源免费的,虽然Java开始收费了(但还有免费的OpenJDK),所以PHP、Java还是首选。
其他网友观点
如果用户采用微软全家桶解决方案, .Net 的开发效率和体验是完全可以吊打 Java 和 PHP 的, 但昂贵的价格, 让开发者和用户又爱有恨.
其实 .Net + C# 现在虽说不如一票跨平台框架语言用得人多, 但也远远谈不上没落.
在这个问题上, 个人认为 Microsoft 的原 CEO Steve Ballmer 难辞其咎, 在 Windows 霸主地位已经开始崩溃的时候 依然固执坚持封闭生态, 导致当时的 .Net 开发者 无不焦虑和彷徨.
不过 2014 年 Satya Nadella 接任 CEO 后, 微软 逐渐采取了 务实 开放 的做法, 收购 Xamarin 整合进 IDE, 推出 Visual Studio 社区版, C# 开始免费和跨平台, Microsoft 越来越像 Oracle, C# 越来越像 Java, 多多少少缓解了开发者的忧虑, 不少开发者开始回归, 毕竟 C# 优雅的语法 和 Visual Studio 卓越的开发体验 确实让人难以割舍.
其他网友观点
.Net以前是不开源的,需要收费,有着各种版权问题,导致其语言生态发展不够。有其语言优点,但是从公司发展成本上来考虑,就注定不能作为首选。
PHP未兴起之前,很多公司使用.net来开发网站,因为相比较java的JSP,开发效率也还是要高一些,这对中小型企业的业务快速变更升级很重要。JSP运行速度会快一些,但其需要编译的特点,开发速度会相对缓慢。而对中小型企业来说,时间就是金钱,开发速度太慢,跟不上业务发展是很致命的。
之后PHP应运而生,其语言设计的初衷就是为了快速开发web应用。完全的开源免费,开发效率非常高,甚至一个人就可以搞定一个项目。中小型公司,从发展之初的考虑,逐渐将PHP作为首选发展语言。
随着PHP生态的逐渐强大,.net这种生态落后,开发速度比不上PHP,运行速度比不上JSP的语言也就逐渐没落了。
现在也有很多发展好了的公司,做大了做强了,又开始将自己的PHP项目往JSP迁移,因为开始追求运行速度。
所以PHP基本占领了中小型公司,而大公司则更多选择JSP。这都是语言的特性和优势决定的,将来如果出现一种语言能同时兼有开发速度和运行速度的免费开源的语言,那PHP和JSP也会逐渐走上.net这条路。一切都是企业成本和效率的问题。
+++++++++++++++++++++++++++++++++++++
第一次写问答,没想到有这么高的阅读量。
有些人说我对.net的认识太落后了,好吧,我开始学编程的时候,.net确实是比较封闭的状态,这些年我也不再去关注.net,对它的进一步了解也都是通过身边的同学朋友侧面反映的。
然后,真实情况是,我身边所有学.net的同学都转行了。因为岗位少,薪资低,真的生存很艰难哩。
遥想当年,我们一个宿舍的同学(一群穷逼,只能住在学校破旧的8人大宿舍里,因为住宿费真便宜啊),开始讨论选某个语言作为今后学习方向。有人选择了.net,有人选择了PHP,有人选择了JSP,然后各自努力。
现在,再来看彼此发展,.net的同学都转行了,PHP的都在中小型公司,JSP的在平安保险这种大公司里。薪资待遇对比,.net的同学和我们也有了差距。如果只看基本工资的话,还是PHP的高,哈哈。但是,加上年终奖就扑街了。我们同在深圳的经常一起出来聚聚,中小型公司的经常自嘲,辛辛苦苦一整年,比不上**一个年终奖。唉,大公司年终奖是真多啊,可以顶你大半年甚至一年的工资,人比人气死人。
当然,学PHP也不是都好,有个同学受不了压力转行做SEO了。也不是所有学java都好,我现在公司的测试就是个学java找不到工作,转而当测试的。
其实问题还是经验,有多年工作经验,就是你找工作最好的敲门砖了。
最后,没有最好的语言,适应市场发展的语言就是好语言。
各位看官,不喜勿喷!
其他网友观点
我觉得最大的问题在于,使用Java体系的可以绑架一个公司的技术,因为他各类开源的框架以及底层的东西都可以修改,如果没有这帮大拿继续留在这个公司里面,后来的人很难去接受,或者理得清楚这些架构。而使用.net的话,基本上我觉得不太可能存在这个问题,因为知识体系比较清晰,而且掌握的人相对比较多,上手也相对比较容易。如果你是老板,会怎么样选择呢?你很希望别人绑架吗?
以上内容就是小编分享的关于为什么那么多公司不用%20.NET,而选择PHP、JSP,是%20.NET有什么缺点吗?.jpg” />