少儿编程和打字培训没区别!听我来说说编程语言——养娃记0195
点击关注,了解更多精彩内容!!努力陪伴孩子成长的中年胖子。
一直有这方面的广告,所以尝试用通俗的语言说下我对编程的看法。
昨天匆忙写了一篇,有兴趣的可以看下。
少儿编程和打字一样的必备技能吗?你想让孩子咋样——养娃记0194
文章有点长,大概需要10分钟,核心意思是,如果不确定要不要让孩子学编程,也许它可能可以帮你打消这个疑虑。
能力所限,您且看且吐槽,欢迎留言。
01 简单的历史回顾,编程会是稀缺性技能吗?
很多年前,如果会打字,就是算会计算机了。
但是当时的很多人,毕业的时候电脑也没有摸过。
很多年后,Word,Excel,PPT算是基本技能,但是要用好,也不容易。
但是会了也不会特别加分。
什么意思呢,这是一个级别工具,很多人只是拿它来做工具而已。
现在很多人电脑打字不快,但是手机很溜,也可以。
但是当年打字培训班的广告也是制造焦虑的哦。
那么现在编程比当年的打字似乎高端了很多。
但是在人群的知识水准上,他们其实没有太大差异。
从这个朴素的角度来说,会编程和会打字没有太大差别。
会编程给工作带来的提升固然是有的,但是我只是扫地而已,并不需要那么多高科技。
再通俗一点,一件事,满分100分,会编程可以做到90分,不会编程我也能做到89分,这个时候,编程作为一种技能并没有稀缺性。
02 编程要解决的问题范畴,弄个屠龙刀?
其实看了很多广告,都没有特别确切地讲明这个事。可能是刻意模糊的。
编程要解决的问题,我们通俗一点可以理解成是解决一次性问题还是长期性问题。一次性就是为了解决具体问题,解决完就拉到。
少儿编程,或者是竞赛类的,都可以认为是一次性问题。
比如说,要解方程,100元1次方程,解决了就好了,这次编程行动就结束了。它也不用太多考虑后续的事了。
或者是做一次工资表,做完就好了。分析一次数据,分析完就好了。
解决很多数学问题也是类似的,问题本身不需要很多复用性,也不用去推广,将来给很多人用,不需要考虑这些问题。
这些东西,涉及很多算法,成就感会比较强。可能时间也比较短,代码也比较精炼,也不用太多考虑其他人的感受。
实际上,真正的编程工作,很多时候,是长期性的,是1个很大的系统工程,这个时候,成就感就没那么大了,兴趣爱好成了工作,多少有些不一样的感觉了。
这么多年下来,编程的很多积累都完成了。
比如说,我们摄像头识别车牌,识别人脸,10多年前可能是非常困难的,涉及到很多领域的知识,但是现在不用,有很多开源免费的东西可以用。自己不用从头开始做。
前面讲了这么多,核心的意思是,用计算机语言编程只是其中很小的一个部分,真正的编码工作,大部分都是工程问题,而不是某个看起来很有闪光点的个人英雄。
再直白一点来说,真要再工作中用编程,到时候学都来得及。
编程是工程问题不是很酷的事,一项普通的职业技能而已,和咖啡拉花比,不见得就高级多少了。
03 编程会越来越简单,和使用word也差不多
编程语言后面会有个简单的说明。我们先说编程会越来越简单这个事。
这个有很多现实因素,在很早的时候,软硬件是需要兼修的。
什么意思呢,做编程,软件要懂,硬件也要懂,要不然没法弄。
那个阶段,编程不是聚焦普通人的具体问题,更多的是——玩具。
我让电脑发出声音了,我牛!
但是这些事随着商业化的发展,会越来越简单。
这些发展的迭代速度是非常快的。
20年前的手持设备,和今天的手机比,简直是无法直视的。
今天手机的处理性能,比以前的电脑要强很多。
简单来说,手机要扫描二维码这个事,在手机刚刚出现的时候,算是一个挺难的问题,现在微信的二维码扫描识别都非常迅速。
但是它们会把这些能力开放出来给人免费使用。
如果自己个人要从底层开始写,非常不现实。
现在能用好Excel,夸张一点说可以顶过去很多人完成一个项目的了。
编程语言有很多种,现在广告比较多的,培训比较多的是Python和C++。
但是这2个语言一直也是在争议中的。
几乎每年都有很多编程语言产生,有些专注于具体领域,有些是通用的。
总体来说,是越来越简单了。
以前受制于硬件,比如说以前IPhone刚出来的时候,整个空间才8G,单子随随便便一个App就能几百M。
从这个角度来说,学很难的编程,对未来的帮助未必有那么大。
花那么多精力,学一个Hello World,产生的现实意义太小了。
04 编程只是工具,工具属性不需要过分放大
编程只是工具,早期的编程因为受制于硬件,需要花很多精力解决计算机本身的问题。
但是随着技术的进步,现在越来越聚焦实际问题了。
意思是说,很多计算机本身的限制慢慢被解决了。
什么是工具呢,比如说要计算圆周率,知道方法,人力算不出来,用计算机来算,会编程有帮助,但是光会编程没用,得理解算圆周率的方法。
比如说下围棋的AlphaGo,我们知道围棋是19X19,一共是361个点。
如果我们直接编程去算,每个点的可能性,那将是非常庞大的计算量,现在也没法解决。所以需要很深的数学背景,把问题简化,把要搜索的结果范围收敛。才有可能在现有的算力背景下,解决问题。
这个时候,编程重要吗?也重要,但是不是最重要的。
相比来说,对于一个工具的执着,就容易陷入小人驭于物的困境。
计算机语言给人的刻板印象也就在这里
编程要解决的不是编程问题,而是工具使用问题
05 手机很解决大部分电脑问题
随着科技的发展,现在对于很多人来说,打开电脑,是一件非常专业的事。
但是在手机出现之前,办公设备,电脑是最重要的。
但是现在很多人已经不开电脑了,大部分工作在手机完成了。
什么意思呢。
在电脑出现之前,要解决无纸办公的问题。
手机要解决电脑笨拙的问题。
那将来手机一定会长期存在吗?也是未必的事。
06 编程语言是什么
编程语言和电脑病毒类似,这个名词可能算是好名词,同时很多误解也有由此产生的,利用信息不对称,确实很带来很多迷惑性。
其实想用通俗的语言描述一个专业的事,不是一件容易的事。
有误解是必然的。
简单来说,编程语言就是人和计算机对话的语言(不准确也不严谨,但是好理解)。通过编程语言告诉计算机做什么。
曾经有数学家在解决一些问题的时,发现可以把问题分解成不同的步骤。
这些步骤看起来是很笨拙的,但是确实很解决问题。
比如说,1+2+3+……+100,我们知道是(1+100)*50/2。
编程思维是,从1开始,循环到n。
每一步都是前面的和 加上 n。
第一次:1
第二次:1+2=3
第三次:3+3
……
类似这样,每一次都做加法,循环100次。
整体来说,解决这些,大致可以分成3种应对措施。
- 顺序
- 从上到下依次做一件事
- 选择
- 判断,假如满足1种条件,做什么
- 循环
- 就是类似上面的做法
这就是编程的思想了。把问题拆分开来解决。
这和编程语言有什么关系呢。
07 编程语言怎么和计算机说话
前面讲了编程的思维。计算机就可以理解成是一套精密的设备。
它有一些功能,必然说在屏幕上显示一个小点。
真正实现这个功能是很复杂的,电脑的各种硬件设备调度之后才可以。
这其中的复杂程度远超我们想象,但是大部分编程的不需要了解这个。
因为有人把这个工作包装成一个功能的单元。由操作系统调度。
也就是平常我们说的Windows和苹果的IOS等,来和硬件打交道。
但是这个工作还是太复杂了,所以他们把各种工作做了分类。
有让屏幕亮一下的,有让设备发出声音的等等。
这个时候编程语言就出来了,加入设备有1000种功能。
这1000种功能怎么归类,怎么使用起来方便,就是各个语言不同的设计思路。
从这个意义上说,编程语言其实是给人看的,并不是给计算机看的。
从这个意义上来说,人是很Low的。只能用这样的大白话来沟通。
各种编程语言------>告诉操作系统要干啥------>操作系统调度硬件。
各种语言就是,对计算机的不同理解。
08 编程需要了解很多现成的东西,编程只是其中很基础的一个手段
前面说的是编程语言的区别。
实际解决问题的时候,不太可能直接从头开始编。
这个其实很好理解。
我要做法,但是我不想切菜洗菜,那就有人帮我们把菜切好洗好。
有人觉得这样不干净,有人纯粹觉得这样省力。
编程要解决问题,做饭要解决吃饱的问题。
去菜市场买菜,买回来洗好切好,炒好,吃!
外卖送切好的菜过来,炒好,吃!
编程需要了解哪里买的菜比较好。比较适合自己!
但是现在培训的都是从种菜开始的开始。
有意义吗?当然也有,但是并不是必要的。
09 编程会怎么变化,只会越来越傻瓜
很多年前,在手持设备上开发,需要考虑崩溃,内存不足等等各种状况。
开发的语言也相对底层,C为主,也有用汇编的。
后来慢慢的就越来越简单了。
为什么有Java这个语言,在一些人看来,主要是解决工程化的问题。
相比来说,C,C++这些语言,门槛是比较高的。
什么意思呢,就是我学会做饭,首先要学会修煤气灶。但是其实我只是饿了,吃泡面也是可以的。
Java把很多编程复杂的东西,都包起来,不让我们看到了。
把编程的门槛降低以后,意味着更多的人可以加入进来,加快整个行业的发展速度。
其实这些单机的语言讨论已经意义不大了。
现在硬件的成本很低,更重要的是,问题规模都不在单机能解决的。
每年淘汰的语言,新产生的语言都很多。
不见得学了Python,学了C++就独步天下了。
如果兴趣没那么大,其实真没啥必要。
10 语言没那么重要
有些孩子学了C++,学了Python会觉得有特别大的成就感。
其实对于现在几千几万种编程语言来说,整体都是大同小异的。
无非就是不同的语法糖而已。
要计算1加到100,每个语言解决的时候都是类似的。
区别的是解决一些具体问题的时候,有些差异。
这种差异有些是运行差异,执行销量差异,有些是工程差异。
什么意思呢,人比机器贵,所以如果要花很多人力,结果节省了一点时间。
未必是一个合算的买卖。
编程语言没那么重要,不要为了编程语言的语法迷惑。
没有什么高低贵贱之分。
如果真把Excel用好,大部分的Python都是废的。
现在很多Python的培训广告,似乎比Excel强很多。
但是,现实可能等把运行环境,开发环境弄利索,差不多也得放弃了。
关键得快速解决问题。
不知不觉,已经进入中学阶段,叛逆的萌芽已经越发明显,许多看起来无法接受的缺点,拖沓,拖拉,信心不足,情绪管理不善,丢三落四,凡此种种,一应俱全。我似乎慢慢把一手好牌给打坏了。不管如何,还是希望尝试着记录这段经历,聊以慰藉,抚慰余生。
[注:本文部分图片来自互联网!未经授权,不得转载!每天跟着我们读更多的书]
互推传媒文章转载自第三方或本站原创生产,如需转载,请联系版权方授权,如有内容如侵犯了你的权益,请联系我们进行删除!
如若转载,请注明出处:http://www.hfwlcm.com/info/157360.html