栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > 资讯 > 其他资讯

如何从编程小白到编程大神

如何从编程小白到编程大神

接下来,姐姐给大家讲一件过年时发生在姐姐身上的趣事:

小侄子:阿姨,你会编程吗?

答:是的。...

侄子:那你教我怎么做网络上的黑客。用电脑,黑匣子,打一堆不知所云的字符,随时可以偷别人账户里的钱。

这是违法的吗?...

这时二叔走过来说,那不是儿童编程吗?我的孙子正在学习这个。

我阿姨也来凑热闹,说:“啊,我邻居家孩子刚学编程,一个月三四万,虽然风不吹雨不下。”

答:现在编程是趋势,国家也开始鼓励青少年学习编程,培养编程思维。未来社会会越来越智能化,如果你不知道这个东西,你就会慢慢落后。

大妈:那你给我们讲讲,我们学习一下。...

我:先说一堆……

除此之外,也有朋友通过一些视频和笑话,对编程有了自己的理解。

所以他们会问我,程序员掉头发吗?你会写机器人吗...不知不觉中,编程似乎成了家喻户晓的名字。

虽然每个人对【编程】的理解不同,但是每个人都在或者将要接受编程的相关知识(包括一些老人和小孩)。那么,编程到底是什么?你确定你什么都知道吗?

接下来雅姐就带你通过以下几个层面,对编程有一个全面正确的认识。

第一关 编程初印象

1.1编程为什么会发生?

大家都说艺术来源于生活。你知道【编程】从何而来吗?为什么会产生?

当代大学生和打工仔每天都在纠结同一个事情,就是吃什么?

因为工作地点离家远,早上时间不够,或者宿舍根本打不着火,又不想出门,不能自己做饭。于是,一种“生活需求”应运而生——外卖。

所以外卖来源于我们生活中的需求,点外卖是通过【编程】实现的。

比如超市收银员。

假设一个顾客买了100样东西,如果他用计算器加起来,会浪费时间,还可能算错。但是如果你用编程来完成一个软件,那就不一样了。你应该见过超市的收银设备,它的内部系统也是程序化的。扫码获取价格,用程序自动进行加法。最后,还可以提示更改金额。速度也节省了人力物力。

另外还有医院挂号系统,你每天用的微信/支付宝等等。,都是编程的杰作。

原来【编程】来源于我们的生活需求,是为了让我们的生活更加便捷,我们每个人都直接或间接地参与到编程的某个环节中。

如果你还觉得有点困惑,我们再来看另一张图:

图中的【思维】是指我们需要的各种需求,也就是我们希望计算机为我们做什么。

图中的表达式是计算机可以理解的指令0和1。

而如何把我们的思维表达出来,让计算机执行,需要我们(程序员)来完成。

这是雅姐要讲的第二个问题,编程的宏定义。

1.2编程的概念

用一句话来解释[编程]就是写能让计算机执行某件事情的代码。

描述的再详细一点,就是为了完成某个需求,把解决问题的步骤用计算机能理解的语言写成指令。这是【编程】。

所以,我们可以看到编程中有几个部分:

1)需求——要解决的问题或要完成的任务;

2)把这个需求变成现成的计算机可读代码;

3)计算机执行代码实现需求。

那么请思考:编程中最重要的【核心】是什么?

没错,就是上面说的第二部,解决了这个问题,而且是八成成功。

至于怎么解决,嘿嘿,放心吧。让我们休息一会儿,喝点水,放松一下,进入下一关。

第二关 从生活视角理解编程

欢迎来到第二层。我们继续说最后一关结束时留下的悬念。

也就是如何把【需求】一步步写成计算机能读懂的代码,也就是【逻辑】。

其实在我们对编程领域知之甚少的时候,并不是一定要看一些专业的科普文章,因为里面的专业术语会让你觉得晦涩难懂,从而产生畏难情绪。

所以,亲爱的姐姐选择用我们生活中最常见的场景,带你去体验一下。什么是【逻辑】?“步”是什么?“流程”是什么?

2.1计算机中的“步骤”和“逻辑”

场景一:假设,今天早上想吃煎蛋,但是不知道怎么做。于是我找到了一个食谱,如下:

