首先,Java和Python都有广泛的应用领域,二者并不冲突,如果可能,最好都学习。

其次,你是想通过学习一门编程语言来求职?那需要了解这两门语言的适用场合。

(1)Java语言长期占据编程语言排行榜的榜首,说明有最多的程序员在使用它,也说明它有最广泛的应用场合,主要用于Web服务器的开发,在掌握了Java基本语法之后,需要深入学习JavaEE相关内容;此外Android开发也需要Java的基础;

(2)Python语言主要应用在机器学习领域,其丰富的机器学习库能够简化很多开发的繁琐过程,但机器学习还需要掌握比较扎实的数学知识。

以上是两种语言各自的特点,你可以据此进行选择。

上述,说的可能比较笼统,为此,搜集资料,咨询大神,询问“以初学者而言,先学java还是先学python?”

大神一言以蔽之:

“初学者才争论语言,我们只看心情。”

“那他们的区别是什么?”

大神:“区别就是他们是否适合你们这些小白。”

为了更好地解释大神的说法以图示例:

文字版:

Python

优点 :

语法简洁优美, 功能强大, 标准库跟第三方库灰常强大, 应用领域非常广,跟PHP形成了鲜明的对比!

语言方面, 举几个例子:

一切都是对象!!!

类(class本身)/函数/类方法是callable的对象

因为是对象,所以你当然可以传来传去啦. 比如:

ist表达式(其他好多语言也有,但是我最喜欢python的写法):

把”1023″变成 [1, 2, 3]

(当前你可以用Lisp风格的: map(int, filter(lambda x: x != “0”, “1024”)))

对dict也是类似:

yield关键字:

当你需要返回很多东西然后一个一个用的时候, 你可以一次返回一个

装饰器@:

把something_heavy()返回的结果缓存起来(以函数名+args为缓存的键值,只缓存最近使用的10条)

运算符重载:

试试numpy, 你会惊呆的, 操作向量/矩阵跟基本类型一样方便

缺点:

目测python是最慢的脚本语言,比V8上的JS还慢不少。 (研究一下描述符,你会发现python调用对象方法的开销好大!)

但是python创始人说了, 一般程序的瓶颈在于20%的代码, 所以你可以把那20%的代码用C重写(因为python是胶水语言,顾名思义,在多个语言之间左右逢源,游刃有余,用C重写部分代码当然很easy啦)

同时,你可以试试PyPy, 引入了JIT技术。

动态类型

有人说: 动态类型写时爽, 重构起来是灾难。

对于不写unittest, 不做代码覆盖率测试的人来说, 动态语言当然是危险的, 拼写错误都可能被隐藏, 重构?别捣乱!

python创始人有话说: “如果你认为编译器可以帮你解决所有问题,那你一定干编程没多久,不管什么程序,都需要写testcase, 既然要写testcase, 那么动态类型不是问题!”

Java:

优点

用几个词形容一下Java语言:优美,严谨,健壮,不易出错。

当然,使用也非常的广泛: 常年盘踞编程人员数量排行榜第一名!

各种库也灰常多: akullpp/awesome-java · GitHub

同样的代码, 相比C++(甚至python), Java代码出BUG的概率要小点(当然,写的时候一般会比python长)

Java从语言设计上尽量避免了程序员犯错,比如自动垃圾回收, 抛弃无符号类型, 安全的枚举,编译期泛型检查(Java1.5之后加入的泛型,但是只是用来做编译器检查,运行时跟以前一样),强制的异常处理(遇到异常必须catch或者申明throws) 等等(当然,某些特性python也有)

Java标准库和好多第三方代码都充斥着浓浓的设计感! ! 各种设计模式到处可见。 从下面的语句可以看出一点来:

再看看其他:

C:

Python:

java代码多,但是API可复用行更强,选择更多(我想一次读完文件,不要buffer呢?)

因为健壮安全,所以Java成了企业级后台的标准。想想银行后台, 关键地方出点bug可不得了。

缺点:

要敲好多代码, 参考上面的例子…

没有Python那些奇葩特性,灵活性不足,怎么写你还是Java, 而Python可以写的像Javascript/Lisp/Matlab…..

简单来说, Python是给人设计的(人生苦短,请用Python), C/C++更像是为机器设计的,而Java则介于两者之间。

如果你是高手,写出的代码没什么bug,也不用怎么调试, 那推荐你用python(前提是他的慢你能忍受。 当然,高手眼里, 他会的就是最好的….)

如果你写的代码bug多,大部分时间在调试代码,你可能需要了解一下Java。

题外话,初学者,尤其是自学者,往往不知该如何学习,所以特地整理了java自学教程,从入门到精通皆有。本人也是从新手度过,知道找教程之辛苦,故此,有了这套教程,就不必劳神费力辛苦的各处寻找了,且不必担心教程质量,皆为精品。

点击即可领取:

