学编程到底是学什么?
只有程序员需要学编程吗?
今天,学习编程的大部分还是程序员和期望成为程序员的朋友。编程在大众眼中还是一种专门的职业技能,学了,是用来找工作的。
不过,作为一个积年的老程序员,作者认为:在不是很久远的将来(也许三五年,也许十来年之后),编程将从职业技能逐步蜕变为通用技能 。
我们可以类比“识字”这个技能来看——
百十年前,大多数老百姓都不认识母语文字。当年具备了“认得字”这一技能,就可以获得比大多数人工作环境更优越,报酬也更高的职位。那时,识字无疑一种职业技能。但到了今天,识字率已经逼近100%,具备此技能已经不再是任何职场加分项。相反,如果在今天不认字,那恐怕注定只能从事低端工作了。未来,编程将成为人人都会做的事情,职场中的一员,除了要具备听说读写本国语言的能力外,还得能够读写代码。而职业写代码的人,将越来越少。
类似的技能还有:
驾驶——汽车工业发展起来后,职业司机会越来越少,驾驶逐渐成为人们的通用技能。即使一时无法达到社会全员编程的地步,至少正在朝着这个方向发展——
越来越多的互联网行业非技术岗从业人员,比较典型的像产品经理(PM),都在自学编程。
如果大家留意一下儿童教育的话,不难发现:儿童编程 已经成K12教育领域的一匹绝尘黑马,在短短几年中异军突起,大有进入主流教育体系的势头。
编程的核心是什么?
从语言特征(词汇、语法等)的角度来讲,最复杂的编程语言远比最简单的自然语言简单得多 。
我们学习各种自然语言是为了日常生活与人交流、收发信息,学习编程语言又是为什么呢?
是为了用编程语言描述事物、概念,以及它们之间的相互关系和运行方式,将大千世界转化为计算机能够理解的电信号,驱动硅晶金属构造的计算机部件去完成任务!
编程的核心 在于通过各种各样的算法 去实现具体的业务逻辑,把繁杂的过程抽象化、可计算化。
从纯粹软件的角度讲,甚至可以说:算法 + 数据 == 计算机程序。
受过计算机科班教育的人一定上过一门课:数据结构,这门课是计算机科学的基础,它的核心内容就是各式各样的算法,它们是几代计算机科学家从解决现实问题中提取出的套路——这些才是编程的核心。
简单而言,"学编程"就是学习用编程语言编写算法!
研习算法,修炼内功
计算机技术从诞生起就处在飞速发展之中。编程语言从无到有,从少到多,从最初的01代码,机器语言到后来百花齐放的高级语言,此消彼长,兴衰交替。
各种工具、框架更是日新月异,各领风骚三五年乃至三五月就被淘汰者成百上千。但是经由现实问题中提炼出来的经典算法 ,却经得起时间的考验 。
这些经典算法是计算机发展过程中世界上最聪明的一小撮人千锤百炼出的,解决某些模式问题的方法和策略。
这些方法和策略基于人类几千年文明史的思维基甸,又经历了最严格的数学分析和验证,本身既是人类文明的结晶,同时又是一种有效的思维训练 。
用数值表达现实事物,用运算描述任务目标,再通过算法处理数据找到达到目标的最优化路径——这个思维的形成过程,远比学会模型本身更为难得。
一篇文章告诉你编程到底学什么?
就从这两年起,编程广告开始铺天盖地的出现,各大公众号的广告推广文章中很难看不到关于编程课程的介绍。处于未来信息化的社会里,编程仿佛已经可以和语文,数学,英语一样变成必学的科目之一。
那我们今天来探讨一下编程到底是什么?广告中不断跳出来的学习编程思维,是一种必须要学了编程才能掌握的思维方法吗?
重点一,即使是学了编程,也不一定要当程序员,但是编程真的可以锻炼孩子的思维和综合能力。
重点二,无论你有没有基础,只要肯动脑,就一定能学会编程。
编程是什么?
本质上就是和电脑对话,电脑其实就是一堆机器零件所拼搭出来,一个能够用逻辑算法发出指令的机器。
所以编程的最初用处就是,和电脑能听得懂的方式来交流,编写的程序就是你对电脑下达的指令。
编程的过程是,用电脑的语言来给电脑安装指令,让这个指令完成你所想让他完成。
编程的过程就是在学习电脑的语言,需要什么样的条件,达到这个条件之后,会获得什么样的效果,都必须要合理安排,清晰无误。
让电脑听得懂你的操控指令,电脑不会自己思考,必须要靠你一步一步的指挥。
对指令的要求是步骤清晰,严谨,合乎逻辑,详细没有错误
实行的条件可能有很多的变化
when if else
指令一:(when)当我说开门的时候,走到车子边。
指令二:进到车子里来
如果(if)门开着直接进来。(是)
如果(else)就打开门。(否)
写程序的过程其实就在解决各种问题。
1. 拆解——各种会发生的可能
指令需要按固定的流程进行,先是……再……如果……再……最后……
在发布一个指令中,可能会发现他没办法按你想象的一样顺利的完成,中途可能会发生各种问题,那接下来就需要把这些问题细化的步骤。
电脑程序的世界很单纯,只有0和1,对和错,没有模糊值。只要运行结果和期望不符合,就证明中间肯定有哪儿出错了。
2. 细化——
分解问题,找到问题出现的地方,解决问题。
比如这样发布指令:小鸟要通过炸弹走到猪那里去,方向是东南西北,就是前进,向左,向右,后退。
步骤就是,向西一步,向北一步,向西一步,向北一步,最后到达终点。
以上这样的模块其实还可以用重复来执行,会节约很多步骤。下一步就是学会把指令优化。
3. 找出规律 重复(节约步骤)
整合模块,排列组合,优化线路。
这一关的问题是,如何用最少的指令完成全部线路,拿到三个星星。可以用到的指令模块除了前后左右,还出现了循环模块,它可以让指令循环重复最多5次。
先看出路线重复的规律,是按照前进+往上,前进+往上的模式,这时候直接把这两个模式拖到循环里去,重复4个循环,再前进,就可以完成全部路线了。
4. 发现错误的能力
误差 及时回顾 发现问题 解决问题
就像做数学题一样,如果不是按照步骤一步步清晰的解题,没有耐心跳过步骤,结果就一定会出错。
但是步骤很多的情况下,出错肯定避免不了。就必须找出所有可能,回头再次回顾找出问题,再说解决问题。
这时候没有侥幸心理
能够有一定的数学基础 ,清晰的思考过程,解决问题的能力。
在这一关里,就出现了一个bug。
在转变方向的时候,少走了一步,结果就是小鸟执行程序时候向北走就撞会到砖头,游戏结束。
正确的步骤是,小鸟要走到猪那边,需要往南走2步,右转向西1步,再次右转向西1步,面向猪的方向再向北走2步。
结论
编程思维非常锻炼综合能力,平时的解题和做事情的时候有没有按步骤的习惯,能不能提前规划计划。
细致的观察力,还需要一定数学逻辑作为基础 ,有纠错能力和解决问题的方法。
理解循环,发现倍数关系,正确的角度坐标, 方位方向。
找到关键细节理解文字的能力
学习编程确实能够锻炼思维推理,能够达到的目的:
做事有条理 , 细心观察事物变化规律。解决的问题会由简到繁,越来越多,要求有不断深入学习的能力。灵活思维,换不同的思维解决难题。解决问题的能力,抗挫折能力。其实以上这些虽然可以作为学编程时候的卖点,但真心不是要靠学编程来得到这些技能。毕竟在孩子小的时候,大量的玩耍和运动也很关键。尤其在接触初期,很多关于数学的基本功,在阅读游戏和生活中就能够得到锻炼。在编程中你会发现,这些技能被放大集中出现的在编程过程里。它会让学习变得更加容易了,而不是反过来靠学编程来得到这些知识和能力。
简单来说,有数学基础,有逻辑思辨能力,保证阅读效果,集齐这些能力,再学编程就事倍功半,一点就通。
不然一边学一遍补只是给自己和孩子徒然增加难度。
小编温馨提示:请喜欢此篇内容的小伙伴,关注小编后续精彩更新,也可以选择在下方留言与小编互动!不要吝惜你的大拇指为小编点赞哦!
相关问答
电脑 编程 课 是学什么 的[回答]电脑编程课主要学习:C语言、Python、C++、JavaScript、Java、Swift、R还会学习数据结构、操作系统和微机原理的内容。扩展资料编程是编定程序的中文...
编程 课 是学什么 内容?编程课学习的内容会因课程级别、目标受众和所选择的编程语言而有所不同,但通常包括以下一些基本方面:1.编程语言基础知识-语法:学习特定编程语言的...编...
学编程 包括哪些内容?学习编程需要掌握计算机科学的基础知识,包括数据结构、算法、操作系统,编程语言的学习,如Python、Java、C++等,以及相关的开发工具和环境,如IDE、版本控制工...
学 习 编程 都 学些什么 内容?学习编程需要掌握以下几个方面:1.编程语言:学习一门编程语言,例如Python、Java、C++等,掌握其基本语法和数据类型等。2.数据结构和算法:了解常见的数据...
电脑 编程 课 是学什么 的?1、C语言:C语言作为一种简单灵活的高级编程语言,它是一个面向过程的语言,一般是作为计算机专业的基础入门语言课程。2、Python:Python是一种面向对象、交...
学编程 要学那些课程?学习编程需要掌握一些基本的课程,如计算机科学基础、数据结构与算法、编程语言(如Python、Java等)、数据库、操作系统、网络编程、前端开发和软件工程等。此...
学编程 需要什么基础?谢谢邀请!目前编程语言的一个发展趋势是简单化,所以学习编程语言对于基础的要求并不高,总的来说需要具备以下几个基础:第一:操作系统基础。不管是面向过程...
幼儿 编程是学什么 ?少儿编程学习是把原来复杂的英文代码编程语言转换成图形化指令化模块化的方式,让游戏,情景动画,积木构件的形式呈现。旨在孩子九大能力的培养:观察力,想象力...
不懂英语,电脑 编程 怎么 学 ?学好 编程 可以做 些什么 ?不懂英文看不懂英文文档能不能学好编程?答案是:能。为什么?因为编程的中文资料也很多很丰富,足够你学习用了。百度一下,可以看到有那么的书够你选够你看...
孩子要不要 学编程 课?编程课的未来发展, 到底是什么 样的?在信息技术高速发展的今天,编程已经变成了一项基本技术。就像现在每个白领都必须要熟练掌握电脑办公软件一样,在我们的小学时代,谁也没料到不会制作ppt会让你...