JAVA和PYTHON哪个更难?不是计算机专业的学生适合学哪个?

用户103032655260


这个可以明确告诉你,Python是更容易的,而且也更适合非计算机专业的人来学习。Python有一个外号,叫做“非专业人员的专业语言”。

原因是什么呢?让我们来捋一捋。


1. 数据结构与算法方面。

Java最开始是从C++和C那块延伸出来的,为了实现跨平台运行的编程语言,因此,Java还是有很多底层的数据结构,比如hashmap,比如arraylist,就算你不懂原理,你至少也得会一些基本的插入,删除,排序的操作,所以,这无形之中就增添了很多的难度。

而Python主要是用于科学计算的编程语言,它封装的比较高级,Python的数据结构都是以容器的形式出现,比如:list,dict,都是包装过的。你看起来它们和Java中的某些结构似曾相识,但实际上底层实现方式完全不一样了。Python的操作涉及到的数据结构方面的知识很少。当然了,学好相关知识对于程序员是很重要的。


2. 编程范式方面。

Java是最经典的面向对象OOP编程语言,因此,你想完全学好Java,必须要学会面向对象编程,这其中就有非常多的对于新手来说晦涩难懂的东西,比如,继承,多态等等。

Python也支持面向对象编程,但是Python也是多范式编程语言,它还支持普通的面向过程编程,以及更高级的函数式编程。在面向过程编程中,这是最经典的,“所写即所得”,写一句话,什么意思,直接运算就完事了。当然,这也造成了Python可维护性和可读性不如Java的问题,但是说到难度,必须还是Python简单。


3. Python是动态语言

Python不用声明变量的类型就可以赋值,可以更改,而Java是强类型的。


4. 类库强大

有这样一种说法,说Python就好比是瑞士军刀。是的,Python功能很多,尤其是在科学计算方面。比如说,最近非常火的深度学习。Python平台的框架是最多的,有TensorFlow,PyTorch,MXnet,Caffe等等,如果你想从事人工智能,机器学习方面的学习,那么Python绝对是你的首选。


5. 结语

最后想说一句,学习什么语言,不应该看什么语言是简单的,而应该看,什么语言是最有用的,是最能够完成你想要完成的任务了。

不选简单的,只选对的。

不管是什么语言,都需要理论和实际相结合,勤于动手,才能学好。祝题主越学越好:)


稼轩说机器学习


从编程语言自身的复杂度上来说,Java要比Python更复杂一些,但是Python也可以写出非常复杂的程序。

Java语言是纯粹的面向对象编程语言,有严格的语法要求,同时Java是典型的静态语言,也就是说Java不允许未经定义的赋值。正因为如此,Java代码具有较多的模式性(仪式性)的内容,包括一些复杂的定义过程等。另外,Java对抽象的要求比较高,学习Java实际上就是在学习Java如何完成抽象。

Python编程语言是脚本式语言与面向对象语言的结合体,Python既具备脚本式语言的简洁性,同时又具备面向对象语言的灵活性,所以Python得到了广大程序员的欢迎,比如那句流传广泛的“人生苦短,我用Python”就是一个比较形象的比喻。

对于非计算机专业的学生来说,由于Python语言简单易学,同时Python的开发环境也比较容易搭建,所以学习Python是一个不错的选择。

Python有多个应用领域,比如在Web开发、大数据开发、大数据分析、机器学习、自然语言处理等领域都有广泛的应用,不同的领域需要掌握不同的知识结构,所以在学习Python之前最好先定一个学习方向。

虽然不同方向需要学习的内容有所区别,比如大数据开发要学习hadoop、Spark等内容,机器学习需要掌握Numpy、Scipy、Matplotlib等内容,但是基础部分的内容是统一的,比如列表、元组、字符串、函数、OO编程、异常处理、数据库开发、网络基础开发等内容(我在头条上写了关于学习Python的系列文章,想学习的同学可以看一下)。

最后,学习Python需要做大量的实验。

作者简介:中国科学院大学计算机专业研究生导师,从事IT行业多年,研究方向包括动态软件体系结构、大数据、人工智能相关领域,有多年的一线研发经验。

欢迎关注作者,欢迎咨询计算机相关问题。


IT人刘俊明


当下,Java是不可动摇的老大,而Python势头正猛。很多想学编程的零基础小白在Python和Java之间纠结,不知道该学什么?今天千锋武汉详细对比分析Python和Java的不同点,给你作为两种编程语言之间抉择的参考!

一张图告诉你!Python和Java的不同点!

