第1章 Objective-C简介

本章概要

  • 学习Objective-C历史
  • 了解编写Objective-C代码的Xcode
  • 配置开发环境  

这一年是1986年,是哈雷彗星75年来最接近太阳的一年。英国和法国宣布建造英法海底隧道的计划。宝丽来盛行并刚刚迫使柯达退出了快速相机业务。人们使用C语言差不多15年,而C++还是该领域的新军并鲜为人知。Smalltalk语言在技术界打了个翻身仗,人们开始对一种称作面向对象编程(缩写是OOP)的新概念感到兴奋。

Tom Love和Brad Cox这两名开发人员在ITT公司的编程技术中心接触了Smalltalk。Cox想,要是在C语言中加入面向对象功能,只用C就可以进行面向对象编程,那定会很有意思。实际上,他将这种扩展命名为COOPC,表示是用C实现的面向对象编程。最终,两个人成立了一家公司来商业化这些扩展并将其作为一种语言向开发人员推销。这一新语言也更名为Objective-C。若干年后,Steve Jobs领导的一家名为NeXT的小型创业公司,获准使用并标准化了Objective-C,以作为将要开发的NeXTstep操作系统的主要语言。NeXT计算机公司最终被苹果收购,NeXTstep操作系统最终发展成为Mac OS X。

很少有人会想到Objective-C历史悠久,并且它实际上影响了很多其他的编程技术。比如,Java编程语言和Objective-C就有很多共同点。原因就是在Objective-C的早期,NeXT和Sun Microsystems合作开发OpenStep平台,他们用来开发这种技术的语言就是Objective-C。当NeXT计算机的表现没有达到他们预期的要求时,该公司走向了失败,Sun决定开发自己的语言和跨平台开发包——Java。Java工程师们都是谙熟Objective-C的,因为Objective-C是他们在使用Java之前首选的语言。后来他们就将Objective-C的一些较好的功能引入到了他们所开发的语言中。

Objective-C现已成为了Mac OS X和iPhone OS上首选的开发语言。它已经发展成为了一种优雅的解决方案,在纯静态语言和纯动态语言之间实现了平衡。它是少有的几种通常进行编译的语言,不仅能从类似C和C++的编译时语法检查受益,还能从负责处理动态对象类型的动态运行时受益。

除了Mac OS X和iPhone OS,Objective-C在其他平台上也发展了一批追随者,可以在Linux、Windows和其他支持GNU编译器的平台上开发应用。在iPhone OS上的使用增加了该语言的知名度并吸引了很多新的程序员。可以说Objective-C如今正在经历一次复兴——成千上万的开发者正涌向该语言,使其成为了最热门的技术之一。

本书将介绍Objective-C,并展示为什么我觉得它也是世界上一流的编程语言。我觉得一个好的程序员需要三种语言。第一种是工作流程自动化语言。通常这是一种脚本语言,可用于自动化工作空间并构建一个用于优化工作流的临时工具。第二种是编辑器宏语言。作为程序员,我们会花99%的时间用于将文本打造成软件。有一个可以帮助你控制编辑器的重要工具。最后一种是用于构建系统和应用的语言,可以用于部署要求高性能和高稳定性的应用。通常这些语言都是编译型的,这样你就可以从所选平台中获得最佳性能。但是,这些语言最重要的特点就是可以最大限度地利用系统库。

希望你看完这本书后,Objective-C会成为你的应用开发语言。对于实现各种任务,和其他语言相比,该语言绝对略胜一筹。

目录