计算机软件是告诉计算机做什么的程序,这些指令可能是内部命令,比如更新系统时钟,或者响应来自键盘或鼠标的外部输入。尽管有许多不同类型的软件同时使用开源和专有标准,但编程主要归结为一些基本规则。

硬件与软件

硬件和软件的根本区别在于前者是有形的,而后者则是无形的。硬件是机器本身,做所有的物理工作,而软件告诉各种硬件组件做什么以及如何相互交互。这使得计算机能够适应新的任务或安装新的硬件,硬件包括显示器、中央处理器(cpu)、键盘和鼠标,软件包括文字处理程序、操作系统和游戏。

类型

计算机软件主要有两种:系统软件和应用软件,第一种类型仅用于运行硬件,而第二种类型用于做其他事情。系统软件的主要类型是操作系统,如Windows™OS X或Linux,以及驱动程序,这些程序允许计算机与打印机和显卡等其他设备进行交互。

有许多不同类型的应用软件,包括游戏、媒体播放器、文字处理程序、反病毒程序和制作新程序的应用程序。

它是如何工作的?

硬件只理解开和关这两个基本概念,它们在二进制语言中表示为1和0。软件充当人类语言和二进制代码之间的转换器,这使得硬件能够理解输入到它中的指令。

程序员用编程语言编写被称为源代码的命令,这些命令类似于人们在日常会话中可能使用的命令。然后使用另一个称为编译器的程序将源代码命令转换成二进制,结果是一个可执行的计算机程序。

开源与私有

程序员要么创建开源软件,要么创建专用软件。第一种类型可以由用户编辑和改编,而第二种类型是受保护的,不打算由销售它的公司之外的人编辑。虽然开源程序通常是免费的,但专有程序是授权给发行商的,而且必须付费。

这两种类型的编程质量大致相当,但是对于开源产品来说,修复bug的速度通常要比私有产品快。另外,有些人更喜欢使用开放源码应用程序,因为无需付费和一些繁琐的法律问题。另一些人更喜欢闭源程序,因为它们有时更稳定,或者不太容易受到黑客的攻击,通常是套装软件,并附带公司的客户服务。