从图表中,你可以很容易看出 Java 比 Python 罗嗦。在 Java 中读一个文件要写10行代码,而在 Python 中只要两行。这一点是 Python 的优势,因为很多新手程序员会喜欢编写很少的代码,第二点则是关于静态变量,动态变量,你需要强类型的语言和严谨的编译器来检测犯二的代码。在 Java 中,你不会看到,在一个字符串变量中接着存整型变量。执行速度是企业级应用的命脉,你可以看到 Java 比 Python 快,但是要记住,你需要编译才能运行 Java 程序,而 Python 程序不要编译可以直接运行。

Python 控制台可以直接解释 python 命令,这对于新手来说意味着会更加简单!所以现在 Python 和 Java 2:2,扯平了。虽然你还会看到 Java 中 hello world比 Python 需要更多行代码,但最终你会发现,他们二者的能力是一样的,没有谁差。当然,学 Java 并把它当成职业生涯的编程语言,你绝不会后悔。但与此同时,你可以在任何时候学习 Python,这对于写一些小的工具集也非常有用。

总的来说,Python作为一门脚本语言,很容易入门。编程并不是说掌握一门或几门语言就足够了,重在提高思维能力。而Python容易入门,工具多,短短数行代码就可以实现一个强大的功能,增强初学者的信心,另一方面让初学者有一个对编程思维的初步理解。

在这之后再学习Java,首先语法很容易入门,再者对编程有一定理解后,才更能体会到类、继承、接口,甚至之后接触各种框架,这些内容对于大型项目带来的优势。”

诚然,从Python和Java二者的学习难度上讲,后者的难度不言而喻。如上图所示,同样写一段“Hello,World”的代码,在Python环境中可以用更为直观的编码方式呈现。也正因如此,Python大大降低了初学者的学习门槛。

不过,就实际情况来讲,初学者学习任何一种语言都需要综合考虑是否适合自己。

虽然Java是应用最广泛的语言,但是Python因为在人工智能和大数据方面的出色表现、以及简单易入门的性质,从去年开始,就已经成为了很多人的首选语言。人工智能是未来,Python也是未来。

最后,无论你选择何种编程语言,都去好好享受编码吧。


千锋武汉


java的难学程度排列第三,第一、第二难学的是C和C++,所以Java是C++--,而C++又是C--,故java对C语言而言是实施了两次减负,但java确是安全而高效的,必竟它是源于美国军事项目在投标中败出,才不得不转入民用的,因而各大金融和安全类项目基本上都采用java(当然,这是针对民用市场而言的,军事用语不会采用java,军事项目都有自己特定的语言)。而python呢,它易学难精,适用于中小项目,且安全性也不高。由于python脱离底层太远,如果只会python,那么你就等于不是真正懂机算机的人,因为python是把底层的东西都封装好了,让你只管应用就行了。这就是python为什么学起来非常简单的原因。


飞蛾滩知识产权


不要从编程语言层面去选择。任何编程语言的语法都是明确的,除了极少数比较复杂难以掌握意外,比如C++,其它的都比较容易掌握。

非专业自学者在选择编程语言之前应该先选择编程领域。比如:服务器后端开发、移动设备app开发、网页应用开发、嵌入式开发、3d开发等等。选择一个合适的领域,再去选择学习擅长这个领域编程的编程语言。

在选择一个领域时,除了兴趣以外,还要考虑几点:学习难度、学习周期、工作机会。从这三点来考虑的话,适合非计算机专业自学者的领域有:网页应用开发(html+css+javascript)、移动应用开发(java/objectc、swift)和服务器后端开发(Java/php/python/ruby/go)。

最后,尽量结合自身的优势:背景知识和工作经验。如果是数学专业的,不妨尝试一下数据处理(python)和人工智能(python),如果熟悉金融知识,不妨尝试服务器后端开发(java),将来从事金融系统的开发工作。



自学编程社区


第一点收到多位同行指出的问题,在此就跟大家说不好意思了,小女子才疏学浅,等学问研究好了再来悟空问答。

2、定义与应用

Python是一种解释型脚本语言,应用于以下领域:

  • Web 和 Internet开发
  • 科学计算和统计
  • 教育
  • 桌面界面开发
  • 软件开发

Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程,应用于一下领域:

  • 编写桌面应用程序

  • Web应用程序

  • 分布式系统

  • 嵌入式系统应用程序等

综上所述和结合现在部分程序员的操作,已经是Java工程师的一般都是通过自学Python,从而运用到工作中。

本身Python的编程语言相对java要简单、易学一些,换句话就是Java可以自学做Python,但是Python自学做Java会难一点,Java有规范和要求Python是没有的。


朗小妹儿


Java为什么难些

