不能说某某语言不好!

首先,千万别说某一个语言好不好,应为这样的用词是错的,我曾经在好多场合听到一些程序员说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#其实写起来就像是一对双胞胎兄弟,有时候感觉都是相互抄袭。

最后想说的是其实语言都是想通的,最重要的是解决问题的思路,选择什么语言也要看具体场景,当然是会的越多越好,俗话说技多不压身。语言最终还是实现业务的一个工具而已。

最新文章

  1. jsonp使用,spring4.x对jsonp的支持
  2. 求最长回文子串:Manacher算法
  3. BZOJ1031: [JSOI2007]字符加密Cipher
  4. XMPP协议错误码
  5. 9x25 串口映射
  6. iOS 中使用Base64编码方式编码图片数据
  7. [原]Android Studio查询SHA1的方法
  8. JQuery Easy Ui dataGrid 数据表格 ---制作查询下拉菜单
  9. Java学习之javassist
  10. maven中的java库
  11. repeater绑定泛型list<string>
  12. vue-cli 第一章
  13. 算法题——给定一个数组 arr,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。
  14. BFC——块级格式化上下文
  15. openkm安装过程
  16. css笔记 - 张鑫旭css课程笔记之 overflow 篇
  17. LeetCode题解之Add Strings
  18. Android -- SharedPreferences存储信息
  19. solr 搭建 (基于solr-5.0.0)
  20. 【计算机网络】SSL交互和握手过程

热门文章

  1. Can't connect to any repository.Read timed out after 30,000 ms
  2. 使用 Satis 搭建私有的 Composer 包仓库
  3. tomcat8.5配置优化
  4. 从HTTP响应头判断是否命中CDN
  5. PointCNN 论文翻译解析
  6. MySQL入门很简单: 1 数据库概述
  7. JS正则表达式(RegExp)
  8. G711格式语音采集/编码/转码/解码/播放
  9. 2017.11.12 web中JDBC 方式访问数据库的技术
  10. mayan 游戏真是毒瘤