说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Objective-C之父Brad Cox访谈:我的编程之路

HTML文档下载 WORD文档下载 PDF文档下载
Objective-C是苹果Mac OS X 上开发的首选语言,也正因为如此促就了它的辉煌。日前,作者Dave Dribin采访了Objective-C之父Brad Cox,一起来了解下这位大神级人物,是如何看待他的编程之路的。

众所周知,Brad Cox与Tom Love一起创造了iOS/MAC平台的首选开发语言Objective-C。构建于C语言之上的Objective-C其理念来自于公认的第二个面向对象的程序设计语言和第一个真正的集成开发环境的Smalltalk。日前,原文作者Dave Dribin采访了Brad Cox,一起来了解下这位大神级人物,是如何看待他的编程之路。


Brad Cox和他的爱犬

Q:请您简单做个自我介绍以及与Objective-C的关系,谢谢。

Brad Cox:我之前在ITT实验室工作,在那里结识了Tom,我们都有兴趣为人们带来高效的协作系统,但不同于邮件和实时通讯等应用;现在人们习惯称呼这类系统为Groupware(群组软件)。我们发现在C语言上很难实现想法,当接触了Smalltalk以及面向对象的概念后,我想我们是时候要做出改变了,我们要创造一个更好用的基础平台。初期版本是有关Sed和AWK的工具集合,后来发展为基于lex和yacc的语言。而今天它还可以作为汇编语言的生成工具。

Q:方括号可以说是Objective-C的特色,请问这是您的杰作吗?

Brad Cox:是的,其实我就想看看有什么还没使用过的,花括号有了,圆括号有了,最后就是方括号了,我希望人们使用时不会与C语言等类似的混淆。

Q:有什么功能您当初想添加的,但限于当时的技术和时间等制约因素,而最后没有完成?

Brad Cox:的确曾有过不少想法。例如Smalltalk中的闭包概念,垃圾回收机制,解释型语言等。这些想法后来通过不同形式被实现了,但是没有任何一个类在C语言中是绝对适合的。

今天这些的确都一一成为了现实。在Mac OS X 10.5中,给出了垃圾回收机制;在10.6中,也就是雪豹版本,在Objective-C中添加了闭包处理。

Brad Cox:是的,我一直是闭包的拥护者,但是要进入调用者的堆栈的确是需要一定的技巧。

Q:在静态和动态还一直争论不休的时候,Objective-C做了个跨界整合,动态的运行时环境和静态的编译。这是故意而为还是意外行为?

Brad Cox:事实上,很多功能是在我之后发布的。而当时我直接参与的,是在C的静态基础上简单地添加动态支持。而后来,静态支持是在这之后发展起来的。Objective-C的功能都是希望为大家带来非常轻量级的工具,这也是Objective-C一直追求的。

与纯静态的C++和Java相比,Objective-C的动态类型支持的确非常好用。

Brad Cox:可能是多了一种轻巧的预设组件方式组合。

Q:苹果iPod和iPhone的销量超过了3千万,看到如此多的手持设备运行在Objective-C之上,那感觉是怎么样的?

Brad Cox:这感觉美妙极了。

Q:语言的设计是非常呆板的。过去20多年间出现Java、C#、Python及Ruby等都与Objective-C有很大不同。函数式语言似乎稍稍打破了沉闷的环境。对于语言设计的下一个重大事件或功能,您有什么看法呢?

Brad Cox:嗯,函数式语言现在变得热门了。我也曾尝试过,但是语法这个环节我就碰了壁。可能还欠点缘分。

Q:您觉得是语言的选择影响了最终软件质量,还是说全部的面向对象语言其实都大同小异?

Brad Cox:我想他们大体上都是差不多的。

Q:从您近期发布的消息和您的新作品<<Superdistribution>>一书中,不难看出您关注的焦点转移到了软件组件部分。请问能更多地讲述您现在的兴趣点吗?

Brad Cox:其实我没有转变焦点,请记得,为人们带来轻巧实用的功能是我创造Objective-C的初衷。对于我有关组件的关注,其实是我希望能找出有效帮助打造协作系统的办公自动化组件,所以说我并没有转变,只是希望帮助语言设计找到一个绕弯的方法到达相同的目的地。有关组件方向的更多介绍,请进入我的个人博客进行了解。

另外,我对OSGi模块化架构有非常大的期待。一旦流行起来,它将扮演非常重要的角色。虽然上手有一定难度,但是尽早学习是我的建议。

Q:可以分享更多有关OSGi的看法吗?

Brad Cox:好的。OSGi运行在Objective-C上可能不太合适,但是在其它的Java平台运作良好。一些主流的IDEs开发平台,如Netbeans和Eclipse,是一个能实现过渡到基于OSGi组件的中间平台。而随着技术的日渐发展和逐步成熟,将来或会成为人们日常工作的一部分。

