51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4771|回复: 1
打印 上一主题 下一主题

[原创] python和java自学哪个好?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-6-15 16:10:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
       对人工智能、深度学习这些有浓厚的兴趣就去学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,我就愿意自学哈。
       所以我觉得仅仅对于小白来说,最重要的事情不是学完基础就继续。而是找到职业发展路径。知道发展了以后在去找重点去学习。

1.如果未来发展是web方面:那么我们需要主要学的是python的基础、python的进阶、前端开发以及web开发;
2.如果未来的发展是爬虫工程师:那么我们需要学的除了上面这四种还要加上爬虫。
3.如果未来发展是数据工程师:那么还要掌握自动化运维、数据挖掘和分析以及
4.那么未来发展是人工智能的话:就要学习机器学习人工智能相关知识;

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

第一阶段、Python基础

知识点:
1.计算机组成原理:计算机组成部分、操作系统分类、B/S和C/S架构、理解软件与硬件的区别
2.Python变量以及开发环境:字符串、数字、字典、列表、元祖等
3.流程控制语句:程序的执行顺序,顺序执行、循环执行、选择执行
4.函数:定义函数、调用函数、函数的嵌套、递归函数
5.文件的基本操作:文件的打开、编辑、关闭
6.面向对象编程:类对象、实例对象、定义类、实例化对象
7.异常处理:学会捕捉异常、自定义异常
8.模块和包:理解模块和包的概念并学会使用
9.飞机大战游戏制作:自己独立完成飞机大战游戏

第二阶段、Python和Linux高级

知识点:
1.Linux系统应用:Linux发行版系统的使用、基本的操作语句
2.网络编程:TCP/IP协议、服务器工作过程
3.并发编程:线程、进程、协程
4.函数高级应用:熟练使用函数的调用等
5.正则表达式:熟练舒勇re模块的各种方法
6.数据库:关系型数据库、非关系型数据库、MySQL
7.Python语法进阶:闭包、装饰器、生成器、迭代器
8.mini-web服务器:根据网络服务的过程写出简易的web服务器
9.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等技术,包括上面系统模块里提到的一些技术都要学习。


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    开心
    2021-6-9 14:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    2#
    发表于 2021-6-28 10:49:18 | 只看该作者
    肯定先学python,很明显对于测试学习资料更多,被更多人认可,还有就是python更容易学。没有理由不先学习Python
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-15 11:47 , Processed in 0.059745 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表