不能说某某语言不好!

首先,千万别说某一个语言好不好,应为这样的用词是错的,我曾经在好多场合听到一些程序员说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#语言的一些比较的更多相关文章

  1. 比较分析C++、Java、Python、R语言的面向对象特征,这些特征如何实现的?有什么相同点?

    一门课的课后题答案,在这里备份一下: 面向对象程序设计语言 –  比较分析C++.Java.Python.R语言的面向对象特征,这些特征如何实现的?有什么相同点? C++ 语言的面向对象特征: 对象模 ...

  2. python与其它语言进行比較

    近期python语言貌似比較火, 今天闲来无事,简单的看了下,算是个入门吧.一门语言之所以值得这么多人去学,必然有它的独到之处,以下我们就用python和其它语言做个比較. Pythond VS C# ...

  3. JAVA开发语言基础

    很多时候我们都不知道,为什么android最开始要用java作为基础语言 看看知乎上都是怎么回答的 为什么java最初成为android开发的基础语言 ------------------------ ...

  4. 基于Spark环境对比Python和Scala语言利弊

    在数据挖掘中,Python和Scala语言都是极受欢迎的,本文总结两种语言在Spark环境各自特点. 本文翻译自  https://www.dezyre.com/article/Scala-vs-Py ...

  5. 建议3---理解Python与C语言的不同之处

    我们都知道,Python的底层是用C语言实现的,但切忌用C语言的思维和风格来编写Python代码.Python与其他语言有很多不同,以下来进行简单的分析: (1)"缩进"与“{}” ...

  6. python的开发语言介绍

    -开发语言: 高级语言:python.java.c#.php.GO.ruby.c++    ===>字节码 低级语言:c.汇编   ===>机器码 语言之间的对比: PHP:适用于写网页, ...

  7. python与其他语言的区别

    C 和 Python.Java.C#等 C语言: 代码编译得到 机器码 ,机器码在处理器上直接执行,每一条指令控制CPU工作 其他语言: 代码编译得到 字节码 ,虚拟机执行字节码并转换成机器码再后在处 ...

  8. python基础-初识Python和不同语言之间的区别

    一.Python的创始人谁? Python之父:吉多·范罗苏姆GuidovanRossum 吉多·范罗苏姆是一名荷兰计算机程序员,他作为Python程序设计语言的作者而为人们熟知.在Python社区, ...

  9. python之 python 起源、语言特点

    一. 1.1  什么是 PythonPython 是一门优雅而健壮的编程语言,它继承了传统编译语言的强大性和通用性,同时也借鉴了简单脚本和解释语言的易用性.它可以帮你完成工作,而且一段时间以后,你还能 ...

  10. python是强语言还是弱语言?

    python是强语言还是弱语言,没有一个具体官方的说法 数据类型也就是变量类型,一般编程语言的变量类型可以分成下面两类. 静态类型与动态类型 静态类型语言:一种在编译期间就确定数据类型的语言.大多数静 ...

随机推荐

  1. ARM实验3 ——串口实验

    uart串口实验 实验内容: 编写UART模块程序,通过串口将信息打印到终端. 实验目的: 熟悉开发环境的使用. 掌握exynos4412处理器的UART功能. 实验平台: FS4412开发板,ecl ...

  2. *204. Count Primes (siecing prime)

    Count the number of prime numbers less than a non-negative number, n. Example: Input: 10 Output: 4 E ...

  3. python 网址

    https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431752945034e ...

  4. IOS 拦截所有push进来的子控制器

    /** * 能拦截所有push进来的子控制器 */ - (void)pushViewController:(UIViewController *)viewController animated:(BO ...

  5. FYI-django数据库操作-外键

    我先定义两个模型,一个是作者,一个是作者出版的书籍,算是一对多的类型.   class Person(models.Model); name = models.CharField('作者姓名', ma ...

  6. libtool: Version mismatch error. 解决方法

    在编译一个软件的时候,在 ./configure 和 make  之后可能会出现如下错误: libtool: Version mismatch error.  This is libtool 2.4. ...

  7. SQL Server 2008 R2 附加数据库 “尝试打开或创建物理文件 拒绝访问”的解决办法

    其实是来自一篇SQL Server 2005同样错误的帖子,不过试了在SQL Server 2008 R2下面也有效,记录一下. 解决方法: 在所有程序—Microsoft SQL Server 20 ...

  8. matlab的figure窗口命名为中文

    figure('NumberTitle', 'off', 'Name', '我的窗口名字');

  9. java导入、导出

    一.介绍 当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用Excel打开(电信系统.银行系统).或者是:我们已经习惯用Excel打印.这样在我们实际 ...

  10. Windows核心编程-作业

    原文链接:http://zhujiangtao.com/?p=983 作业 作业 一个简单例程 CreateJobObject 创建作业 作业限制和 SetInformationJobObject A ...