每个人都有不同的学习目的,说得伟大一点,创造一些优秀的软件,造福人类;说得直接一点,就是学习技术、赚大钱。当然,也不排除有些人觉得做开发很cool、很炫、好玩。
在软件和硬件的协调交互下,就可以够解决我们生活中的很多问题。比如,开发一个MP3播放软件,软件中的某个指令可以用来控制电脑的音响进行放声,然后我们 就能听到那些美妙动听的歌声了,也有一些指令可以用来增大或者减小音响的声音。这就是一个典型的通过软件控制硬件的例子。
a. 硬件:这里的硬件泛指电脑、手机、平板等设备;
b.操作系统:学习程序开发,首先要搞清楚什么是操作系统,平时我们在电脑上用的XP、Win7,都是操作系统。操作系统其实是一种软件,是直接运行在硬件上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。比如说,如果你不在电脑上装个Win7、XP或者其他操作系统的话,你是不可能在电 脑上运行QQ这个软件的。大家应该都知道,每次电脑开机的时候,都是先启动Windows XP或者Windows 7,启动成功后,才能在上面打开QQ、360安全卫士等其他软件。手机也是一样的,先要有个手机操作系统,才能使用手机QQ等软件;要注意的,XP、Win7是PC操作系统,也就是电脑操作系统;而iOS、Android是手持设备操作系统。
c.应用软件:应用软件就是平常我们使用的QQ、微博等软件。用户打开某个应用软件,在软件的使用过程中,这个软件会不断地跟底层的操作系统进行交互,接着操作系统会控制硬件去做一些事情来满足用户的需求。比如,当我们打开手机上的一个照相机软件,按下屏幕上的拍照按钮时,照相机软件会通知操作系统“喂,我需要拍照!”,接着操作系统就会控制手机上的摄像头进行聚焦、拍照。
总而言之,操作系统可以看作用户与硬件的接口、桥梁,它为应用软件和用户提供了控制、访问硬件的手段。
2)、程序开发的分类a.系统开发;
b.应用软件开发
三、如何开发程序/软件
1.电脑只能做你教他做的事
很久以前,很多人就认为电脑是无所不能的,甚至能解决一些人类不容易解决的问题。
电脑是由人类发明的,没有人类就没有电脑。
电脑不能识别什么中文、英语,你用一口流利的中文骂遍它所有祖宗,它都不会理你的。电脑只能识别一些特定的指令,
如果你想让电脑能够正常工作或者帮你做一些事情,你得灌输一些指令到电脑上,相当于给电脑下命令。你写什么样的指令,它就做什么样的工作。 如果想让电脑执行一系列的操作,那就必须事先编好一条条指令,这些指令的集合,我们可以称之为”程序“或者”软件“。
2.如何开发软件 那 如何开发软件呢?我们已经知道,一个软件是由无数个指令组成的,这些指令可以用来命令电脑做一些事情。但是电脑所能识别的指令是极其有限的,你不能乱写指 令,你写个”你妹,给我关机!“这样的指令,它是看不懂的。那怎样的指令才能被电脑识别呢?换一种问法就是:我们该怎样跟电脑进行交流?我们天朝人跟天朝 人之间可以用中文进行交流,我说的中文,天朝人都能识别、听懂。假如,我们要跟美国人进行交流呢,那我们就必须地学英语。现在呢,我们是要跟电脑进行交 流,一样的,我们也要学习新的语言,那就是”程序设计语言“。
”程序设计语言“,顾名思义,肯定是用来设计、编写程序的。我们需要利用”程序设计语言“编写出电脑能够识别的指令,最终开发出一个完整的软件。
用”程序设计语言“写出来的指令,我们一般称为“源代码”或者”代码“,写程序就是写代码。你应该听过”码农“这个词语,泛指某些苦逼的”程序猿“。
编写程序可以简称为“编程”,因此,“程序设计语言”也可以称为“编程语言”。
3.程序设计语言
目前,世界上流行的”程序设计语言“有很多种,在2013年3月份的语言关注排行榜中,排名前五的是:Java、C、 Objective-C、C++、C#。后面4种语言的名字中都含有”C“,就Java没有”C“,一看就知道Java跟其他语言不是同一个妈生的。其 实,Objective-C、C++、C#都是基于C语言,从C语言中衍生出来的,因此它们的名字都带有”C“。
有这么多的”程序设计语言“,难道随便一门语言写出来的软件都能成功运行在电脑上么?不是的。这还要取决于操作系统的类型,因为任何其他软件都必须在操作系统的支持下才能运行。不同的操作系统,需要用不同的语言来编写应用软件。补充一点:其实,操作系统也是软件,它属于系统软件,也是需要用”程序设计语言“来编写,一般用C、C++来编写操作系统。
手机软件也是一样的,不同的手机操作系统,需要用不同的语言来编写应用软件。比如,android系统上可以运行用Java、C、C++编写的软件,但是不 能运行Objective-C编写的软件。如果是iOS系统,一般情况下,它可以运行Objective-C、C、C++写的软件,不能运行Java编写 的软件。可以看出,C、C++编写出来的代码是有可移植性的,可以跨平台,能同时跑在android和iOS系统上。
四、未来
以前,我们认为是电脑是万能的;现在,其实手机也是万能的了。手机将是人类最离不开的设备之一,现在很多事情都可以在手机上做了,比如聊天、看电影、购物、 订票、玩游戏等,携带又比电脑方便,甚至多了一些普通电脑没有的功能:打电话、导航等。现在的手机屏幕也越来越大了,硬件参数也越来越强大,有些强大到被 称为“怪兽机”,前阵子还听到有8核手机,我现在用的苹果笔记本都才双核。
从目前的市场形势来看,移动互联(就是将移动通信和互联网二者结合起来)的市场是非常大,处处藏着商机。
总之,手机软件开发的需求量是非常大的。而iOS是当今的主流手机操作系统之一,已经有各路人员对iOS开发跃跃欲试,不过大部分人都苦于iOS开发的门槛较高
我们错过了盖茨的信息化浪潮,错过了李彦宏、马化腾、丁磊他们所主导的互联网浪潮,但我们还有移动互联浪潮;朋友们,抓做机遇吧,今天你可能除了时间什么都没有,只要你努力,勇于创新;明天,你可能就成为这次浪潮的领跑者