2008年1月18日星期五

GNUstep和Objective-C

今天本来准备在Windows下安装Objective-C的编译环境的,但是装了GNUstep的Windows版之后,一直不能正常编译Objective-C。一怒之下,就下载了一个GNUstep的LiveCD下来,加上VMWare——多好的一个实验环境,啥都不用自己操心。熟悉的Vim,熟悉的Debian系统——虽然加上了GNUstep变得混乱了很多,但是Linux is Linux! 用来学习Objective-C的语法绰绰有余了。

也许你要问了,学习Objective-C为啥不直接用Xcode呢?俺穷学生一个,买不起Mac,只有一个不完整的hackintosh,安装盘里面找不到Xcode,从苹果网站上拖一个下来又太慢,加上宿舍里根本没办法用hackintosh上网——可怜啊(要不啥时候我也在这里放点广告,让阿里妈妈和Google为我捐钱买Mac? :P )。难不成让我用PearPC在Panther中学习Objective-C?太不现实了吧。还是GNUstep省事,也省得我在Ubuntu里面apt-get了。反正现在还是学习Objective-C的语法,用什么环境都一样,等到开始学习Cocoa的时候再用Xcode。

说说GNUstep吧。GNUstep基于NeXTSTEP公司的OpenStep的开源程序接口(包括API和一些框架),使用Objective-C编写。NeXTSTEP就是Steve Jobs被John Scully赶出Apple之后创办的公司,不算很成功,于1997年被苹果公司收购——这也是Steve Jobs重回苹果的重要原因。NeXT被苹果收购后,有一个项目就是把OpenStep被扩展为Yellow Box(代码名),也就是后来的Cocoa。(注,OpenStep不是操作系统。基于OpenStep的操作系统的名字是OPENSTEP,别弄错了哦。 :P )

现在大概知道GNUstep和Mac OS X的一些渊源了吧。因为在简单的试用了GNUstep之后觉得比较好玩,就截了两张图出来和大家分享。

objc


上图是GNUstep的终端和文件管理器的截图。看看文件管理器中的Applications和那个Column View文件浏览器视图是不是很有Finder的影子啊。 :) 终端里有一些关于系统的信息和编译的简单的Objective-C的情况。

links


上图是用Links浏览器浏览本站的情况。这个图形界面的Links浏览器居然可以显示图片,很不错。不过中文都变成了巨大的“星号”了。这么“古典”的操作系统环境(其实不古典哦),加上MacBook Air的图片,好强烈的反差啊!不过很有趣,不是吗?

传说上面截图中位于屏幕右侧的那个“Dock”是后来Mac OS X的一个启发——其实那个“Dock”是WindowMaker窗口管理器的专属品。 :)

BTW: 对Mac OS X的历史感兴趣?我准备利用闲暇翻译Mac OS X Internals一书官方网站上免费提供的“A Technical History of Apple's Operating Systems”文档,慢慢的贴在这里,有兴趣的可以关注一下。 :D

4 条评论:

  1. Objective-C学习曲线很陡的说。。。不过这样以后看smalltalk就容易多了 :)

    回复删除
  2. 一點也不會很陡
    C --> Objective C --> Java
    非常地順

    回复删除
  3. 又一次搜索到这里来了 哈哈

    回复删除
  4. 请教博主:我同博主的经历相似,也在VM安装这个LIVEcd,有几个问题要请教一下:
    1.但启动那个应用可以开始Objective-C代码编辑之旅,实在搞不清,亦或另行安装
    2.是否在ubuntu中安装
    3.LIVECD是不是每次都需安那个安装的ISO挂在虚拟光驱中.
    请指点,谢谢.

    回复删除