从菜单上可以看出,只要按照操作菜单的【步骤】去做,最后应该就能得到一个煎蛋。

这个食谱也可以理解为,只要按照这个12345,最后就会完成相应的任务。

但是这个时候,肯定会有一些朋友产生疑惑:不,这个煎蛋不是我做了以后做的。相反,它变成了一个黑暗的盘子...为什么?

哈哈,这个问题是对的。因为不能只有【步骤】,还需要【逻辑】。

什么是“逻辑”?我们一起看第二场吧。

场景二:记录我一天做了什么。日记如下:

从日记中可以看出,逻辑有三种,即顺序、分支和循环。

序列结构:先做什么,再做什么。

比如早上起床,先刷牙再洗脸。

比如日常工作中,先打卡,到工作站,再打开电脑,写代码。

分支结构:判断条件和选择条件。

比如不下雨,你不带伞;如果下雨,你带把伞。

比如遇到上司,对领导说早上好(谄媚的表情);遇到同事,说吃早饭了(微笑)。

结构:反复做一系列操作。

比如代码出了问题,就要调试、修改、调试、修改、调试、修改,直到问题解决。

那么当[逻辑+步骤]的时候,就形成了一个新名词叫做[过程]。

所以在煎鸡蛋的场景中,一些小盆友怀疑鸡蛋做不出来是对的。

因为我们还是需要【逻辑判断】,比如煎蛋是小火还是大火?酱油多少才算适量?如果每个步骤都加入了适当的逻辑,最终的程序就不会出错。

2.2计算机中的“过程”

好了,如果你让电脑帮你煎蛋,过程会是这样的。

你会发现过程是非常严谨的,并不像我们看的菜谱那么随意。

严谨性好吗?当然,如果你不小心,你可能会失去你的银行账户里的钱,然后,你就要哭了~ ~

好了,这就是雅姐用两个生活场景给你解释的——编程是怎么回事。

我们再总结一下:编程其实就是把我们的需求一个个变成【流程】,写进电脑,让电脑帮我们执行。

最近怎么样?不是很流行吗?想继续挑战吗?

程序员眼中的编程是什么?请看下一关。

第三关 从专业角度认识编程

欢迎来到第三层。本关姐姐再来讲讲程序员眼中的编程,也就是从专业角度讲什么是编程。

温馨提示:这一关涉及到很多专业术语,不过别着急,雅姐会一一为你讲解。...

3.1数据结构

言归正传,有一本书叫《算法+数据结构=程序》,书名其实是从专业角度对编程的定义。

翻译成中文就是“算法+数据结构=程序”。这里提到两个专业术语,[算法]和[数据结构]。

首先来说说什么是【数据结构】。

数据结构实际上是数据存储的方式。所谓存储就是保存数据以防丢失。

让我们用几个生活中的例子来理解:

人群在火车站的售票亭排队。

乘客排队买票。第一个排队的人可以先买票。站在后面的终于可以买了。

如果我们把乘客看成数据,这个数据结构就是【队列】。

特点:先进先出。

我小时候玩过的玩具枪。

玩具枪可以一颗一颗装圆子弹。往弹匣里装子弹的时候,是一颗一颗往下压的。但射击时,最后压进去的子弹先出来,第一颗压进去的子弹最后出来。这种结构被称为“栈”。

特点:先进后出。

计算机的文件夹

一个文件夹可以包含多个子文件夹和文件,子文件夹可以包含下一级的子文件夹和文件。

这个结构可以理解为【树形结构】。是文件树的“叶”节点,子文件夹可以是树的分支或“叶”。

它的特点是:分支和层级关系。

这个时候,肯定有朋友又有疑惑了。为什么需要这么多数据结构?有什么用?

答案是肯定的,因为存储数据结构的不同方式决定了要执行的任务的顺序和速度。如果你使用适当的数据结构,你的程序将获得最佳性能。

3.2算法

现在,我们再来说说【算法】。

算法是可以解决问题的方法。

好像有点抽象。我们举个例子。比如,我们要在人群中寻找“穿蓝衣服白裤子的人”。人太多了,我们一眼都找不到。那么怎么找呢?

