软件的个人认识
继上篇《计算机历史的个人看法》(https://www.cnblogs.com/1548562170-Hark/p/13408482.html)这篇,在这里我想说说软件,在上篇我也曾提到过,软件只是为了积累计算机经验以便更好地发展计算机而想的策略。在很早的时代,通过电路设计计算机已经具备了一些运算能力,为了积累计算机经验也出现了好的办法,就是计算机语言0和1,因为早期以电路为主,用0,1表示了引脚是否上电,假如有一个电路输入时开关的开、开、闭、开那么就可以对应0010,输出灯泡是灭、亮、亮、灭,就也可以用0110来表示,那么将这个对应关系存进记忆体,下次用到的时候直接读记忆体找到结果就好了,不用专门去给这个电路上电等待结果了。这就简化了计算机,同时也出现了计算机语言,当很多电路用这种方式不断积累,来设计计算机所能完成的工作时有人发现,很多功能都需要一些特定的步骤,在记忆体中读取的规则好多都是相同的,所以有人就想简化达到控制的目的出现了计算机指令,通过一条计算机指令让计算值去执行这个指令规定的动作得到结果,在让其他的指令去运用上一条指令的结果这样的方式来完成有一个功能,这就是计算机软件的起始,下面我会说软件的发展。
有了我上面一段最后说的那种思想后,人们又会对那些经常执行的计算机指令进行封装,再按照一定的语法进行编辑,这就是早期的编程语言,按照这种思想,以及计算机的成熟,软件的编程语言也变得越来越简洁,不想早起的编程语言,要实现某个功能要写很长的代码。这就是现在的编程语言,再说说API吧,API就是封装了那些有规律的代码的产物,早期的当然是最底层的,这些API的特点是功能比较细,如果要调用也要用很多代码来实现自己想要的功能,随着编程语言的发展现代的API不对吸取着时代的编程的产物及经验,现在的API已经能够实现有个单独的功能使得现在的编程语言想要实现某个功能不需要太多的代码,大多的代码都是在处理返回的结果。说道软件的发展还有一个东西不得不说,那就是协议,在计算机经验不断积累的过程中,不同的单位或者个人想法都是不同的,这样对发展造成了局限性,所以就有了协议,让大家遵守协议所规定的规范,对计算机而言这算是给计算机指定了发展的方向,这也是计算机能够发展这么快的主要因素。这里再说句题外话正是有这种协议,要想让软件那个领域迅速发展那最好的方法莫过于开源了,让一群感兴趣的人去创新维护,比自己抱着去发展要快。好了软件就说这么多,这就是我对软件的大致看法,如果不对还请大家指正。