关于Python、Java、C#语言的一些比较
不能说某某语言不好!
首先,千万别说某一个语言好不好,应为这样的用词是错的,我曾经在好多场合听到一些程序员说java好,.net不好这类的话。
其实语言不分好坏,只是在具体的某些领域或业务场景上不合适罢了。任何技术都没有绝对的好坏,只有在这个场景下合不合适,把正确的技术用在合适的业务节点上才是最重要的。
为什么我会写这篇博客?
博主最近很惆怅,想换工作。想从事的是数据挖掘专业的工作,大数据、云计算等技术这几年很火,博主现在是做web开发的,对数据挖掘也很感兴趣,也知道数据挖掘使用Python语言比较火。今天在地铁上搜了一下数据挖掘工程师职位,发现几乎都是要会使用Python,
但是我net开发的,只用python写过简单的爬虫,用的次数也不是很多。有点纳闷为什么非要python呢?再想起来,之前遇到的各个语言对比的情况所以决定下班回来好好查查资料总结下。(这里我就找java、.net、Python三种语言了,其实还有其他语言)
Java、C#、Python三门语言都是什么样的语言?
首先java、C#、python 都是高级语言,他们都可以做桌面应用程序和web应用程序,但是对于复杂业务下的应用系统java和.net是比较合适的,相比来说,Python在这方面性能一直是个问题.
java、C#、python 三门语言的流行领域上看,python主要火在于数据挖掘和机器学习,java和.net也可以做数据挖掘方面的业务只是流行程度没有python火,python之所以近几年火,是大概可以从三个阶段找出原因。
12-14年的云计算,应为python是解释性语言开发和部署起来比较轻快,著名的云计算开源平台OpenStack就是基于Python开发的,Python对于运维工程师是非常好的一个帮手.
14-15年的O2O,P2P业务需求非常突出,由于python开发起来非常的快速,适合快速开发搭建原型,所以催生了许多Python岗位
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#其实写起来就像是一对双胞胎兄弟,有时候感觉都是相互抄袭。
最后想说的是其实语言都是想通的,最重要的是解决问题的思路,选择什么语言也要看具体场景,当然是会的越多越好,俗话说技多不压身。语言最终还是实现业务的一个工具而已。
关于Python、Java、C#语言的一些比较的更多相关文章
- 比较分析C++、Java、Python、R语言的面向对象特征,这些特征如何实现的?有什么相同点?
一门课的课后题答案,在这里备份一下: 面向对象程序设计语言 – 比较分析C++.Java.Python.R语言的面向对象特征,这些特征如何实现的?有什么相同点? C++ 语言的面向对象特征: 对象模 ...
- python与其它语言进行比較
近期python语言貌似比較火, 今天闲来无事,简单的看了下,算是个入门吧.一门语言之所以值得这么多人去学,必然有它的独到之处,以下我们就用python和其它语言做个比較. Pythond VS C# ...
- JAVA开发语言基础
很多时候我们都不知道,为什么android最开始要用java作为基础语言 看看知乎上都是怎么回答的 为什么java最初成为android开发的基础语言 ------------------------ ...
- 基于Spark环境对比Python和Scala语言利弊
在数据挖掘中,Python和Scala语言都是极受欢迎的,本文总结两种语言在Spark环境各自特点. 本文翻译自 https://www.dezyre.com/article/Scala-vs-Py ...
- 建议3---理解Python与C语言的不同之处
我们都知道,Python的底层是用C语言实现的,但切忌用C语言的思维和风格来编写Python代码.Python与其他语言有很多不同,以下来进行简单的分析: (1)"缩进"与“{}” ...
- python的开发语言介绍
-开发语言: 高级语言:python.java.c#.php.GO.ruby.c++ ===>字节码 低级语言:c.汇编 ===>机器码 语言之间的对比: PHP:适用于写网页, ...
- python与其他语言的区别
C 和 Python.Java.C#等 C语言: 代码编译得到 机器码 ,机器码在处理器上直接执行,每一条指令控制CPU工作 其他语言: 代码编译得到 字节码 ,虚拟机执行字节码并转换成机器码再后在处 ...
- python基础-初识Python和不同语言之间的区别
一.Python的创始人谁? Python之父:吉多·范罗苏姆GuidovanRossum 吉多·范罗苏姆是一名荷兰计算机程序员,他作为Python程序设计语言的作者而为人们熟知.在Python社区, ...
- python之 python 起源、语言特点
一. 1.1 什么是 PythonPython 是一门优雅而健壮的编程语言,它继承了传统编译语言的强大性和通用性,同时也借鉴了简单脚本和解释语言的易用性.它可以帮你完成工作,而且一段时间以后,你还能 ...
- python是强语言还是弱语言?
python是强语言还是弱语言,没有一个具体官方的说法 数据类型也就是变量类型,一般编程语言的变量类型可以分成下面两类. 静态类型与动态类型 静态类型语言:一种在编译期间就确定数据类型的语言.大多数静 ...
随机推荐
- selenium Element not found in the cache - perhaps the page has changed since it was looked up接解决
selenium Element not found in the cache - perhaps the page has changed since it was looked up.这个问题爆出 ...
- PHP:将json数据放进html标签中的详细讲解
1.在controller中调用某方法,得到最终的json数据.根据框架开发形式,将Json数据传入视图中 2.在视图中,我们放置一个hidden形式的标签,并获取到json数据 3.这时候,我们查看 ...
- PHP:global全局变量的使用
global全局变量能够让我们更好的去运用,直接上例子: 1.一个函数,获取函数外的内容: 得到的结果: 2.两个函数,函数2获取函数1的全局变量内容:(重点) 结果: 以上就是我的总结啦 END
- *389. Find the Difference (string + map(26)) read problems carefully
Given two strings s and t which consist of only lowercase letters. String t is generated by random s ...
- DP找最优配置,(POJ1018)
题目链接:http://poj.org/problem?id=1018 这个DP,我的头都快晕了. dp[i][j]表示取到第i个设备,宽带为j时的最小价格. 状态转移方程: dp[i][k]=min ...
- linux .h .so .a文件
在linux开发中,完全不使用第三方库的情况比较少见,通常都需要借助一个或多个函数库的支持才能完成相应功能.从程序员角度看,函数库实际上是一些头文件(.h)和库文件(.so或.a)的集合.linux下 ...
- openstack kilo python cinderclient
➜ ~ pythonPython 2.7.5 (default, Oct 30 2018, 23:45:53) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on ...
- vs2012或vs2013调试卡 关闭调试卡
以前vs2013就有这个问题.没有解决.今天又装了vs2012.又遇到了.特别郁闷. 今天一定要解决.网上百度了.很久.可能关键字有问题.没有找到好的办法. 找到的办法有.显卡问题.不是管理员运行问题 ...
- android design 新控件
转载请标明出处: http://blog.csdn.net/forezp/article/details/51873137 本文出自方志朋的博客 最近在研究android 开发的新控件,包括drawe ...
- LeetCode47.Permutations II(剑指offer38-1)
Given a collection of numbers that might contain duplicates, return all possible unique permutations ...