方法有很多。在这里,雅姐简单说两句:

第一种类型:

先找穿蓝衣服的人。

从蓝色衣服中寻找穿白色裤子的人。

判断是不是男的。

第二种类型:

先除掉所有女人。

排除那些不是蓝色的。

排除那些不是白裤的。

以上两种方法最后都能达到我们的目的,都是算法。那么它们各有什么优缺点呢?

要看我们面对的是什么样的群体(数据):如果这个群体中女性较多,那么第二种方法优势明显。

因此,在编程中,我们一直在努力寻找解决问题的最佳算法。

说到这里,雅姐突然想起一个笑话,讲给你听。

一个程序员下班,老婆打电话说:“你去超市买十个苹果,下班回家。如果你看到一个西瓜,买一个。」

结果程序员只带了一个苹果回家,悲惨的命运不得而知。但导致他犯错的思维逻辑是编程中的算法逻辑:“没看到西瓜,买十个苹果;如果你看到西瓜,买一个苹果。」

总的来说,【算法】就是运用逻辑解决问题。算法和数据结构的结合就是程序。而程序的设计就是编程。

这时候你可能又会想,编程到底是一种知识还是一种能力?

我姐认为【懂编程】是计算机知识积累的结果,但是【会编程】是一种实践能力。

类似的还有:有些人很懂车,但不会开车上路。所以理论要结合实践~

好了,真正知道什么是编程后,姐姐会继续给你讲一些你不知道的编程冷知识,下一关,标准会让你开口~

第四关 科普编程知识

欢迎来到第四关。我们这一关主要是普及一些编程知识,让你对编程有更透彻的了解,饭后有更多的谈资~

1:常识:编程是谁发明的,是如何进化的?

说来话长。让我们听听你姐姐的意见。

你猜怎么着很久以前,在电子计算机诞生之前,计算机的角色是由(女性)人来扮演的。

因为大部分计算都是由人类女性手工完成的,所以这些女性被统称为“计算机”。

但是后来大家发现人工计算很浪费时间,也有误差,于是慢慢研发出了一种叫做[true 空 tube]的东西。

这些true 空电子管有一个有趣的特点:true 空电子管两端节点的电流可以用三个管脚控制。这使得true 空电子管在处理模拟信号时变得可行。true 空管可以控制机器,传输模拟信号。

后来,数学家们意识到,如果我们可以使用布尔运算,我们就可以在理论上创造出机器来执行这些运算。所以人们用这个理论来建造一些【机械计算机】,但是由于机械计算机速度慢,成本高,没有真正的应用。

下图是【机械电脑】:

接下来是【固态晶体管】,可以提供和真空晶体管一样的功能,但是体积更小,价格更便宜,寿命更长。所以电脑变得越来越便宜,应用越来越广泛。

但由于操作人员(程序员)必须坐在终端前开闭开关,非常不方便,所以后来他发明了打卡法,可以更简单方便地切换开关。

下图是打孔的纸孔。穿孔卡上有许多扁平电缆,每一行都有可以穿孔的孔。这些线路和开关相互匹配。

现在,人们不再每天操作那些无聊的开关,而是程序员去打洞。每行代表不同的指令。有一台机器可以连接到电脑上阅读这些指令。

这样,我们可以在穿孔卡片上写程序。这样减少了相当大的工作量,写一张卡片可以用很长时间,也避免了重复造轮子的问题。

然后,天才格蕾丝·霍珀的妹妹,后来被称为“计算机程序之母”,想出了一个好主意。

她建议可以设计一个程序,让人们用类似英语的语法写下自己想做的事情,然后用这个程序把英语翻译成机器语法,交给机器执行。

于是,她发明了世界上第一个编译器,命名为A-0。那时候还没有组合语言和编程语言。所有程序员都得把[程序]翻译成[机器码]的形式,01101010110,在纸上打孔,然后送到机器上阅读。

编程因为A-0【编译器】迎来了曙光。虽然只是科技史上的一小步,但确实是革命性的。它改变了人们思考编程的方式,创造了一种抽象的思维方式。这意味着人们可以在更高的层次上思考。也改变了人们对如何写程序的思考。

