java与python-python和java自学哪个好?

对人工智能、深度学习这些有浓厚的兴趣就去学Python,单纯为了就业的话不管是web还是软件开发,或者是移动开发都建议Java。但是如果你学会Python了,你去做个互联网公司的运营什么的,也是很吃香的,因为你会各种数据的爬取和分析等。

懒人目录:

Python和Java的对比

Python的学习线路图、方法和资源

Java的学习线路图、方法和资源

一、Python和Java的对比

Python可就业岗位:web开发、应用开发、大数据、数据挖掘、科学计算、机器学习、人工智能、运维、自然语言处理......

Java可就业岗位:安卓应用开发、视频游戏开发、桌面GUI、软件开发....

不要以为Python的岗位就比Java多!根据数据显示,Java的需求量是所有语言当中岗位需求量最大的一门语言。文章开头就说了,有兴趣的可以选择Python入门,并且Python入门还是相对简单的。但是深入你会发现你要学的越来越多。至于找工作作为需求的话,建议Java。至于Python也会有网上各种招聘Python的,虽然没有写需要其他语言的基础,但实际上都是默认你会Java转的Python。

二、Python的学习线路图、方法和资源

我一直都认为找到未来发展方向才是最重要的事情。我说说我自己吧,我一开始觉得python有发展方向,因为我是一个做推广的,也涉及到seo相关工作。我深知道数据的重要性,开始只是对python有了浓厚的兴趣,一腔热血准备学习python。但是,学了一些基础知识之后就放弃了,也许是因为书太厚看不下去,也许是因为不知道学的这些可以做什么。有一次工作当中,发现了爬虫对于我的推广工作很有利。很多杠精会说,有那么多可以爬虫的软件还学什么python,我就愿意自学哈。

所以我觉得仅仅对于小白来说,最重要的事情不是学完基础就继续。而是找到职业发展路径。知道发展了以后在去找重点去学习。如果未来发展是web方面:那么我们需要主要学的是python的基础、python的进阶、前端开发以及web开发;

如果未来的发展是爬虫工程师:那么我们需要学的除了上面这四中还要加上爬虫。

如果未来发展是数据工程师:那么还要掌握自动化运维、数据挖掘和分析以及

那么未来发展是人工智能的话:就要学习机器学习人工智能相关知识;

上面这样的知识点可能会说懵大家,直接看各个阶段的相关知识拆解: />

第一阶段、Python基础

知识点:计算机组成原理:计算机组成部分、操作系统分类、B/S和C/S架构、理解软件与硬件的区别

Python变量以及开发环境:字符串、数字、字典、列表、元祖等

流程控制语句:程序的执行顺序,顺序执行、循环执行、选择执行

函数:定义函数、调用函数、函数的嵌套、递归函数

文件的基本操作:文件的打开、编辑、关闭

面向对象编程:类对象、实例对象、定义类、实例化对象

异常处理:学会捕捉异常、自定义异常

模块和包:理解模块和包的概念并学会使用

飞机大战游戏制作:自己独立完成飞机大战游戏

第二阶段、Python和Linux高级

知识点:Linux系统应用:Linux发行版系统的使用、基本的操作语句

网络编程:TCP/IP协议、服务器工作过程

并发编程:线程、进程、协程

函数高级应用:熟练使用函数的调用等

正则表达式:熟练舒勇re模块的各种方法

数据库:关系型数据库、非关系型数据库、MySQL

Python语法进阶:闭包、装饰器、生成器、迭代器

mini-web服务器:根据网络服务的过程写出简易的web服务器

mini-web框架:可以编写简易的web服务器框架

想要后面知识点详细资料的请留言我来更新,至于免费课程资源如下:

三、Java的学习线路图、方法和资源

Java技术体系其实非常庞大,毕竟未来职业发展方向也很多。我们需要学习的技术还是很多的。根据初学当中问题比较多的方面,我们做出了整理。避免大家看到那么多的学习路线图还是不知道如何下手学习。网上有很多的技术大牛所说的,但是对出初入门来说,从小白掌握企业级应用的核心技术,快速实现才是高效的手段。

以下是Java学习的重点和路线,初学者还会遇到的问题比如环境不会配置,找不到安装包等等。这方面我们在之前的文章已经整理出来了全套的Java入门工具以及初学者需要的中文安装手册。和入门到进阶阶段需要的书单等内容。

结合我们十三年的教学经验,根据市场需求以及企业项目整理如下:

第一个阶段:JavaSE核心 />

首先就是Java语言基础知识点---JavaSE部分。这部分内容是Java初学的同学最应该接触的部门同时也是Java知识体系中的核心。我们来结合上图看Java其中的运行原理、JDK配置以及JRE的区别,这些内容也可以称之为计算机基础知识。以及数组、集合框架、异常处理等等,这些都是最基本的,而且非常容易学习的,需要多加练习。

其中面向对象对于初学的朋友来说是有一定难度的。这里可以参考一些设计模型或者是设计思路。例如下图这样的一个对象,调用一个方法内存图: />这类的详细资料,都会放在网盘当中。领取详情见最后

还有不光是技术方面,模式也是要清楚的。代理模式、工场模式等等的设计模式都是需要学习的。不然到后面框架应用的时候会不知道自己学了什么。后面的框架,避免大家不知道学了什么,这边给大家整理的是套用项目的知识点。回到JavaSE相关知识点,我们看到IO流有关的知识点以及多线程也是必须要学习的。在数据交互时候经常用到的是XML、JSON等文件格式。

第二个阶段:数据库相关

初级程序员必须要掌握的一种常用关系型数据库的应用,我们看下图: />

数据库的对象比如是表、视图的创建,增删改查。其实查询是在工作中非常容易见到的。在企业当中经常是需要几十张表当中来查询数据,对于内部或者是外部链接,和联合查询等等一定是要掌握的。此外,对于索引、事务也需要掌握。

第三个阶段:Javaweb阶段 />

由于Java也有web开发,一些前端技术,比如说是:HTML5、CSS5、JavaScript、jQuery等这些不见得要学的有多深入,但是都是要掌握的。Tomcat、Jsp以及数据库的交互这些都必须要掌握的。

第四个阶段:框架部分 />

这部分我们主张是结合项目去理解的。路线中我们可以清楚的看到ORM框架和MVC框架分别包括的知识点。可以优先掌握主流的SSM框架组合。在学习框架当中有的小伙伴会觉得很难,也有觉得非常简单的。其实按照规定来使用或者调用就可以了。初学的同学先要学习的是如何使用,之后再去研究内部的原理。因为框架当中的技术是封装和简化产物。

下面总结一下上述知识点当中的同类技术,比如hibernate,如果我们学会了使用Mybatis的话,上手hibernate就会很容易理解,其中SpringMVC框架应用熟练了,那Struts2框架也基本就会了。

还有web程序中包含了很多模块,但是也是包括了所有的模块,如下图所示: />

最后说一下现在的应用级别越来越大了,有海量的数据并且高并发是处理的重点,单应用的程序基本上是没有办法满足要求了,分布式是个大趋势。Dubbo、Zookeeper、Docker、SpringBoot、SpringCloud、MyCat等技术,包括上面系统模块里提到的一些技术都要学习。

Java学习资源整理如下:

你可能感兴趣的:(java与python-python和java自学哪个好?)