iPhone 程式設計入門(4)Apple 為何用 Object-C 開發軟件

Mac OS X 10.6.3 的 Kernel 基本上就是 BSD,你可以类比成 Linux

 

众所皆知的,在 Unix 跟 Linux 的世界里,程式大部份都是用 C 或是 C++ 开发的。两个 Linux 上最多人使用的桌面环境,KDE 是用 C++ 写的,而 GNOME 是用 C 开发的。Linux 的 Kernel 最主要是用 C 写的。

 

那为何 Apple 却用 Object-C 作为主要程式的开发语言?即使用 C 语言开发,你还是可以把程式写成物件导向,GNOME 就是一个经典的例子。如果嫌用 C 写物件导向的程式太麻烦,C++ 可以把一切事情搞定。为何用 Object-C?

 

先不回答这个问题,让我看看 MacOS 跟 Linux 有多相似。

 

(1) MacOS 10.6.3 有 X window 系统,你只要执行 X11 这个 MacOS 内建的 X server,就可以了。

 

(2) 你也可以执行 Terminal 程式,内定的 shell,就是 bash。所有的 shell script,perl,python,Lua..... 通通不需要修改。

 

(3) MacOS 跟 Linux 一样 case sensitive,也是用 "/" 来分隔目录名称。

 

(4) gcc 跟 GNU utility 装完 MacOS 通通就在了,不需要另外安装。

 

(5) Linux 上 Open Source 的 project 大概重新编译一下就行,就算需要小修改,也早有 MacOS port 等在那里。

 

真正比较大的不同,是在系统目录的名称,及用户的的 home 目录,跟 Linux 不太一样。可以这么说,如果你想,你可以把 MacOS 当 Linux 来用。

 

所以答案是,为 Linux 开发的程式,很简单就可以被 MacOS 拿来用,反之为 MacOS 用 Object-C 开发的程式,却几乎不可能被 Linux 拿来用。即使 Linux 也有 Object-C 的编译器,你就算有 Source Code。可是在 Linux 的环境里,没有 Cocoa Framework。

 

Steve Jobs 有先见之明,知道世界上有很多人跟他一样聪明,如果 Apple 用大家常用的 C 或 C++开发,很多高手,一定会把 Apple 上的软体 port 到 Linux 上,只要模拟了 Cocoa 的界面,可以在 MacOS 上执行的程式,就可以在 Linux 上执行。具体的证明,有很多 KDE 及 GNOME 及 X window 上执行的软体,也可以在 Windows 上执行。

 

Apple 花非常大的人力,研发出一套非常屌,非常好的使用界面及视窗管理系统。就是因为使用 Object-C ,所以你喜欢,你就只能在 Mac 上用。Mac 的电脑卖得很贵(有时候是同级 PC 的两倍价钱),但是 Apple 就是吃定你,因为你只有这个选择,当然软体是无价的,贵有他的道理。

 

对了,我是要开发 iPhone 程式,又跑去搞 gcc 跟 GNU utility,这个太跳 tone 了,要赶快回去 K iPhone SDK。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值