首先,千万别说某一个语言好很差,应为这样的用词是错的,我曾经在好多场合听到一些程序员说java好,.net很差这类的话。java
其实语言不分好坏,只是在具体的某些领域或业务场景上不合适罢了。任何技术都没有绝对的好坏,只有在这个场景下合不合适,把正确的技术用在合适的业务节点上才是最重要的。python
博主最近很惆怅,想换工做。想从事的是数据挖掘专业的工做,大数据、云计算等技术这几年很火,博主如今是作web开发的,对数据挖掘也很感兴趣,也知道数据挖掘使用Python语言比较火。今天在地铁上搜了一下数据挖掘工程师职位,发现几乎都是要会使用Python,linux
可是我net开发的,只用python写过简单的爬虫,用的次数也不是不少。有点纳闷为何非要python呢?再想起来,以前遇到的各个语言对比的状况因此决定下班回来好好查查资料总结下。(这里我就找java、.net、Python三种语言了,其实还有其余语言)程序员
首先java、C#、python 都是高级语言,他们均可以作桌面应用程序和web应用程序,可是对于复杂业务下的应用系统java和.net是比较合适的,相比来讲,Python在这方面性能一直是个问题.web
java、C#、python 三门语言的流行领域上看,python主要火在于数据挖掘和机器学习,java和.net也能够作数据挖掘方面的业务只是流行程度没有python火,python之因此近几年火,是大概能够从三个阶段找出缘由。编程
12-14年的云计算,应为python是解释性语言开发和部署起来比较轻快,著名的云计算开源平台OpenStack就是基于Python开发的,Python对于运维工程师是很是好的一个帮手.c#
14-15年的O2O,P2P业务需求很是突出,因为python开发起来很是的快速,适合快速开发搭建原型,因此催生了许多Python岗位windows
16-17年的人工智能和AI的流行,人工智能和AI都是基于大数据只支持的,而真正拥有大数据的商业公司不多,Python又适合写网络爬虫,爬取大量数据。网络
Python在多个方面都有不俗的表现,包括网络爬虫、金融、AI、数据分析、机器学习、运维、测试。功能强大、简单有丰富的第三方库。并发
再来看看java和C#,其实上述Python说到的各个方面java和C#也能作,只是火热程度Python仍是比较火的。其实java一直是编程语言中的老大哥,.net推出比java晚,但由于其不够开源,因此服务端开发地位不高。应为java在开源社区又丰富的解决方案去处理各类各样的问题,最主要的是.net在以前只能部署在 windows环境下,而windows环境下大部分软件都是要收费的,而在电商业务高并发场景中部署在linux系统下的java虚拟机的性能比在windows平台的iis的性能要好得多。就.net平台的技术来看。c#语言基本上秒杀java,语法优雅,语法糖不少。.net平台支持好。对于大多数业务场景,.net根本不须要第三方框架,.net自己都有很好的支持,而java项目须要拖一大堆第三方框 架,很不爽,还继续引用,常常出现版本问题。.net平台除了基础类库全,框架也很全,wcf专一通讯,wpf专一客户端,winphone框架是手机端开发框架(虽然用的少,可是不错的,举个细节的例子,移动端开发都有scrollview相似的控件。并且visual stduio能够说是 个宇宙级强大的编译器超级好用。
因为是闭源的生态圈没有java那么广,在服务端中地位相差愈来愈远,可是近几年开始微软已经开源了.net框架,相继推出了Mono.、.net Core等跨平台的框架,慢慢也走向开源,眼下技术变革那么快,什么事情都很难说。
java和C#其实写起来就像是一对双胞胎兄弟,有时候感受都是相互抄袭。
最后想说的是其实语言都是想通的,最重要的是解决问题的思路,选择什么语言也要看具体场景,固然是会的越多越好,俗话说技多不压身。语言最终仍是实现业务的一个工具而已。