Q:OSGi会替代jars吗?还是会与jars相结合?

Brad Cox:我倾向于后者。

Q:是metadata提取物?

Brad Cox:是的。一个OSGi bundle可以看成是一个metadata的jar提取物。因此也可以说是在JVM中的小型SOA(基于服务架构)服务。他们拥有自己的生命周期,能实现离线等待等处理。

Q:这样一来,能实现在线组件更新而不用把整个系统关闭?

Brad Cox:没错。一个典型的做法是在虚拟机中运行OSGi,然后等候它来完成升级过程。这需要花时间来熟悉。这个模型与Java中不断创建—销毁的过程不太一样。

英文出自:Mactech

(责编/夏梦竹)

红帽推出开源业务流程管理套件:JBoss BPM Suite 6 科学研究证明:程序员快乐才能更好的工作 ChocolateChip-UI:能“逆转”的跨平台应用开发框架 分享12款最佳的Bootstrap设计工具 Apache Flex 4.12发布,支持iOS 7 智能手机应用挑战Web平台,看W3C如何反击? 电信级数据流量与监控系统部署案例分享 TCL联手Mozilla,HTML5智能电视真的要来了! 先睹为快:Unity亚洲开发者大会虚拟游览展示 OSTC&#183;2014 演讲日程出炉,Perl创始人来了! Unity将收购Applifier,并引入Everyplay和GameAds两大平台 《近匠》从Cubieboard到radxa:汤亮的第二次硬件创业 九头蛇与大象之争,Hydra或将取代Hadoop 喜讯:中国安全团队Keen成功在Pwn2Own 2014黑客大赛上攻破64位Mac上的Safari OCP黑客马拉松冠军:24小时头脑风暴背后 新时代应用程序设计及MongoDB的十个深入理解 借助“开源”东风 英特尔打造卓越“软实力” 深圳综合交通设计研究院张鹍鹏:智能交通设备领域已成红海 信息化是发展趋势 25个可遇不可求的jQuery插件 Web设计中对视差设计的误区 直接拿来用,九个超实用的PHP代码片段(二) 一周消息树:小米染指平板电脑凶多吉少 移动周报:Xcode 5.1更新、CarPlay揭秘,Apple很忙 可穿戴领域,创业公司的掘金点?还是滑铁卢? 搜狐SendCloud2014运维技术沙龙拉开帷幕 一周热点:选择Go语言的12个理由,九头蛇与大象之争 中国云计算大会PPT集萃(二):十位技术大牛分享平台打造技术 延迟250毫秒损失数百万美元,Hadoop系统该如何应对实时任务 IBM成立展示中心扩展大型主机的Linux开放生态系统 SDN解决方案总结:OpenFlow、虚拟机、OpenStack和VXLAN/NVGRE 第六届中国云计算大会将于5月20-23日在京隆重召开 请问16个主要颜色的RGB值。 使用过存储过程的大家帮忙呀。。。。。 websphere怎么啦? 救急:query回写 想学C#,有啥好书?? 如何动态地获得一个组件的属性、方法并调用? 请帮我看看这个小的asp程序为什么不能被网页调用?IE说这个网页不能显示 失业,散分!!! c++ builder 如何引用access数据据库的图片字段(ole对象),我用TDBimage控件不能看 CSS滤镜的使用!! 共同关注 失业了,散分!!! 大家有没有看网络小说啊!能提供几个经典些给小弟参考参考么? 失败!!失败!!! 失业了,散分!!! 怎样在java的桌面程序里打开浏览器呢 DataGrid如何实现鼠标放上去改变颜色? Foxpro数据库中,可否导出oracle可以操作的表呢?大虾指点啊! 请问调用存储过程中一个输入参数为nvarchar(24)的时侯,我在asp中的输入怎么会报错? 失业了,散分!!! 华工科技开目软件集成公司怎么样? 失业了,散分!!! 失业了,散分!!! 失业了,散分!!! 我用update更新互联网上的数据库,总数大约有700多条,在更新过程中程序窗口没响应了,无法最大化,最小化,关闭,但进度条仍然在走,更 水园公务帖[2003.03.11——2003.03.17] 无人回答的帖子,再发一次。up有分 快去微软件聊天室了,开聊了。 from表单中的参数无法传递? 急!急!急!急!急!我安装Visual studio 6.0中文版不能够成功,是什么原因?? 关于Oracle的数据类型问题? 请问在vc中怎样创建Outlook对象 关于Cable Modem,高手指点。 毕业论文怎么作??????????? 新手送分(解决即给分) 天生爱吃冰激凌! 江湖告急!!!!! 整理 FAQ 的时候 为什么 总是出现 贴子内没有这个人的回复!!!:xxxxx 如何删除一段时间的记录?????(兄弟们帮帮我) 关于 Treeview控件,请高手指教。 推荐好书 Borland Delphi 6 中文企业版哪里有免费下载????????????????????500分 ADO中同一个Connection打开的RecordSet个数有没有限制? 我请教一个关于恢复数据库的问题!!!急急 关于特殊字符的问题!!!!!!!!! 要同时以cascade风格显示10个MessageBox对话框,请问有无可能? 如何用windows2000收发传真? yangjf接分 ASP.NET如何调用mschart asp.net中利用owc10生成了一个EXECL文件,但是不知道如何控制字体大小,及单元格的边框 数据库问题,请高手指点。 信天游的基本格式“七字格”“二二三”是什么意思? 地卫一当作卫星也太大了把?地卫一质量足够大,就能摆脱地球的束缚? 匀速直线运动能从位移时间图像上看出来吗?位移时间图像是一个不过原点的正比例函数,那么这个物体就一定做匀速直线运动吗?为什么不可能做匀速曲线运动? 诫子书中悲守穷庐的穷庐是什么意思 用初二以下的科学知识解释,世博会各馆的成果字数越少越好 越简洁越好.至少10点成果啊. 计算 r1 和 r2 的功率 两超市销售去年150万,今年170万,A超市销售今年比去年增15%,B超市销售今年比去年增10%,求A,B今销售 一汽车以20米\秒的速度向一山崖开进,途中鸣了一声笛,2秒后听到山崖传来回声.当司机听到回声时,汽车离山崖还有多远?初二物理,谢谢物理二 为什地势海拔越高天气越冷,低地反而热?比如云南西藏那些高地更接近太阳却最多20多度... 信天游除了是歌曲名之外,我对陕西的民族文化不是太了解, 一辆汽车以36km/h的速度向着山崖匀速行驶,途中鸣了一声笛,4秒钟后听到山崖传来回声,当司机听到回声时则司机听到回声时离山还有多少m? 离太阳越近不是越热吗?那为什么越高的地方却越冷?.我要一些实例. 麻烦你们请例举3例. 谢. 信天游的意思回答要求长篇大论 《诫子书》的:“读书好,好读书, 植物在白天表现为吸收二氧化碳,释放氧,晚上则相反这是因为 诸葛亮《诫子书》中的那句:年与时驰,“意与日去”还是“意与岁去”哪个对? 告诉我诫子书的主要意思 一块周长是32米的正方形花园,它的面积是多少 诸葛亮之《诫子书》的意思夫君子之行:静以修身,俭以养德.非淡泊无以明志,非宁静无以致远.夫学须静也,才须学也.非学无以广才,非静无以成学.慢则不能研精,险躁则不能理性.年与时驰,意 露排比公式的两个展开式具体用途吗?有没有小题拿来试试具体的公式非常不熟悉,不知道有没有必要那一些来练一练 一个正方形花园,周长是44米,如果每平方米种8棵月季花,需要种多少棵月季花. 《诫子书》表达中心意思的关键句是?《诫子书》表达中心意思的关键句是哪句?文章见下[b]“夫君子之行:静以修身,俭以养德.非淡泊无以明志,非宁静无以致远.夫学须静也,才须学也.非学无 原电池中,为什么电子不和OH-反应,而是和O2、水反应生成OH-呢? 关公赴会.打一歇后语 电脑中的G、MB、KB怎么读和怎么换算的 求物体漂浮中的露排比公式的得出过程我知道了漂浮情况下F浮=G物,可以得出ρ液gV排=ρ物gV物.可是露排比拓展公式怎么得出的1.(ρ液-ρ物)∶ρ液=V露∶V物   2. ρ物∶(ρ液-ρ物)=V排∶ 某雪山海拔900米处气温为20℃,海拔5895米气温为多少度?怎么算的? 西亚地区人们在干旱的情况下发展了什么业准确点哦 一个是畜牧业另一个是什么业 诫子书的历史意义是什么有谁知道呀? 什么是露排比公式?与物体露出水面的部分有什么关系?有关于这的基础一点的题吗? 济南的冬天分别分为哪三幅山水图. 下列实验设计和结论相符的是:A:将碘水倒入分液漏斗,加适量乙醇,振荡后静置,可将碘萃取到乙醇中 B:只要告诉我c项为什么错误就好B某气体能使湿润的红色石蕊试纸变蓝,该气体水溶液 谁给些露排比公式的相关题目啊!跪谢!尽量多点,最好是具有代表性的...... 济南的冬天 用文中的词句给这段话加小标题 设若单单是有阳光,那也算不了出奇.请闭上眼睛想:一个老城,有山有水,全在天底下晒着阳光,暖和安适地睡着,只等春风来把它们唤醒,这是不是个 火车开越快空气阻力就越大吗? 一汽车以20m/s的速度向一山崖开进,途中鸣了一声笛,2s后听到从山崖传来回声,当司机听到回声时,汽车离山崖还有多远? 西亚为改变干旱环境做了些什么呢 跪求初中数学关于vod系统的课题研究内容!急需初中数学关于vod系统的课题研究的内容,头大了也想不出来, 一汽车以20m/秒的速度驶向一座山崖开进,途中鸣了一声笛 什么是含极性键的非极性分子 已知公式:p=m/v,那么m=?,v=? 匀速直线运动的位移——时间图像的特点是 万有引力常量,下列说法正确的是 A 万有引力等于两个质量为1kg的物体相距1m时的相互引力B 牛顿发现万有引力定律是,给出了万有引力常量的值C 万有引力常量的测出,证明了万有引力的存在D 2.一汽车以20米/ 秒的速度向一山崖开进,途中鸣了一声笛,2 秒钟后听到山崖传来回声,当司机听到回声时 父亲是秃头儿子就一定会是秃头吗? 对于万有引力常量G,下列说法正确的是:1.任何两个物体都适用 2.没有单位 3.不同的物体有不同的G 一辆汽车匀速直线运动,在离山崖780米处鸣了一声笛,4秒后听到回声, 初中语文课文中适用于微型课堂的课有哪些呢?给些建议, 上升流 离岸风为什么大陆西岸易形成上升流而大陆东岸不易形成呢?什么是离岸风呢?有什么影响呢? 消失怎么造句 父亲秃头儿子一定秃头吗? 落日是美丽的,那么,初升的朝阳,中午的太阳会是什么样的 请你仔细观察,展开想象,也 用出现和消失造句 爷爷秃头,爸爸秃头,儿子会吗 英语翻译求您回答吧!1 毁灭造句 U=I*(R1+R2/2)=0.3*(10+R2/2) U=i*(R1+R2)=0.2*(10+R2)计算U与R2值 两超市销售,去年共150万今年170万.A超市今年比去年加15%,B今年比去年加10%那今年销售各是多少? 只知道一个行星的质量M,求卫星脱离它束缚的最大速度 x-t图是倾斜直线的一定是匀速直线运动吗 x是位移 t是时间.可不可以控制品均速率使匀速曲线运也是倾斜直线 多次违纪违规 孙杨被停赛停训停商业活新疆记者拍到中国首张高清雪豹捕食照片台“检察总长”黄世铭:一审有罪或遭弹网爆苍南一运管副所长驾豪车伤人逃逸 两大美制军机入驻台湾 下一步军购欲争美国废纸富阳新生 厂房有火箭队主场那学生小区吸烟 居民叫苦不迭俄罗斯民族主义者大游行 呼吁排外和限因治理水环境不力 海宁两名村书记被免小布什裸体沐浴自画像曝光 欲画19国首审穆尔西,法庭内外都不太平为了德美关系,默克尔宁舍斯诺登穆尔西能否逃离“政局魔咒”国际航天合作不应排斥任何人美国白宫微博有“水军” 专为奥巴马“华盛顿声称绝不宽恕斯诺登国际新闻早报:北约秘书长称东欧军演不小布什裸体沐浴自画像曝光 欲画19国多伦多市长吸食可卡因 只道歉拒辞职(美国务卿称沙特系中东领导 两国关系须巴西被曝曾监视他国外交人士 巴当局已重庆楼市“金九”成交量上涨 开发商发日央行行长:安倍政策有助提振经济 无第14届“赣台会”将在南昌举行 突出全国人大环资委原副主任委员白恩培一审外媒:潘基文谴责也门葬礼队伍遭空袭事林书豪谈与安东尼关系:我们之间没有任鲁能发布海报“爱在深秋” 祝天下父母“起底”谢百三,要讲死者为大?小车急刹撞上皮卡翻车 雨天路滑警惕爱俄方:世界反兴奋剂机构美国人太多 俄俄媒:共和党高层将召开党代会或讨论撤阿富汗军方一直升机坠毁致8死 塔利班习近平谈如何让干部有如履薄冰的警觉湖南14市州党委换届完成(附名单+简外媒:中菲关系升温 张艺谋执导芭蕾舞三亚藤桥边防派出所抓获网上在逃人员澳洲野狗成灾 欲做罐头卖中国焦作武陟一工厂发生爆炸 官方:无人员福建纪委书记兼任福州书记后暗访:出发10日起南宁地铁1号线末班改为20时卫计委:人体器官移植医师五种情形将被
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