没有数学基础可以学编程吗?

news2024/11/22 22:46:27

一、为什么学编程

这里我并不是问大家,是因为兴趣啊还是就业学编程。

而是,我想要学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版-黑马程序员软件测试进阶路线

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/593702.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大数据:HDFS操作的客户端big data tools和NFS

大数据:HDFS操作的客户端 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开的话,你就得学数据库,sql,oracle,尤…

Vue--》Vue3打造可扩展的项目管理系统后台的完整指南(三)

今天开始使用 vue3 ts 搭建一个项目管理的后台,因为文章会将项目的每一个地方代码的书写都会讲解到,所以本项目会分成好几篇文章进行讲解,我会在最后一篇文章中会将项目代码开源到我的GithHub上,大家可以自行去进行下载运行&…

Pytorch入门(二)神经网络的搭建

torch.nn中的nn全称为neural network,意思是神经网络,是torch中构建神经网络的模块。 文章目录 一、神经网络基本骨架二、认识卷积操作三、认识最大池化操作四、非线性激活五、线性层及其它层介绍六、简单的神经网络搭建七、简单的认识神经网络中的数值计算八、损失…

mmdetection训练coco数据集(继跑通后的一些工具使用)

(仅做个人过程记录的笔记) 1、生成中间件 可以选择评估方式 --eval ,对于 COCO 数据集,可选 bbox 、segm、proposal 。可以得到result.bbox.json文件 生成pkl文件:faster_rcnn.pkl python tools/test.py config.py …

利用栈和队列共同解决迷宫问题

文章目录 什么是迷宫问题?如何解决迷宫问题?DFS(深度优先搜索)BFS(广度优先搜索) 总结 什么是迷宫问题? 迷宫问题是一道经典的算法问题,旨在寻找一条从起点到终点的最短路径。通常迷…

games101作业6

作业要求 Render() in Renderer.cpp: 将你的光线生成过程粘贴到此处,并且按照新框 架更新相应调用的格式。Triangle::getIntersection in Triangle.hpp: 将你的光线-三角形相交函数 粘贴到此处,并且按照新框架更新相应相交信息的格式。 在本次编程练习中…

删除排序链表中的重复元素(java)

删除链表中的重复元素 leetcode 83 题 删除链表中的重复元素解题思路代码链表专题 leetcode 83 题 删除链表中的重复元素 leetcode 83 题 – 跳转链接 给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。…

Python numpy - 数组与矩阵的创建&运算

数组array 一 数组的创建 (至少两个数组)创建随机整数数组 a 和 b import numpy as np a np.random.randint(10,size20).reshape(4,5) b np.random.randint(10,size20).reshape(4,5) 二 数组常用函数 数组常用函数 函数作用unique(&…

Transformer part2

(179条消息) Transformer模型入门详解及代码实现_transformer模型代码-CSDN博客 transformer的encoder和decoder的差别 1. decoder包含两个 Multi-Head Attention 层。 decoder第一个 Multi-Head Attention 层采用了 Masked 操作。 为什么需要Mask处理 如何进行Mask处理 de…

【C#图解教程】第五章 类的基本概念

程序和类 类是一个能储存数据并执行代码的经过封装的数据结构,包含数据成员和函数成员,类内通常会包含逻辑上相关的数据和函数,所以类通常会代表真实世界或概念上的事物。 运行中的C#程序实质上是许多实例之间相互作用: 类的声…

ThingsBoard 前端项目内置部件开发

ThingsBoard 是目前 Github 上最流行的开源物联网平台(12.8k Star),可以实现物联网项目的快速开发、管理和扩展,是中小微企业物联网平台的不二之选。 本文介绍如何在 ThingsBoard 前端项目中开发内置的菜单导航部件。 内置相关部…

clickhouse简介

文章目录 1:简介1.1:CH是什么?1.2:CH优势1.3:架构设计 2:CH接口3:CH引擎1:数据库引擎3.1.1:mysql引擎 2:表引擎3.2.1:MergeTree3.2.2:集成引擎1&a…

电子合同签署协议开源版系统开发

电子合同签署协议开源版系统开发 H5TP6mysqlphp 源码开源不加密 以下是电子合同系统可能包含的功能列表: 用户注册和登录:用户可以注册并登录系统,以便创建、签署和管理合同。合同创建:用户可以创建新合同,包括填写合…

Web的基本漏洞--SQL注入漏洞

目录 一、SQL注入介绍 1.SQL注入漏洞原理 2.SQL注入漏洞的类型 3.SQL注入漏洞识别 4.攻击方式 5.SQL盲注 时间盲注 布尔盲注 报错盲注 6.SQL注入漏洞的危害 7.SQL注入漏洞的防范措施 8.SQL注入漏洞的绕过 一、SQL注入介绍 1.SQL注入漏洞原理 Web程序输入的数据传…

使用git rebase合并多次commit

目录 rebase的作用简要概括为:命令:解决冲突:遗留问题: rebase的作用简要概括为: 可以对某一段线性提交历史进行编辑、删除、复制、粘贴;因此,合理使用rebase命令可以使我们的提交历史干净、简…

docker安装php

在安装 php 之前,我们可以先查看一下我们的镜像: docker images 我这里是已经存在 php 镜像了,版本就是 TAG 显示的 8.1.16 如果没有镜像,则执行下面的命令,拉取 php 镜像: docker pull php:latest 请注…

MAYLAND HOME官网上线 | LTD家居家装行业案例分享

​一、公司介绍 在MAYLAND HOME,我们为我们对质量和服务的承诺感到自豪。我们相信我们的成功与客户的满意度直接相关,这就是为什么我们努力超越您的期望,我们承担的每一个项目。无论您是想升级您的家庭还是企业,我们都会在这里帮助…

SpringBoot3 CORS跨域访问

目录 Credentials 问题一 问题二 解决方法一 CrossOrigin,最优的方法 解决方法二 通过Filter 设置HTTP 解决方法三 通过实现WebMvcConfigurer设置HTTP HTTP 协议,需要认真的学习每个细节。 allowCredentials(true) 和 allowed-origins: "*&qu…

MySQL--万文长字探究隔离性实现原理

1 隔离性简介 事务具有原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)四个特性,简称 ACID,缺一不可。这篇文章旨在讲清楚…

吐血整理 二叉树(链表实现)的基本操作详解!

文章目录 节点设置二叉树的深度优先遍历前序遍历中序遍历后序遍历 二叉树的广度优先遍历层序遍历 节点的个数叶子节点的个数第K层节点的个数值为X的节点树的最大深度翻转二叉树判断两颗二叉树是否相同判断二叉树是否是完全二叉树判断二叉树是否是单值二叉树判断二叉树是否是平衡…