一、为什么学编程
这里我并不是问大家,是因为兴趣啊还是就业学编程。
而是,我想要学Python为了量化交易,或者我要处理表格。我想要学Java我就想自己建站。是否有这种非常明确的目标,有目标才能明确学习路线。
如果在这里,你还没有选择好编程语言,请看:
世界上到底有多少种编程语言?_世界上有多少种编程语言_
上述卡片中的内容,介绍了不同方向建议的编程语言,也从编程语言出发介绍了各个编程语言的应用方向。大家可以作为参看。
尽量在入门阶段就找到目标,无论这个目标是短期的还是一个长远的,有目标才有学习的动力。
二、英语对变成来说重要吗?
编程也不需要多好的英语水平,跟我一起看个Java输出例子:
System.out.print("你好");
此处的,System表示"系统",out表示"在...外面",print表示"打印",每一个单词之间使用.(英文输入法的点)来隔开,小括号中的"你好",就是要输出的内容。所以 ,也是这句话的意思就是向控制台打印出"你好"这两个字。
而且编程更不是写英语作文,编译器也有一键补全功能:
基本只要记得开头的几个字母就可以了,敲出来之后我们的开发工具就直接提示了。还是距离,React应用的例子,街用编译器,我们只要记住前两个字母,编译器就会给我们大部分的框架代码供我们选择:
编程语言里面isFinished()函数,不懂英语的话就不知道是什么意思,如果会英语马上会知道是判断“是否结束”的函数。很多API或者源码是没有注释的,因为函数名基本上可以达意了,如果你不会英语,影响大吗?不大,浏览器都有插件,点到哪个不理解的直接就翻译了。
结论:英语不好可以学编程,编程语言是一种基于一定规则的语法和符号组成的,和大家的母语无关。但是如果你希望学习更多的编程知识,更好的英语能力可以帮助我们理解文档、书籍、技术论坛。在学习编程的时候,需要阅读很多技术文档,大多数技术文档是英语编写的。
三、数学对编程来说重要吗?
远比数学重要的是逻辑和表达,什么是逻辑与表达?
下面和我来看一张图理解一下编程:
图理解下编程:
【思维】这里的思维值得是程序员需要考虑到各种需求,转化成让计算机帮助我们实现什么
【表达】也就是计算机可以看懂的指令0和1,也就是各种编程语言(不严谨是为了小白能听懂)
1.1 下面以煎鸡蛋理解编程
所有人都可以按照步骤做成一个煎鸡蛋,但是不一定所有人做的都好吃,原因就是光有步骤不行,还要有逻辑。
顺序结构=做事情的先后顺序
循环结构=重复做的操作(比如鸡蛋翻面)
逻辑判断=鸡蛋是否熟了,是否需要翻面。
转换成计算机流程:
好了以上内容你看的懂么?编程就是将一个个的需求转化成流程。如果你看懂了,学编程完全是可以的。
编程和数学的关系
数学和编程都需要强大的逻辑思维能力,在解决数学问题时候,我们需要运用逻辑推理和证明,在编程当中。我们需要设计算法和解决问题,者也需要逻辑思考和推理能力。
另外就是抽象思维,比如数学当中有集合、函数、空间等。编程中也有类似的抽象概念,比如:变量、数据结构、函数等。
数据结构和算法,在数学中,我们需要找到高效的方法来解决问题,在编程我们需要设计算法来实现特定功能。
虽然编程与数学有一定的联系,但是并不是完全依赖的关系。编程主要关注问题解决、算法和逻辑思维,而这些并不一定需要很高的数学水平。然而,在某些特定领域,如机器学习、图形学、密码学等,数学知识可能会更为重要。根据你的兴趣和目标,你可以选择适当的数学知识来辅助你的编程学习。
四、各个学科的自学路线图
Java 难易程度:⭐⭐⭐⭐
第一个代码:
public class HelloWorld {
public static void main(String[] args) {
//main方法是一个程序的主入口 是不可缺少的
// TODO 自动生成的方法存根
System.out.println("HelloWorld");
//输出语句 “”(引号为英文print)里的为字符串
//输出语句即引号里面的字符串
}
}
Java的就业方向
- 1、企业级应用开发:企业级应用开发大可以做全国联网的系统,小到中小企业的应用解决方案。多数没有前端开发的通常是从一个服务器接收数据,处理后发给另一个处理系统。
- 2、网站开发:比如说京东商城、淘宝。
- 3、软件开发:例如Eclipse,MyEclipse,IneteliJIdea和Netbans IDE等知名Java开发工具。
- 4、嵌入式领域:Java因其具有的诸多优点受到了嵌入式领域的青睐,并得到了大量的研究与开发应用。
- 5、大数据:Java大数据的应用领域非常的广泛,可以简单分为几类:基础大数据服务平台,大中型的商业应用包括我们常说的企业级应用、各种类型的网站等。
- 6、科学应用:Java的安全性、便携性让Java在科学应用、金融服务、空间巨大。
不管编程语言排行榜怎么变,Java在国内依旧是市场需求量最大的语言。大家可以打开招聘软件搜索下看看,是不是Java开放的岗位最多。
Java如何入门
- 入门:Java SE基础-->Java Web(含数据库+H5+js+vue)
- 中级:Maven-->Git-->SSM框架 -->MybatisPlus-->Spring Boot-->传智健康【项目实战】
- 进阶:Spring Cloud(微服务开发,学这一套就够了) 也可分技术点学: (Dubbo-->Zookeeper-->RabbitMQ-->RocketMQ-->Docker-->Redis -->MongoDB-->搜索技术Elasticsearch-->MySQL进阶)
- 项目:SaaSiHRM【企业服务】-->好客租房【生活服务】-->万信金融【金融行业】-->闪聚支付【聚合支付】-->权限管理一体化解决方案-->短信网关平台
- 以上技术,足以支撑找一份好的java开发工作。
如想工作后再提升,页面底部还有30+套,工作后再学习提升的技术:
【JDK8-15新特性】【编程强化】【数据库强化】【安全框架SpringSecurity】【报表技术】【模板引擎VelocityTools】【工作流Activiti7】…完整线路图看这里
Java程序员学习路线图_黑马程序员2023版java学习路线
Python 难易程度:⭐⭐⭐
简单也是相对的,但是Python成为了很多中学生的必修课,所以真的难不倒哪里去。学编程肯定都是从基础开始学,Python语法非常简洁,所以入门简单。看看第一个代码,和前面两个的差距吧:
print("hello world!")
代码就能直接看出来Python的简易程度了吧。
Python的就业方向
web开发:Python是Web开发的主流语言,与JS、PHP等广泛使用的语言相比,Python的类库丰富、使用方便,能够为一个需求提供多种方案;此外Python支持最新的XML技术,具有强大的数据处理能力,因此Python在Web开发中占有一席之地。Python为Web开发领域提供的框架有Django、Flask、Tormado、web2py等。
科学计算:Python 提供了支持多维数组运算与矩阵运算的模块numpy、支持高级科学计算的模块Scipy、支持2D绘图功能的模块matplotlib,又具有简单易特点,因此被科学家用于编写科学计算程序。
游戏开发:很多游戏开发者先利用Python或Lua编写游戏的逻辑代码,使用C++编写图形显示等对性能要求较高的模块。Python标准库提供了pygame模块,利用这个模块可以制作2D游戏。
自动化测试/运维:Python又是一种脚本语言,Python标准库又提供了一些能够调用系统功能的库,因此Python常被用于编写脚本程序,以控制系统,实现自动化测试/运维。
多媒体应用:Python 提供了PIL、Piddle、ReportLab等模块,利用这些模块可以处理图像、声音、视频、动画等,并动态生成统计分析图表;Python的PyOpenGL模块封装了OpenGL应用程序编程接口,提供了二维和三维图像的处理功能。
爬虫开发:爬虫程序通过自动化程序有针对性地爬取网络数据,提取可用资源。Python拥有良好的网络支持,具备相对完善的数据分析与数据处理库,又兼具灵活简洁的特点,因此被广泛应用于爬虫领域之中。
当然还有人工智能相关领域,大家要知道的是不同方向的Python学习重点不一样!!
Python入门教程:
Python入门教程,可以让你的Python基础非常扎实。
人工智能之python编程零基础入门
Python学习的简易步骤:找到目标 —> 了解Python —> 知道变量/算法/解释器 —> 数据类型 —> 列表和元祖 —> 字符串 —> 字典 —> 循环 —> 面向对象 —> 项目实战;
/
内容 | 知识点 |
---|---|
计算机组成原理 | 计算机组成部分、操作系统分类、B/S和C/S架构、理解软件与硬件的区别 |
Python变量以及开发环境 | 字符串、数字、字典、列表、元祖等 |
流程控制语句 | 程序的执行顺序,顺序执行、循环执行、选择执行 |
函数 | 定义函数、调用函数、函数的嵌套、人工智能之python编程零基础入门 |
文件的基本操作 | 文件的打开、编辑、关闭 |
面向对象编程 | 类对象、实例对象、定义类、实例化对象 |
异常处理 | 学会捕捉异常、自定义异常 |
模块和包 | 理解模块和包的概念并学会使用 |
飞机大战游戏制作 | 自己独立完成飞机大战游戏 |
在前面一共是有两套相关的路线图,大家作为学习参考。每一套打开之后都是有完整的课
大数据学习路线2023版-黑马程序员大数据学习路线图
前端 难易程度:⭐⭐⭐
想要学习好编程必须要指定一个计划,首先前端三驾马车大家都不陌生了。
- HTML
- CSS
- JavaScript
大概学习20-25天即可,要是放在前几年,掌握这三样基本上就可以找到一份工作了。
- JavaScript:20天
- 环境基础:15天
- Bootstrap(15天)、jQuery UI(15天)、Amaze UI;流行的前端框架、jquery mobile、angular.Js(20天)、Vue.js(20天)、React.js(20天)
- Echarts(1周)、tableau(1周)
只是给大家做一个参考,并非时间层面上学了多少,而是技术层面上掌握了什么。建议每天练习代码的时间是学习时间的1-1.5倍左右。
前端学习课程分享:
HTML+CSS-->移动web->JavaScript基础-->Web APIs->数据交互&异步编程-->Node.js-->Vue2+Vue3-->React核心技术-->微信小程序
前端开发学习路线2023版-黑马程序员web前端开发自学路线
软件测试 难易程度:⭐⭐⭐
基础方面,学完了可以到外包公司做“点点点”的功能测试。需要学习计算机通用知识:操作系统、网络、Linux、数据库、shell脚本;还有测试基础知识:测试流程、测试用例设计方法,缺陷管理等;
如果想要更高的天花板,需要学习一些测试的专项就是:自动化测试、接口测试、安全测试,在这里就需要掌握一门编程语言,因为自动化都需要写代码。软件测试2022年最新的课程分享:
功能测试 > Linux > MySQL > Python > UI自动化 > Appium框架 > 接口自动化 > 性能测试 > 小程序自动化实战> 金融项目实战:
软件测试学习路线图2023版-黑马程序员软件测试进阶路线