准备学习编程前,你一定会打开电脑搜索一下“先学Python还是先学Java?”扑面而来的是海量回答。如果你问一名Java程序员,肯定会建议你先学Java,因为他们认为Python像个乳臭未干的黄毛小子。但如果你问Python程序员,可能会得到一个完全相反的答案,他们认为Java是刻板啰嗦的老大爷,而人生苦短,我用Python。

但别担心,今天我们将会从语言特色

学习曲线

职业方向

市场需求

等多个方面为你解答“选择Python还是Java的人生难题”

语言历史Python:生而为简

Python是一门拥有简洁语法的高级编程语言。一个名为Guido van Rossum的荷兰大佬在1991年设计了它。Rossum设计这门语言的初衷,就是为了让代码读起来更轻松,并且让程序员们比起用其他语言,可以写更少的代码,事半功倍。Java:出生就想当老大

而Jame Gosling在1995年设计了Java。 Java是一门以Class为单位,高度面向对象的高级编程语言。Java的设计初衷是“写一次代码,在哪里都可以用。” Java可以完成任何规模的任务,所以它也是很多公司在做商业级项目的时候的普遍选择。

语言本身Python: 语法简洁,容易上手

Java:语法稍微复杂

从语言本身来说,Python是出了名的简洁,容易上手。一个Python的粉丝曾经写过一首名为 The Zen of Python (Python之禅)的诗来赞颂这门语言的优雅。以下这首诗的节选翻译。

优美胜于丑陋(Python 以编写优美的代码为目标)

明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似)

简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现)

复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁)

扁平胜于嵌套(优美的代码应当是扁平的,不能有太多的嵌套)

间隔胜于紧凑(优美的代码有适当的间隔,不要奢望一行代码解决问题)

可读性很重要(优美的代码是可读的)

即便假借特例的实用性之名,也不可违背这些规则(这些规则至高无上)

国外著名科普暴漫xckd也有这样一张形容Python之酸爽的著名漫画。

漫画中提到了学习一门编程语言,如烧香拜佛般必做的一件事:让屏幕输出Hello World! 这句话。 在Python中,做这件事只需要写一行代码:print "Hello World!"。 但是相比之下,Java实现这句话就要繁琐得多,需要至少4行代码(不小心就diss了一下Java)。总之,用Python编程,比起其他语言,更像是直接在和电脑对话。

如此对比,Python的简洁明了和上手的容易程度就一目了然了。当然,这还只是一个例子,很多时候Python一两行代码就能搞定的事情,Java却需要多达10行,甚至20行。Python省去了像Java一样死记硬背语法和结构的时间。只需要基本的学习,你就可以读懂很多代码了。正是因为如此简单平缓的学习曲线,通过Python的学习,你可以很清晰地了解程序员的思维,更专注地学习编程通用的基本概念。在领悟透彻了这些知识以后,学习任何语言都是小菜一碟。许多国外知名大学,如MIT和哈佛,也渐渐地将计算机导论课程语言的选择,从Java转变成Python。Python甚至还因此进入了小学计算机教材中。

实际运用Python

通过丰富的Web开发框架,如Django和TurboGears,Python可以用来快速完成一个网站的开发和Web服务。典型如国内的豆瓣、果壳网等

自动化系统网络的运行维护中,大量重复性工作的地方,并需要做管理系统、监控系统、发布系统等。

人工智能和数据分析

Java

安卓app开发

大型网站的后端

大型的企业级应用

大数据

最近一段时间流行度越来越高的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方面:

1、京东

薪资:15k-30k

需要具备以下技能:

1、熟练掌握Java基础,熟练掌握多线程开发技术,熟悉软件开发流程;

2、熟悉主流Java开源框架如struts、hibernate、spring;

3、熟练掌握HTML/CSS/Javascript/jquery/Ajax;

4、熟悉Oracle/ SQL Server/MySQL其中的一种,并能熟练编写SQL和存储过程;

5、熟悉Linux系统,掌握Linux命令。

2、网易

薪资:15k-30k

必须技能:

1、精通java,熟练运用SpringBoot、SpringMVC、Hibernate、Mybatis、struts、struts2等技术,能练使用JQuery或相关的JS框架,精通面向对象设计;

2、熟悉mysql/sqlserver数据库,了解相关的数据库维护和性能优化,熟悉Tomcat、weblogic等服务器的配置与发布;

3、全面扎实的软件知识结构(操作系统、软件工程、设计模式、数据结构、数据库系统、网络安全等);

4、熟练SQL语句的编写;思维活跃,具备一定的软件设计能力及良好的软件工程思想;

总结:

从语言本身,Python语法简洁,容易上手,而Java以独特的架构和较快的速度著称。

Python作为最近越来越火的语言,是大数据和人工智能的主力军,同时也在网页开发中广泛运用。而Java则垄断了企业级应用的开发。两者工程师的薪资也都十分可观。