java和python自学教程_一张图片让你明白初学者学Java还是python!相关推荐

  1. java和python自学教程_适合 Java开发者学习的Python 入门教程—文海思创

    原标题:适合 Java开发者学习的Python 入门教程-文海思创 [文海思创讯]在Java文章频道里,我们大部分人应该对该语言都非常的了解,而且在该生态圈内至少已经呆了好几年了.这让我们有常规和专业 ...

  2. 女生会java找什么工作吗_还在说女生不适合学java? 其实女生学java更有优势, 而且更容易找到工作!...

    女生适合学java吗?女生做IT怎么样 首先要表明我的观点,编程是不分男女,什么女生不适合学编程的说法,从客观上来说,我觉得这是一种偏见.不少人潜意识里认为女生不适合从事IT岗位的工作,因为他们觉得这 ...

  3. java和python自学教程视频_免费视频教程,2019年最新Java、PYthon、web视频

    干货视频,培训机构最新java.Python.web前端.人工智能视频(基础班+就业班).价值几万的Java.PYthon.web.人工智能视频教程, 为还在学习迷茫的你提供一个学习Java.Pyth ...

  4. python自学教程-3D图示Python标准自学教程入门篇

    内容简介: Python入门篇教程从最基础的计算机发展史.Python的来源与发展历史开始讲起: 依次讲解python变量与表达式.数据类型.运算符.流程控制语句等,末尾通过课堂练习.课后作业以及微型 ...

  5. python清华教程_清华教授整理的全套Python 400集视频教程,速拿!

    Python是世界上功能最多,功能最强大的编程语言之一.如果你一直想学Python,但是不知道如何入手,那就别犹豫了.这篇文章就是为你写的. 清华教授整理的Python全集视频教程,这就是你需要的 如 ...

  6. python码神_哔哩哔哩播放量达458万次python教程,这套“码神”无偿分享哦

    python是一种计算机程序设计语言,在这之前,你可能听说过很多编程语言了,难学的c.火热的java,适合新手的Basic语言等,python就是属于这些编程语言中其中一种我们先普及一下编程语言的基础 ...

  7. Python自学教程 1 Windows10环境下配置python3.8.0Pycharm的安装及初步使用

    Python自学教程 安装python最新版本3.8.0 Python 3.8.0 是 Python 编程语言的最新主要版本,它包含许多新功能和优化. 1.登录官网找到下载链接link (https: ...

  8. 新手学java 学哪方面_初学者学Java应从哪些方面学习?

    原标题:初学者学Java应从哪些方面学习? Java作为应用于网络的最好语言,前景无限看好.然而,就算用Java建造一个不是很烦琐的web应用,也不是件轻松的事情.那么,初学者学Java应从哪些方面学 ...

  9. 适合初学者学java技术的书籍推荐!

    想要学会java技术,光靠听课是不够的,看书也是非常重要的一步,以下小编为大家推荐的是适合初学者学java技术的书籍,希望能够给初学者们带来帮助. 适合初学者学java技术的书籍推荐! 1. Java ...

最新文章

  1. acm寒假特辑1月24日 HDU - 2191(背包)/CodeForces - 500A
  2. Cortex-M3 内部寄存器
  3. Linux下的Backlight子系统
  4. datagridview 动态插入图片_挑战一张照片制作动态PPT背景
  5. leetcode动态规划(python与c++)
  6. 科学计算机fix sci,计算器按mode出来的comp、SD、REG、DEg、Rad、Gra、Fix、Sci、Norm、Disp、是什么意思?...
  7. Leetcode每日一题:52.N-Queens II(N皇后Ⅱ)
  8. Gstreamer之gst-plugin-bad交叉编译集成x265(二十二)
  9. ios html转json,iOS 中 Model 和 JSON 互相转换
  10. [读书笔记]机器学习:实用案例解析(4)
  11. python实现 Floyd算法求解最短路径距离问题
  12. 发生服务器错误 显示预览,我的电脑为何在做asp的时候按F12键不能预览!预览就出错!错误代码500说服务器或者DNS错误...
  13. UI美化APICLOUD千月影视APP源码
  14. 数据仓库系列文章二:浅谈企业数据仓库总线矩阵
  15. (一)前端html+css学习笔记
  16. 基于GNN网络的session推荐模型(知识图谱技术在推荐场景的应用)
  17. 万年历功能c语言,万年历(c语言多功能).doc
  18. unity表情动画与动态捕捉表情
  19. SpringSecurity自定义认证成功处理器
  20. 导入mysql 1044_MySQL导入sql文件错误#1044

热门文章

  1. 发生在软件测试工程师身上如同段子一样的日常
  2. 荒野行动服务器维修送点券,荒野行动月卡有点券吗 荒野行动月卡送点券吗
  3. 最最详细sudo命令详解
  4. command line is too long. shorten command line for xxx的解决方法
  5. 字节,发工资了....
  6. IDEA 社区版本(CE)Spring配置
  7. 交通预测论文阅读与总结
  8. 极度未知HyperX Cloud Stinger Core 7.1白色特别版无线游戏耳机
  9. 空间数据模型之从CAD到BIM
  10. Python网络爬虫Selenium页面等待:强制等待、隐式等待和显式等待