编程序入门 如何编程软件( 三 )


因此,在编程中,我们一直在努力寻找解决问题的最佳算法 。
说到这里 , 雅姐突然想起一个笑话,讲给你听 。
一个程序员下班,老婆打电话说:“你去超市买十个苹果 , 下班回家 。如果你看到一个西瓜,买一个 。」
结果程序员只带了一个苹果回家 , 悲惨的命运不得而知 。但导致他犯错的思维逻辑是编程中的算法逻辑:“没看到西瓜,买十个苹果;如果你看到西瓜,买一个苹果 。」
总的来说 , 【算法】就是运用逻辑解决问题 。算法和数据结构的结合就是程序 。而程序的设计就是编程 。
这时候你可能又会想 , 编程到底是一种知识还是一种能力?
我姐认为【懂编程】是计算机知识积累的结果,但是【会编程】是一种实践能力 。
类似的还有:有些人很懂车,但不会开车上路 。所以理论要结合实践~
好了,真正知道什么是编程后,姐姐会继续给你讲一些你不知道的编程冷知识,下一关,标准会让你开口~
第四级是科普编程知识 。欢迎来到第四关 。我们这一关主要是普及一些编程知识,让你对编程有更透彻的了解,饭后有更多的谈资~
1:常识:编程是谁发明的 , 是如何进化的?
说来话长 。让我们听听你姐姐的意见 。
你猜怎么着很久以前 , 在电子计算机诞生之前,计算机的角色是由(女性)人来扮演的 。
因为大部分计算都是由人类女性手工完成的,所以这些女性被统称为“计算机” 。
但是后来大家发现人工计算很浪费时间,也有误差,于是慢慢研发出了一种叫做[true 空 tube]的东西 。
这些true 空电子管有一个有趣的特点:true 空电子管两端节点的电流可以用三个管脚控制 。这使得true 空电子管在处理模拟信号时变得可行 。true 空管可以控制机器,传输模拟信号 。
后来,数学家们意识到,如果我们可以使用布尔运算,我们就可以在理论上创造出机器来执行这些运算 。所以人们用这个理论来建造一些【机械计算机】,但是由于机械计算机速度慢,成本高,没有真正的应用 。
下图是【机械电脑】:
接下来是【固态晶体管】,可以提供和真空晶体管一样的功能,但是体积更小,价格更便宜,寿命更长 。所以电脑变得越来越便宜,应用越来越广泛 。
但由于操作人员(程序员)必须坐在终端前开闭开关,非常不方便,所以后来他发明了打卡法,可以更简单方便地切换开关 。
下图是打孔的纸孔 。穿孔卡上有许多扁平电缆,每一行都有可以穿孔的孔 。这些线路和开关相互匹配 。
现在,人们不再每天操作那些无聊的开关,而是程序员去打洞 。每行代表不同的指令 。有一台机器可以连接到电脑上阅读这些指令 。
这样 , 我们可以在穿孔卡片上写程序 。这样减少了相当大的工作量,写一张卡片可以用很长时间,也避免了重复造轮子的问题 。
然后,天才格蕾丝·霍珀的妹妹 , 后来被称为“计算机程序之母” , 想出了一个好主意 。
她建议可以设计一个程序,让人们用类似英语的语法写下自己想做的事情,然后用这个程序把英语翻译成机器语法 , 交给机器执行 。
于是 , 她发明了世界上第一个编译器,命名为A-0 。那时候还没有组合语言和编程语言 。所有程序员都得把[程序]翻译成[机器码]的形式,01101010110,在纸上打孔,然后送到机器上阅读 。
编程因为A-0【编译器】迎来了曙光 。虽然只是科技史上的一小步,但确实是革命性的 。它改变了人们思考编程的方式,创造了一种抽象的思维方式 。这意味着人们可以在更高的层次上思考 。也改变了人们对如何写程序的思考 。
之后逐渐衍生出了今天的编程 。...
2:常识:编程语言和编程是一个概念吗?
所谓编程语言,其实就是一种可以被计算机读懂的语言 。它也有发展的历史 。你感兴趣吗?
坐在长椅上听你妹妹说话 。
第一种编程语言是机器语言 。很简单 。有多简单?
简单到只用“1”和“0”两个数字就能编程 。
也很气人 。你有多生气?
就像把盐和味精混在一起,你就能挑出一粒白糖混进去 。
虽然机器语言难学、难懂、不可重复、编程复杂,但速度极快 。但是人类通过机器语言和计算机对话 , 类似于外国人用中文和中国人对话 。所以对于人类来说,0.00001秒和0.000000001秒没有区别 。所以 , 你的机器语言跑得再快,也无法赢得人类的心 。

推荐阅读