之后逐渐衍生出了今天的编程。...

2:常识:编程语言和编程是一个概念吗?

所谓编程语言,其实就是一种可以被计算机读懂的语言。它也有发展的历史。你感兴趣吗?

坐在长椅上听你妹妹说话。

第一种编程语言是机器语言。很简单。有多简单?

简单到只用“1”和“0”两个数字就能编程。

也很气人。你有多生气?

就像把盐和味精混在一起,你就能挑出一粒白糖混进去。

虽然机器语言难学、难懂、不可重复、编程复杂,但速度极快。但是人类通过机器语言和计算机对话,类似于外国人用中文和中国人对话。所以对于人类来说,0.00001秒和0.000000001秒没有区别。所以,你的机器语言跑得再快,也无法赢得人类的心。

于是,汇编语言诞生了。

汇编语言,其中用助记符代替机器语言中的操作码,用地址符号或标号代替指令或操作数地址。大概相当于那个。这些学汉语的外国人已经开始学拼音了。

然而,汇编语言所做的只是编译机器语言。所以代码的移植和推广还是很困难的,理解代码的设计意图也有不小的障碍。

终于在1956年,一种高级编程语言诞生了,它受到了成千上万人的喜爱,也让无数程序员秃顶。

FORTRAN,这种注定围绕着无数聪明脑袋的光辉语言,其实是一个不太喜欢编程的约翰·巴尔克斯发明的。

作为高级编程语言家族中的长子,虽然历经几代更迭,但在数值计算、科学与工程技术等领域仍占据着强大的主导地位。慢慢变老,但要记住,你叔叔永远是你叔叔。

当然,编程语言并不是说越合格越吃香。根据Toibe 2019年10月发布的程序语言排名。

70年的c语言,95年的Java,91年的Python,现在势头正盛,坐上了第二的位置。

此外,在排名前十的语言中:

70后,C语言脱颖而出;

80后有三种语言上榜,最好的是83年正式命名的C++,排名第四;

90后有四种语言上榜,其中Java和Python表现最好,其次是PHP和JavaScript

00,名单上只有两种语言,即C#和VisualBasic.NET。

我们有理由相信,未来会有更丰富、更便捷、更人性化的编程语言出现。也许有一天,人类的语言可以直接翻译成机器语言...

所以,正在犹豫要不要学编程的小伙伴,你还在等什么?赶紧学吧...

3:常识:什么是编程思维?计算机思维呢?

首先,计算机思维和编程思维是一个概念,我们可以解释一个。那么什么是编程思维呢?

有这样一个笑话,学编程之前,1000是一个整数,学编程之后,整个数字就是1024!

学术上讲,编程思维是解决问题的算法和代码实现过程的集合。编程思维有两个组成部分,一个是算法设计,一个是代码实现。

其实学习编程最重要的不是掌握编程的语言,而是要学会编程过程中使用的思维方式是“编程思维”。

编程思维的核心不是编程语言,也不是语法,甚至不是算法或者数据结构本身,而是如何分解问题,从中发现规律,建立解决问题的模型,并映射到合适的数据结构和算法,然后我们就可以根据算法编写程序。

盖茨、扎克伯格、乔布斯等前辈都用经验告诉我们,拥有编程思维的人是成功的一半——不仅逻辑严密、思维缜密,解决问题和管理能力也不是普通人能比的。

好了,这次到此为止。不知道你收获了多少?

另外,对于我们现在的大部分朋友来说,学习编程技术是最重要的!种一棵树最好的时间是十年前,其次是现在。对于准备学习编程的人来说,想要提升自己的核心编程能力(内功),不妨现在就开始!

学习分享编程书籍:

学习视频分享:

整理(源码,项目实战视频,项目笔记,基础入门教程)。

欢迎转行学编程的伙伴,学会用更多的材料比自己思考成长更快!

如果你对C/C++感兴趣,可以关注边肖,后台私信我:【编程通信】我们一起学习吧!可以获取一些C/C++项目学习视频!你已经设置了关键词自动回复,自动收到就好!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/news/1179174.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号