首页 > 互联资讯 > 技术交流  > 

编程究竟难在哪?

编程一点都不难;它只是和你十几年来在学校受的教育格格不入而已。

自小你受到的教育,总是:

1、记忆和理解一个个的知识点

2、给你一个未完成的拼图,让你把自己记忆的、某几个合适的知识点以正确的姿势放进去(超过三个就是难题,超过五个就是压轴题!)

3、好了,满分

换句话说,你从未学过创造;你只是被训练的极为擅长“填补拼图中缺失的一角”而已。

看我的这个回答:代码是如何控制硬件的?

嗯,显示所有答案,你会发现另一个怼我的答案排在第一。

他说,“高票答案没有真正回答问题”,而许多许多人表示同意——而且非常反感那些装X的答案,以至于要狠狠踩上一脚。

搞笑的是,他的答案也被很多人认为“没有真正回答问题”。

终于,我知道这些人缺失的是哪一环了。于是不得不添加这么一段回复:

解释下这个抽象的0/1是如何出现/消失于电路中的。事实上,电路中压根就没有0和1。就好像你手机充电器的指示灯一样,当它接通电源时,指示灯亮;拔下来扔桌子上,指示灯灭。很多人胶柱鼓瑟,非要在里面找“充电器是怎么知道自己有没有插到电源上的”。但实际上,我们每个人都知道,指示灯就是盏灯而已。接到电上,它不亮也得亮;拔下电源,它想亮也亮不了。同样的,电路中压根不存在什么0和1。我们给它插电,然后合上开关,某段电路便得到了供电——然后我们给这个状态起个名字叫高电平。它和充电器一样,是一件死物。它压根不知道任何东西。但我们需要知道它的状态。所以我们不得不在电路中接入指示灯(或电压表),然后根据指示灯的明灭,我们才知道电路是哪个状态。进一步的,聪明的人类把“指示灯”做成0或1的形状,就把电路状态以一目了然的形式表现出来。甚至于,我们还可以把它转换为屏幕上的图形/字符、音箱中的声音,从而间接的看见/听到电信号。再说一遍:电路中不存在0和1。它们只是按基本物理规律运行而已。为了方便我们理解,我们才想办法做了一些“高级指示灯”,从而使自己能以0/1甚至汉字/图像的方式直观理解电路状态。太多人严重缺乏这种最基础的动手能力,不知道人才是本体,这才总是傻乎乎的想找到“电子器件究竟在哪个点获得了智能”。

可笑吧?这么个幼儿园级的简单问题,得如此长篇大论才能说清楚——显然,他们甚至压根就没有把一个幼儿园级的问题表达清楚的能力。因为能说清楚他们自己就会完成思考了(这也是那个认为“高票没有解决问题”所以自己走低彻底解决了问题、然而还是有人在他的评论区疑惑“0/1怎么对应到高低电平上”的原因)。

幼儿园不解决;现在,想要教会他们,你就必须彻彻底底的掰开、揉碎,像喂两个月的婴儿那样一点点给他们喂!

实质上,这已经等于教不会了。

当然,这个问题实在太简单、太初级;大多数人在他们上幼儿园之前就已经解决掉了。

所以,读到上面那段文字,你可能无法感同身受。

那么,这段呢?

我们高中数学为什么不重视算法?高中学的数列,三角函数,求导,圆锥曲线相关问题的解法和算法有什么关系?

编程不难。但它要你创造。

过去你已经习惯了的、出题人准备好一切、只留下一两个缺口让你补充拼图的“思考”方式,在这个领域渣都不是。

听着,你不需要学习什么“语言”。C/C++、Java、Go、PHP、Python……统统用不着。

你只需要知道,程序语言有顺序分支循环三种控制结构、与或非三种逻辑——剩下的,统统靠你自己。

不。你就是再读一千本书,也甭想靠这个把“编程的技能”直接灌进你脑子里。没那好事。

相反,你必须自力更生,你必须靠着“鄙陋”的顺序分支循环和与或非以及中小学水平的数学运算支持,解决手头的一切问题。

你学的是编程,不是编程语言。

脱掉C的底裤,并不能帮你写出哪怕一个简单的鼠标驱动程序。

混知乎或其他网络论坛,总有人忍不住骂“你们码农怎么什么话题都想插一嘴?”

很遗憾。但程序员的工作,恰恰正是“理解各行各业的工作,然后把它教给电脑”。

没错。

学编程,学的甚至不是计算机本身;相反,它要求你从声学到视觉暂留、从结构力学到滤波解调……随便哪行哪业,你都要能够快速抓住重点、然后把它说的清清楚楚明明白白,这才可能把它教给计算机、让CPU代替人工作。

如果连“手电筒的原理”你都理解不了、如果连“遥控小车”这样简单的发明你都做不到“信手拈来”……那么,他人从液体分层原理借来的冒泡算法、从猜测的人脑工作原理偷来的神经网络,你又怎么可能理解?

它要求的,是“从三百五百甚至成千上万个知识点中挑选出最合适的那几个、然后用它们解决你所面对的问题”!

编程真的不难;但你从未受过解决问题的训练。

而编程,恰恰就是最最纯粹的、以精确无歧义的方式表达问题解决方案的一种工作。

不。

你甚至不知道“学习编程”就是学习“如何用电脑解决问题”,反倒学编程语言本身去了……

这种学法,怎么可能不难?

编程究竟难在哪?由讯客互联技术交流栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“编程究竟难在哪?