学习编程前必看,到底什么是计算机、软件开发、编程语言?
导论
什么是计算机
今天,计算机正在以惊人的速度发展变化着,变得越来越复杂,而这期间产生了许多技术,各种编程语言、各种框架工具,我们以为自己掌握了这些技术,但很可能我们并不了解。
我们在享受这些技术带给我们方便的同时也付出了代价,虽然拥有一定的编程能力,却无法进一步提高自身技能,知识应用能力的不足导致无法编写出源程序。“照这样的规则写代码,就可以得出一个那样的程序效果”,作为一名程序员,如果对程序的了解仅仅停留在这一表层是不行的,我们还应该了解更深层的机制,了解了更深层的运行机制之后,就能找到编写源程序的方法。
如果仅仅把技术当做一个黑盒子,只把时间花在学习其表面上,而并没有探索到其本质,就绝不应该认为自己已经懂了。不懂的话,做起来就会感到没意思,也就更不会产生想要深入学习的欲望了。若每日使用的都是些不知其所以然的技术,就会渐渐不安起来。
其实,计算机的基础知识,即使到了今天也几乎没有任何变化,因此,即便面对的是复杂的最新技术,一旦把它们回归到计算机的本质上,就变得可以轻松理解了。
现在的计算机看起来好像是种高度复杂的机器,可其基本的构造却极其简单。在认识计算机时,需要把握的最基础的原则只有三个。
原则一:输入、运算、输出是硬件的基础
计算机的硬件由大量的集成电路组成,每块集成电路上都带有很多引脚,这些引脚有的用于输入,有的用于输出,集成电路会在其内部对外部输入的信息进行运算,并把运算结果输出到外部。
原则二:软件是指令和数据的集合
指令就是控制计算机进行输入、运算、输出的命令,在程序设计时,会为一组指令赋予一个名字,可以叫函数、语句、方法、子例程、子程序等等。
数据分为两类,一类是作为指令执行对象的输入数据,一类是从指令执行结果得到的输出数据。在编程时,程序员会为数据赋予名字,称其为变量。
原则三:计算机的处理方式与人类的思维习惯不同
计算机内部会把所有的信息都当成数字来处理,尽管有些信息本来就不是数字。用于表示字符的数字就是“字符编码”,用于表示颜色的数字就是“颜色编码”。
想要顺应计算机的处理方法,有时就要违背人们的思维习惯。围绕计算机的技术正在以狂奔般的速度不断进化,无论哪一种进化,都是为了使计算机的处理方式更贴近人类。
因此,你需要具备计算机系统的思维方式,什么是计算机系统的思维方式?
“计算机系统”的思维方式是相信,计算机系统是由硬件和软件组合构建而成的一个系统,硬件和软件是相辅相成的,硬件是软件的物质基础,而软件是硬件发挥作用的唯一途径。计算机本身并没有特定的用途,而是程序赋予了计算机各种各样的用途,是程序在计算机上实现了现实世界中的业务和娱乐活动。
什么是软件开发
所谓软件开发指的是借助编程语言和开发工具来制作软件的工作。
软件开发需要借助计算机这个工具, 这个过程就是人机交互。
人机交互有两种方式,一种是命令行窗口(dos),另一种是图形化界面。
什么是编程语言
进行软件开发需要懂得编程语言,那什么是编程语言呢?首先我们需要知道什么是自然语言? 自然语言是人与人沟通的语言。那编程语言的含义就呼之欲出了,编程语言就是指人与计算机沟通的语言。最早的编程语言是汇编语言,随着编程语言的发展,慢慢经历了以下几个阶段:机器语言=>汇编语言=>面向过程编程=>面向对象编程=>人工智能语言(其实就是自然语言但目前还达不到)。
程序设计语言有很多种,每种语言都是为了实现某个特定的目的而发明的。你会困惑哪种语言是最好的?
事实上,没有最好的语言,只有最适合解决某种问题的语言。每种语言都有它的长处和短处,经验丰富的程序员知道各种语言擅长的应用场景,因此,会尽可能的掌握各种不同的程序设计语言。如果你掌握了一种编程语言,应该会更容易上手其它的编程语言。关键是学习如何使用程序设计方法来解决问题。