准备学习编程前,你必定会打开电脑搜索一下“先学Python仍是先学Java?”扑面而来的是海量回答。前端
若是你问一名Java程序员,确定会建议你先学Java,由于他们认为Python像个乳臭未干的黄毛小子。但若是你问Python程序员,可能会获得一个彻底相反的答案,他们认为Java是刻板啰嗦的老大爷,而人生苦短,我用Python。
java
但别担忧,今天咱们将会从node
等多个方面为你解答“选择Python仍是Java的人生难题”
python
语言历史mysql
Python是一门拥有简洁语法的高级编程语言。一个名为Guido van Rossum的荷兰大佬在1991年设计了它。Rossum设计这门语言的初衷,就是为了让代码读起来更轻松,而且让程序员们比起用其余语言,能够写更少的代码,事半功倍。jquery
而Jame Gosling在1995年设计了Java。 Java是一门以Class为单位,高度面向对象的高级编程语言。Java的设计初衷是“写一次代码,在哪里均可以用。” Java能够完成任何规模的任务,因此它也是不少公司在作商业级项目的时候的广泛选择。程序员
语言自己web
从语言自己来讲,Python是出了名的简洁,容易上手。一个Python的粉丝曾经写过一首名为 The Zen of Python (Python之禅)的诗来赞颂这门语言的优雅。如下这首诗的节选翻译。spring
优美胜于丑陋(Python 以编写优美的代码为目标)sql
明了胜于晦涩(优美的代码应当是明了的,命名规范,风格类似)
简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现)
复杂胜于凌乱(若是复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁)
扁平胜于嵌套(优美的代码应当是扁平的,不能有太多的嵌套)
间隔胜于紧凑(优美的代码有适当的间隔,不要奢望一行代码解决问题)
可读性很重要(优美的代码是可读的)
即使假借特例的实用性之名,也不可违背这些规则(这些规则至高无上)
国外著名科普暴漫xckd也有这样一张形容Python之酸爽的著名漫画。
漫画中提到了学习一门编程语言,如烧香拜佛般必作的一件事:让屏幕输出Hello World! 这句话。 在Python中,作这件事只须要写一行代码:print "Hello World!"。 可是相比之下,Java实现这句话就要繁琐得多,须要至少4行代码(不当心就diss了一下Java)。总之,用Python编程,比起其余语言,更像是直接在和电脑对话。
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World");
}
}
如此对比,Python的简洁明了和上手的容易程度就一目了然了。固然,这还只是一个例子,不少时候Python一两行代码就能搞定的事情,Java却须要多达10行,甚至20行。Python省去了像Java同样死记硬背语法和结构的时间。只须要基本的学习,你就能够读懂不少代码了。正是由于如此简单平缓的学习曲线,经过Python的学习,你能够很清晰地了解程序员的思惟,更专一地学习编程通用的基本概念。在领悟透彻了这些知识之后,学习任何语言都是小菜一碟。许多国外知名大学,如MIT和哈佛,也渐渐地将计算机导论课程语言的选择,从Java转变成Python。Python甚至还所以进入了小学计算机教材中。
实际运用
最近一段时间流行度愈来愈高的Python,在行业与生活中的运用也十分普遍。经过丰富的Web开发框架,如Django和TurboGears,Python能够用来快速完成一个网站的开发和Web服务。典型如国内的豆瓣、果壳网等;国外的Google、Dropbox等。在系统网络的运行维护中,有大量重复性工做的地方,并须要作管理系统、监控系统、发布系统等,将工做自动化起来,提升工做效率,这样的场景Python是一门很是合适的语言。由于Python的易于维护性,就连谷歌前段时间也将网站后台的不少代码用Python重写代替。业余时间,也能够用Python写写简单的网络爬虫,看看谁拉黑了你的微信,甚至作一个刷票机器人。
固然,说到Python,就不得不提它目前最火热的运用:人工智能和数据分析。Python拥有十分完善的数据分析生态系统。Numpy & Scipy、Pandas、matplotlib 是 Python 最基本数据分析的三驾马车,而 Jupyter notebook 则是分析的最基本交互式环境。只要涉及机器学习,深度学习,神经网络这些高大上的领域,是绝对避不开Python的。甚至看到不少研究者的讨论帖子都建议早点把研究工具迁移到 Python 生态系统。最典型的例子就是人工智能界最牛的老师之一:Andrew Ng教授。再前几年的关于机器学习的在线课程里,Andrew Ng无论课上讲解仍是课下做业,通通一概用MatLab。可是在今年新出的深度学习课程里,他坚决果断地选择了Python做为课程讲解和做业的语言,而且强烈推荐广大学习者熟练掌握Python。在人工智能大行其道的今天,Python的运用前景和发展空间绝对是无限的。
虽说了这么多Python在难易程度上的优势,相对于Java,它也不是彻底没有缺点。即便使用Python开发的速度和效率比较高,但从运行的速度和效率来讲,Java仍是略胜一筹。当运算量很大时,Java的独特平台设计的好处就显现了出来。Java使用的虚拟机架构和独树一帜的JIT编译模式能大大提升它的运行速度。这也是为何Java至今仍然是世界上最受欢迎的语言之一。
若是你想知道Java在实际生活中能够干什么,其实远在天边,近在眼前。若是你有一部安卓手机,几乎全部App都是用Java写成的。大型网站的后端,好比电子商务交易平台阿里巴巴,淘宝,京东也都主要使用Java开发。大型的企业级应用好比大型企业管理系统,CRM系统,ERP系统也能够用Java开发。有关通讯及网络的大型企业,好比移动、联通、电信、网通,有关金融行的大型企业,全部的银行、证券公司、互联网金融和大型管理系统,好比供应链,客户管理系统,物流系统主要的信息化都和Java息息相关。如今愈来愈火的大数据,最主流的框架Hadoop的主要开发语言也是Java。因此不难看出,Java仍是行业应用不可撼动的老大哥。
薪资
Python
1.美团
薪资:20k~40k
岗位职责: 1. 负责云数据库/云主机控制平面研发工做 2. 增强平台管理和控制功能,提高资源交付和管理效率
岗位要求:
1. 熟练使用Python,能写出漂亮的Pythonic的代码;
2. 极强的学习能力和动力,对未知技术和领域能快速掌握并实践;
3. 熟练掌握操做系统原理,Internet网络原理;
4. 有云平台开发、自动运维平台开发等大型Python项目经验者优先;
5. 在开源社群活跃并有积极贡献者优先。
2.携程
薪资:15k-25k
Python开发工程师:1. 负责运维平台设计及开发,实现运维自动化和运维效率的提升 2. 帮助开发团队改进开发流程和效率 3. 与运维团队合做,收集需求,改善运维流程,实现各类运维工具,提升运行维护做业水平 4. 负责网站监控系统、数据收集和数据分析等系统的开发 5. 结合虚拟化技术,打造和完善携程云平台
如下是加分项:
6. 熟悉大型网站运维工做,有运维开发经验者优先;
7. 有CMDB/monitoring system/agent/automation系统设计与开发经验者优先
8. 熟悉Puppet/Zabbix/Celery/RabbitMQ优先
9. 熟悉Python/Django/Tornaod优先
10. 熟悉前端开发(XHTML/JQuery/CSS)优先
11. 对OpenStack熟悉者优先
同时,数据显示,2017年在雇主发布的职位说明中,Python技能需求增速达到174%,居于首位,Spark、Hadoop等大数据技能需求增幅也十分靠前。
Java方面:
一、京东
薪资:15k-30k
须要具有如下技能:
一、熟练掌握Java基础,熟练掌握多线程开发技术,熟悉软件开发流程;
二、熟悉主流Java开源框架如struts、hibernate、spring;
三、熟练掌握HTML/CSS/Javascript/jquery/Ajax;
四、熟悉Oracle/ SQL Server/MySQL其中的一种,并能熟练编写SQL和存储过程;
五、熟悉Linux系统,掌握Linux命令。
二、网易
薪资:15k-30k
必须技能:
一、精通java,熟练运用SpringBoot、SpringMVC、Hibernate、Mybatis、struts、struts2等技术,能练使用JQuery或相关的JS框架,精通面向对象设计;
二、熟悉mysql/sqlserver数据库,了解相关的数据库维护和性能优化,熟悉Tomcat、weblogic等服务器的配置与发布;
三、全面扎实的软件知识结构(操做系统、软件工程、设计模式、数据结构、数据库系统、网络安全等);
四、熟练SQL语句的编写;思惟活跃,具有必定的软件设计能力及良好的软件工程思想;
总结:
从语言自己,Python语法简洁,容易上手,而Java以独特的架构和较快的速度著称。
Python做为最近愈来愈火的语言,是大数据和人工智能的主力军,同时也在网页开发中普遍运用。而Java则垄断了企业级应用的开发。二者工程师的薪资也都十分可观。
文章到这里,你还不会选的话,我也帮不了大家了233...
祝编程学习愉快。
最后,推荐一下优达学城的Python课程,零基础入门,销量绕地球三周(逃~~
和 Java课程(打起来打起来
Java入门纳米基石学位做者:优达学员
来源:知乎
著做权归做者全部。商业转载请联系做者得到受权,非商业转载请注明出处。