文章到这里,你还不会选的话,我也帮不了你们了233...

祝编程学习愉快。

python代码需要背吗-纠结应该先学Python还是Java?看完就有数了相关推荐

  1. python代码写好了怎么运行不了-python代码可以直接运行吗 Python写了代码如何运行...

    先下载python,然后打开命令行,输入 python 你的代码文件名. 有python代码怎么编成可执行的exe程序? 如果可以能否帮小编做成可执行的exe程序儿女情长什么的,真的很影响小编行走江湖 ...

  2. python代码编写工具_编写更好的Python代码的终极指南

    python代码编写工具 Despite its 尽管它 downsides, Python remains the king of today's programming world. Its ve ...

  3. python怎么编写在线excel_超简单:用Python让Excel飞起来(零基础学python,用python实现办公自动化)...

    王秀文,有超过6年的后端开发.运维开发经验,擅长Python.Node.js.Java.Go等主流编程语言.曾参与翻译Elasticsearch官方技术文档.有IoT系统开发经验和CRM系统设计开发经 ...

  4. python编程入门指南明日科技pdf-零基础学Python PDF 全彩影印版

    给大家带来的一篇关于python编程相关的电子书资源,介绍了关于零基础学Python.明日科技方面的内容,本书是由吉林大学出版社出版,格式为PDF,资源大小314 MB,明日科技编写,目前豆瓣.亚马逊 ...

  5. 14. Python 与数据库那点事儿,滚雪球学 Python

    今天是持续写作的第 14 / 100 天. 如果你有想要交流的想法.技术,欢迎在评论区留言. 本篇文章将给大家介绍 Python 如何操作 SQLite 数据库,本文将是滚雪球学 Python 第一阶 ...

  6. 小学生学python到底能干什么-颤抖 | 小学生都开始学Python了,十年后你还有工作么?...

    原标题:颤抖 | 小学生都开始学Python了,十年后你还有工作么? 今 日 摘 要 AI火爆全球,Python技能需求达到174%!小学生已经开始学Python,还成为高考必备项目,十年后你还有工作 ...

  7. python快速编程入门教程-python从入门到精通之30天快速学python视频教程

    python从入门到精通之30天快速学python视频教程 课程目录: python入门教程-1-Python编程语言历史及特性.mkv python入门教程-2-Python编程语言初接触.mkv ...

  8. python基础教程视频-python从入门到精通之30天快速学python视频教程

    python从入门到精通之30天快速学python视频教程 课程目录: python入门教程-1-Python编程语言历史及特性.mkv python入门教程-2-Python编程语言初接触.mkv ...

  9. python代码需要背吗-Python面试必须要看的15个问题

    引言 想找一份Python开发工作吗?那你很可能得证明自己知道如何使用Python.下面这些问题涉及了与Python相关的许多技能,问题的关注点主要是语言本身,不是某个特定的包或模块.每一个问题都可以 ...

最新文章

  1. 路由策略与策略路由的区别。
  2. python发送短信内容_通过Python发送短信
  3. Kubernetes-dashboard安装
  4. 聊聊前端日志库在 SaaS 产品中的应用与设计
  5. 《RabbitMQ实战指南》笔误及改进记录
  6. 浅析C语言中assert的用法(转)
  7. MAC配置JCO,与找不到sapjco3异常
  8. 我们为什么要学数学?这里给你一个答案。
  9. web项目部署详细步骤
  10. LINUX 下通过lsof恢复被误删除的文件
  11. UDT中的epoll
  12. NPAPI插件开发详细记录:插件开发入门
  13. excel计算机二级考试试题,计算机二级考试Excel操作考试题.doc
  14. HDFS加密存储(HDP、Ranger、Ranger KMS实现)
  15. 阿里云服务器最新价格表(标准收费报价表)
  16. 使用GitLab CI/CD进行自动测试和部署
  17. java拼音字符串的顺序,Java字符串按照汉语拼音排序
  18. 在centos中注册gitlab runner
  19. php中的preg_replace函数,PHP正则替换preg_replace函数如何使用
  20. java面试题saas

热门文章

  1. 如何去应付你的上司给你一个变化无常的需求?
  2. 有关sql server 2000的数据类型
  3. git版本分支和分支、分支和主分支切换
  4. Ex 5_33 实现一个关于公式长度(其中所有文字总的出现次数)为线性时间的Horn公式可满足性问题_第十次作业...
  5. 在WINDOWS2008 Server 中创建NFS服务器,使用LINUX的MOUNT命令去加载网络盘
  6. Atitit.css 规范 bem  项目中 CSS 的组织和管理
  7. SpringMVC上传文件以流方式判断类型附常用类型
  8. -- HTML标记大全参考手册[推荐]
  9. 财务大数据比赛有python吗-Python大数据与机器学习之NumPy初体验
  10. 小学生python入门-极度舒适的全套 Python 入门教程,小学生看了也能学会