关于编程

Talk is cheap. Show me the code. —Linus

提起程序员,人们可能想到的是电影里邋里邋遢,对着电脑狂敲键盘,最后改变世界的牛逼人物。提起编程,人们脑子里闪过的可能是满屏幕跳动的字符,根本看不懂是什么的高大上的东西。
编程,从字面理解就是编写程序,那我们就先看看什么是程序。当然了,在此我们只讨论计算机程序。
不知道大家有没有想过,当你敲击键盘上的某个键的时候,它到底做了什么,为什么电脑屏幕上会有相应的反应。在这里,我想做一个有意思的解释。
本来是想从动物以及人类发展历程来解释这个问题,但一想这样一来又要涉及到信号学、心理学等等问题,还是算了,就从一个最简单的例子开始:电灯。当你打开开关的时候,电灯会亮,关掉开关,电灯会灭。这个时候一个电灯可以记录两种状态,我们可以赋予其含义,比如高低、好坏、有无等等。那么如果我想用电灯表示更多的状态呢?可以用更多的电灯,两个可以表示四种状态,三个可以表示八种状态,四个十六种,依此类推。学过数学的应该知道,n个电灯,就可以表示2的n次方种状态。
生活中常用的计数方式是10进制,从0到9有10个状态,而四个电灯可以有16种状态,所以可以用四个电灯来表示这10个数字,我们把4个电灯排成一排,编号,从右到左分别是1号、2号、3号和4号(为什么从右到左呢?暂且认为是习惯好了。)从1到4为🌑 🌑 🌑 🌕表示1,🌑 🌑 🌕 🌑表示2,🌑 🌑 🌕🌕表示3,以此类推。可是这样就太麻烦了,要记住很多组状态才能识别出是数字几。大家过马路的时候肯定见过红绿灯的倒数灯,大概长这个样子

一个数字用七个长条状的灯来显示。给七个灯编号,然后按照不同的顺序控制开关,就可以显示0到9这10个数字了。这样一来我们就能看轻易看出来表示的是哪个数字,但这样还有问题,我们得手动控制7个灯,每变一次数字,就得修改七个灯的状态。接下来,为了省事,我们可以制作十个控制器,每个控制器可以一次性修改七个灯的状态,这样我们就可以通过开关这十个控制器来显示十个数字了(至于这个控制器怎么实现,由于本人对这方面并不熟悉,遂不做解释。)
接下来,我们可以想的大一点,比如将一万个电灯,摆成一个100*100方阵,然后就可以通过控制开关来显示图案、文字了,哈哈,这不就是屏幕么!不过问题是如果有一万个电灯,就得需要一万个开关,按照上边的想法,需要有2*10000种控制器来控制这么多种可能,不过好在我们需要的并没有这么多,比如显示26个英文字母,那我们只需要26个控制器就可以了。不过这样还是很麻烦,其实我们可以制作一个存储器,这个存储器可以存储26种状态,然后用一个控制器从这个存储器中读取这26种状态,再将其反应到一万个灯泡上,于是,一个简单的计算机就问世了(同样,这个存储器什么原理,有兴趣的可以看看《大话存储》,还有控制器如何制作以及原理本人就不做解释了,因为并不熟悉。)
基于以上的想法,再加入更加复杂的控制器,存储器,显示器,就可以制作一个完整的计算机了。O(∩_∩)O哈哈~,当然了,以上纯粹只是个人对于计算机的理解,其实计算机的每一个部分都是复杂的技术,没有系统学习,是很难深入的。
好了,现在回到正题,说说开篇提到的编程
上边提到了存储器,我们可以把一系列的状态存入存储器,需要的时候读取出来反映到屏幕或者其它电子器件上,可是怎么读取?如何反应?这就需要我们人类来制订一套规则,可以这样理解,这套规则就是程序,而制定规则的过程就是编程。比如要计算1+1等于几,需要向存储器存入两个1,然后再让两个1相加,最后屏幕上出现结果2。这一整个过程需要一套规则来实现,我们制定这个规则的过程,就是编程(上边这个过程看似简单,实际上水很深,实在不敢也没有能力往深了讲,不过以后会尽力出文章来讲解)现在的高级编程语言已经屏蔽了太多的底层实现,以至于很多程序员只是机械的搬砖,完全不知道背后发生了什么,不过这样也有很大的好处,就是猿们可以将精力放在功能、业务的实现上,为用户打造更好的体验。
这只是我个人的想法,下面是百度的解释:

编程是编写程序的中文简称,就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到相应结果的过程。
为了使计算机能够理解人的意图,人类就必须将需解决的问题的思路、方法、和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算机之间交流的过程就是编程。

好了,暂时就到这里吧,如感兴趣,请关注后续文章。

最后,附上文章开头引用的出处: https://lkml.org/lkml/2000/8/25/132

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,639评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,277评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,221评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,474评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,570评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,816评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,957评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,718评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,176评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,511评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,646评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,322评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,934评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,755评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,987评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,358评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,514评论 2 348

推荐阅读更多精彩内容