Java的是面向对象编程,围绕“对象”展开的,它有个最核心的话,“万物皆为对象”。也就是说,只要你把一个世界上存在的东西写进Java代码里,那它就会被当做一个对象,而Java的编程则是围绕这个核心思想。

因此Java刚入门并不是特别好理解这个对象的妙用,但是有一定面向对象语言基础的朋友选择Java一定会上手快速。



Python为什么轻松些

Python作为近年势头猛烈的语言,使用率正在逐渐赶超Java,最经典的一句话告诉你Python的上手难度以及开发效率:“人生苦短,我用Python”。

这句话的含义是Python的语言简洁,作用却非常巨大,因为它脚本语言的特性,它的编程仿佛就行敲命令行,写脚本嘛。完成同样一个功能,Python需要敲的代码远比Java简洁。

宇文氏习惯性多嘴:人生苦短,如果可以的话,两个语言都接触一下绝对有益处,但是请先学通一门,不要贪多。

关注一下“极客宇文氏”,更多编程领域的那些事

极客宇文氏


不是计算机专业的,想学编程,是Java还是Python,这个不是问题。

不管你想学哪个,首先你得对计算机一般操作没问题。

然后,你得了解一些编程概念,比如面向对象编程(OOP)、函数式编程,以及相关的编程逻辑思维,掌握方法,对问题进行分解、组合、关系和实现等模式套路。

当然,这才开始,还有相应语言的类库要学习以便拿来就用,不要自己从头开发,也没必要这样干——不要重复发明轮子。

如果不做职业性考虑,只是想了解编程,简单玩一玩,那Python学习相对自然点,容易上手和理解。其表达方式或编程实现,更贴近人的自然醒描述问题,所以很容易接受。

若作为职业考虑,那就体系化好好学,必须深入学才能有实际应用能力。

Java強类型语言,要求严格,偏向于后端服务,各种框架和企业解决方案比较成熟,目前是开发语言的主流。

Python其实各种事都能干,尤其在大数据和人工智能(AI)上,更是了得。这也是目前比较偏向的性的编程语言——好多大公司都这方面的支持库(应用解决方案),不过学高级应用,对个人的能力要求越高,如高端算法、机器学习等。有兴趣够你学一阵子了……


牛旦教育IT课堂


其实程序语言都是触类旁通的,不同的程序语言的适用场景不一样,基础语法都是想通的,如果想要学习的话,最好先确定自己学习编程的目的,然后可以先学习一门程序语言,然后,学好学通,再去学习其他的。

从语法上讲,我认为python更简单一些,对初学者更加友好,上手更快。python里面将一些功能函数包装在一个个模块里面,一个模块里可能存储着某一个方面的多个功能函数,像os模块用于文件处理,math模块存储着一些数学函数,学习的时候,可以了解一个模块的功能再学习里面的函数。使用的时候也十分方便。

相比java,我觉得python稍简单一点。不过,如果是零基础准备入门的话,也可以先学习下C语言或者matlab呢。


AI深度学习求索


从学习难度上来讲,Python比Java要简单得多,尤其适合非计算机专业的学生适合。当然,Python更容易入门并不仅仅是首选的理由,主要的理由如下:

1. python在应用方面来讲更多,由于历史原因,Java的应用更多地体现在网络编程方面,而近年来Python在数据分析和机器学习方面得到的应用更广泛,对于非计算机专业的学生来说,学习python更可能是为了解决本专业的问题,而不是编写专业的网络程序或者安卓应用程序。因此,用Python以及相应的库,可以解决读写Office文档,数据处理与分析,简单的机器学习等问题,对各个专业学生来说应用都更加广泛。可以替代Matlab等专业程序。

2. python的支持更全面。单纯从第三方库的角度来看,Python相比Java可能不具有明显优势,但是从第三方库的分布来看就完全不一样了,正如同应用的领域不一样,python的第三方库更多地在一些“更接地气”的方面,而这些更接地气的第三方库可以让你的开发变得简洁而有效。不重复造轮子,是其中最明显的优势。

3. python也可以实现大型的程序。Python容易上手,并不代表着其不能完成大型的应用,事实上,python完全可以搭建非常复杂的大型程序。同时,由于Python存在不同的发型版本,在应用上而言也可以根据不同的需要进行选择,比如科学计算的话选择Anaconda和Ipython,而需要提高效率的话则尽量使用CPython,此外还有和微软.net结合的Ironpython或者和Java结合的Jython,这都是Java无法比拟的。

最后,在编程效率方面Python远高于其他主流语言,当然,其多线程锁和运行效率也是一直为人诟病的,但这些缺陷正在不停的得到解决,而且,随着计算机硬件水平的提高,编程快显然比运行速度快更重要。


分享到:


相關文章: