经验分享一文带你了解编程入门的通识知识

一起学编程 一起学编程     2022-12-16     391

关键词:

1. C/C++ 的历史及特点

有关计算机的历史、C 语言的历史、C++ 的历史,以及各自有什么特点,甚至哪年谁谁谁发明了什么等等,请自行网上搜索。

2. 编程思维

乔布斯说过:“每个人都应该学习编程,因为它会教给你如何思考。”

从厨神的故事开始

我相信每个人对“编程”这个词都有自己的认识。我从一个小故事说起吧。

有个厨神,开了一下小饭店,人们非常喜欢吃他做的菜。

但是厨神也有累的时候,也有生病的时候,也有带着孩子出去玩的时候,这时候虽然有其他厨师烧菜,但顾客的满意度会下降。并且大厨也没有三头六臂,饭店的规模始终无法扩大。

所幸厨神的孩子是学编程的,给支了这么一招:让厨神将菜谱全部写出来,调料全部量化,炒菜过程标准化,整理出一份“超级菜谱”。这样,其他厨师按照这个“超级菜谱”烧的菜,能达到厨神的九成水准,这已经能满足绝大多数顾客的口味了。

然后饭店继续招聘厨师,以这个“超级菜谱”培训新人,然后开分店等等,饭店越来越红火。

再到后来,厨神的孩子还研发了炒菜机器人……

什么是编程

炒菜的过程,就是一个程序;把这个程序具体的写下来,就是编程。用人类语言写的程序可以让大厨去执行,用计算机语言写的程序可以让机器去执行。本书我们具体讨论的是“计算机编程”,是指用程序控制一切可以控制的元素。例如:

工业自动化控制:程序可以获得各种传感器数据,控制机器动作

玩游戏:程序控制屏幕显示、游戏角色运动

查看天气:程序获取气象仪器的数据,保存入历史数据库,传输给用户

QQ聊天:程序控制消息数据在网络中收发

办公自动化:自动控制 excel 表格、收发邮件

网页编程:控制 web 浏览器元素

编程接口

什么东西可以被程序控制呢?以及怎样控制呢?

取决于这个东西有怎样的接口。

比如电灯,预留了两根线接一个开关可以控制灯的亮灭;有些灯预留了两个开关,比如楼道的灯,楼上可以控制开关,楼下也可以控制开关。这就是”灯“的接口,是”灯“自带的特性。

比如游戏,一些人刷装备,游戏玩好几天。作为程序员我们可以想:有个程序来控制游戏角色移动多好,碰见敌人自动打,血少了自动喝药瓶,药瓶少了自动去购买,打死敌人自动捡钱捡装备,装备太差自动卖掉等等。但问题是:游戏厂家不提供这些接口,你就无法控制游戏角色。但是有人通过非法手段找到了一些控制方法,这就是外挂。

非正常控制的方法很多,比如电话的合法控制方式是插一个电话机,但是有人在中途破开电线可以用非正常的方式获取到该电话的控制权,这就是最简单的黑客了。

注意“非法”,为什么说外挂与黑客违法呢,因为他们用非法的方式去控制不属于自己的东西。

API

我们编写的应用程序,通过接口来控制目标。这个接口的全程是:Application Programming Interface,简称 API。

比如,Windows API,就是应用程序用来控制 Windows 的接口。同时,微软还为 Windows API 准备了非常详细的开发手册,给开发人员以参考。

再比如,EasyX 是控制屏幕显示的 API,比如画条线、画个圆等等。

有了画线、画圆的 API,画一个五子棋的棋盘就很容易了,然后画个圆就可以表示棋子,这都很简单。难点是:当前局面是否已经某一方获胜?在哪里落子可以提高赢的概率?不管是在某个位置画圆,还是控制机械手移动到某个位置落子,都先要计算该在哪里落子。所以,控制什么东西不是重点,重点是决定控制的逻辑算法。

算法

厨神可以写出来超级菜谱,是因为厨神精通炒菜。不要指望有个不会炒菜的人能写出来菜谱。

所以,程序只是替你执行你的算法,程序不可能执行一个你自己都不了解的算法。

程序出错了,需要调试。调试的目的,就是检查程序的执行过程,和自己心中所想是否一致。如果程序和自己所设计的算法有一点不一致但却没有察觉到,或者自己的算法本身就不太完美,那么这就很可能会产生一个 bug(为什么把未发现的缺陷叫 bug?自己网络检索下吧)。

希望对大家有帮助!


此外,我也给大家分享我收集的其他资源,从最零基础开始的教程到C语言C++项目案例,帮助大家在学习C语言的道路上披荆斩棘!

 

整理分享(多年学习的源码、项目实战视频、项目笔记,基础入门教程)最重要的是你可以在群里面交流提问编程问题哦!

欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!(↓↓↓↓↓↓)

一文带你了解java编程语言的前世今生|java核心知识点整理

他们质疑你,嘲讽你,却又想成为你,取代你本文由海拥原创,首发于CSDN,参与原力计划目录👴前言☕️一、为什么Java要叫Java(咖啡)?🍺二、Java标准划分✍三、Java语言的优点🍚四... 查看详情

一文带你了解python中的继承知识点

1类继承Python是面向对象的编程语言,因此支持面向对象的三大特性之一:继承。继承是代码重用的一种途径,Python中的继承就像现实生活中的继承一样,子类可以顺利继承父类的属性或方法。允许我们再对象之间创建复杂且类... 查看详情

经验分享新手学java编程语言怎么入门?

新手学Java编程语言怎么入门?掌握语言基础是第一步,了解java基础知识,Java关键字、核心概念或者基本编码技术。掌握操作符、控制执行流程、访问权限控制、复用类、多态、接口、字符串、泛型、数组、容器深入研究、JavaI/... 查看详情

一文带你入门java函数式编程

Java在最开始是不支持函数式编程的,想来也好理解,因为在Java中类Class才是第一等公民,这就导致在Java中实现编程不是件那么容易的事儿,不过虽然难,但是结果我们也已经知道了,在Java8这个大版本里为了支持函数式编程,Ja... 查看详情

一文了解java强制类型转换

本专栏由十年Java开发经验专家编写,本专栏定位于Java基础知识,既适合新手入门又适合老鸟巩固基础知识。一共99节课,每节课只需几毛钱。作者简介:笔名seaboat,擅长工程算法、人工智能算法、自然语言处理、计算机视觉、... 查看详情

结合rocketmq源码,带你了解并发编程的三大神器(代码片段)

摘要:本文结合RocketMQ源码,分享并发编程三大神器的相关知识点。本文分享自华为云社区《读RocketMQ源码,学习并发编程三大神器》,作者:勇哥java实战分享。这篇文章,笔者结合RocketMQ源码,分享并... 查看详情

一文带你了解大数据技术之zookeeper(入门级)(代码片段)

大数据技术之Zookeeper入门1.Zookeeper概述2.Zookeeper特点3.数据结构4.应用场景5.下载地址1.Zookeeper概述Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目。Zookeeper的工作机制:2.Zookeeper特点3.数据结构4.应用... 查看详情

一文了解java隐式类型转换

本专栏由十年Java开发经验专家编写,本专栏定位于Java基础知识,既适合新手入门又适合老鸟巩固基础知识。一共99节课,每节课只需几毛钱。作者简介:笔名seaboat,擅长工程算法、人工智能算法、自然语言处理、计算机视觉、... 查看详情

职场必备知识一文带你了解清楚职场中常用的个税知识(代码片段)

本文内容包括但不限于:如何计算到手后工资?如何计算个税?哪些收入需要交个税?年度汇算包括哪几项?全年一次性奖金收入计税方式?劳动报酬如何计税?(含退税/补税理解及详细流程)... 查看详情

一文带你了解知识图谱融入预训练模型哪家强?九大模型集中放送

©原创作者 |疯狂的Max01预训练模型与知识图谱1.预训练模型近年来,随着语言模型的技术发展,其在NLP领域获得巨大的成功,业界SOTA的前沿模型也大多是Transformer结构模型的变体。Transformer结构模型使用注意力机制来获取文本... 查看详情

一文带你了解fpga

FPGA是什么FPGA(FieldProgrammableGateArray),现场可编程门阵列,一种半定制的数字集成电路。FPGA凭借其灵活性高、开发周期短、处理性能强(并行)等特点,广泛应用于通信、图像处理、医疗等领域。随着科技的进步,FPGA在人工智... 查看详情

一文带你了解2018年最流行的前端技术

2018年即将过半,前端开发这个行业又进一个台阶了。找来一个现代前端技术图谱看看,真是吓尿了——宝宝心里苦啊!点图片看大图 仔细想想,这要是全学会了还得了,也太不切实际了。还是来看看现在流行的是有哪些东... 查看详情

华为防火墙入门难?一文带你学会防火墙基础知识~

1.防火墙的工作模式路由模式:如果华为防火墙连接网络的接口配置IP地址,则认为防火墙工作在路由模式下。透明模式:如果华为防火墙通过第二层对外连接(接口无IP地址),则防火墙工作在透明模式下... 查看详情

一文带你了解大数据技术之mapreduce

MapReduce概述1.MapReduce定义2.MapReduce优缺点2.1优点2.2缺点3.MapReduce核心思想4.MapReduce进程5.官方WordCount源码6.常用数据序列化类型7.MapReduce编程规范8.WordCount案例实操1.MapReduce定义MapReduce是一个分布式运算程序的编程框架,是用户开... 查看详情

概念+实战讲解!一文带你了解rfm模型kaggle项目实战分享数据分析(代码片段)

今日份学习分享,请查收!目录必须要看的前言一、什么是RFM模型?R值:Recency,最近一次消费F值:Frequency,消费频率M值:Monetary,消费金额二、实践应用有哪些?基于RFM模型进行客户细分通过RFM模型评分... 查看详情

从源码入手,一文带你读懂springaop面向切面编程

之前《零基础带你看Spring源码——IOC控制反转》详细讲了Spring容器的初始化和加载的原理,后面《你真的完全了解Java动态代理吗?看这篇就够了》介绍了下JDK的动态代理。基于这两者的实现上,这次来探索下Spring的AOP原理。虽... 查看详情

多图:一文带你入门掌握jvm所有知识点(代码片段)

本JVM系列属于本人学习过程当中总结的一些知识点,目的是想让读者更快地掌握JVM相关的知识要点,难免会有所侧重,若想要更加系统更加详细的学习JVM知识,还是需要去阅读专业的书籍和文档。本文主题内容:JVM内存区域概览... 查看详情

一文带你了解eipaas和eipaas的国际趋势

...IntegrationPlatformasaService)是企业级的集成平台和服务。本文分享自华为云社区《初识EiPaaS和EiPaaS的国际趋势》,作者:华为云PaaS服务小智。什么是EiPaaSEiPaaS(EnterpriseIntegrationPlatformasaService)是企业级的集成平台和服务 查看详情