英语翻译Since 2005,I've been very publicly concerned about the long-term prospects of Apple's programming language and application framework,Objective-C and Cocoa,going so far as to speculate about a possible technological crisis a few years in t

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/08 15:29:07
英语翻译Since 2005,I've been very publicly concerned about the long-term prospects of Apple's programming language and application framework,Objective-C and Cocoa,going so far as to speculate about a possible technological crisis a few years in t

英语翻译Since 2005,I've been very publicly concerned about the long-term prospects of Apple's programming language and application framework,Objective-C and Cocoa,going so far as to speculate about a possible technological crisis a few years in t
英语翻译
Since 2005,I've been very publicly concerned about the long-term prospects of Apple's programming language and application framework,Objective-C and Cocoa,going so far as to speculate about a possible technological crisis a few years in the future.
When the future arrived,I revisited the issue of Apple's language and API future in light of Apple's dramatic entrance into the mobile market and the unprecedented growth this has enabled.You can read my conclusions for yourself,but the bottom line is that I'm still concerned about the issue—and think Apple should be too.Success hides problems,and Apple has been so very successful in recent years.
Enter (and exit) garbage collection
Apple has done a tremendous amount of work to modernize its development platform,including completely replacing its compiler,overhauling its IDE,and adding features and new syntax to the Objective-C language itself.
All of these things are great,but none address my specific concerns about memory management.Apple did eventually see fit to add garbage collection to Objective-C,but my fear that Apple wouldn't really commit to garbage collection in Objective-C turned out to be well-founded.Today,years after the introduction of this feature,very few of Apple's own applications use garbage collection.
There's a good reason for this.Runtime garbage collection is simply a poor fit for Objective-C.For all its syntactic simplicity and long,distinguished history,the C programming language is actually a surprisinglycomplex beast,especially when it comes to memory management.In C,any correctly aligned pointer-size bit pattern in memory can potentially be used as an address; the language explicitly allows casting from void *to a typed pointer,and vice versa.Objective-C,as a superset of C,inherits these charming properties.In exchange for this sacrifice,Objective-C code can be compiled alongside plain C code and can link to C libraries with ease.
This means that the runtime garbage collector is expected to traverse memory allocated by an arbitrary conglomeration of Objective-C and plain old C code and make the correct decision—every time—about what memory may safely be collected.Apple's Objective-C garbage collection is a global switch.It can't be enabled just for the clean,object-oriented Objective-C code that application developers write; it applies to the entire process,including all the frameworks that the application links to.

英语翻译Since 2005,I've been very publicly concerned about the long-term prospects of Apple's programming language and application framework,Objective-C and Cocoa,going so far as to speculate about a possible technological crisis a few years in t
2005年以来,我一直非常公开有关的长期前景的苹果的编程语言和应用程序框架,目标和可可粉,就猜测可能的技术危机未来几年.
当未来到来时,我重新审视这个问题的苹果的语言和应用程序接口未来针对苹果的戏剧性的入口进入手机市场和前所未有的增长,这使.你可以阅读我的结论,但底线是,我仍然关注的问题,认为苹果应该too.success隐藏的问题,和苹果非常成功的几年.
输入(和出口)垃圾收集
苹果公司已经做了大量的工作,现代化的发展平台,包括完全取代它的编译器,整顿,并增加新功能和语法到Objective - C语言本身.
所有这些事情都是伟大的,但没有我的具体问题内存管理.苹果终于看到适合添加垃圾收集到的目标,但我害怕苹果不会真正投入垃圾收集的目标竟然是有理由的.今天,年后引进的这一特点,很少有苹果的应用程序使用的垃圾收集.
这有个很好的解释.垃圾收集是一个简单的穷人适合Objective - C.所有句法简单,杰出的历史,语言的设计实际上是一个surprisinglycomplex兽,特别是当它来存储管理.在任何正确对齐,pointer-size位模式存储可以被用来作为一个地址;语言明确允许铸造无效*一个类型的指针,反之亦然.目标,作为一个超集,继承了这些迷人的性质.这种牺牲的交换,Objective - C代码可以编译与平原代码,可以链接到C库轻松.
这意味着运行垃圾收集器将遍历内存分配一个任意兼并目标平原旧代码并做出正确的decision-everytime-about内存可以安全地收集.苹果Objective - C垃圾收集是一个全球性的开关.它不能被启用为干净的,面向对象的目标代码,应用程序开发人员编写;它适用于整个过程,包括所有的框架,应用程序链接到.

自2005年以来,我一直很公开地关心长远的前景和苹果的编程语言应用框架,Objective-C和可可粉,那么远,推测可能技术危机在未来的几年。
当未来再次到来时,我的问题的语言和API苹果在未来的苹果戏剧性的光进入手机市场的空前增长,这使得。你能读懂我的结论为你自己,但是最重要的是,我还担心issue-and认为苹果公司应该也一样。成功隐藏的问题,苹果被非常成功,在近几年。
进入和...

全部展开

自2005年以来,我一直很公开地关心长远的前景和苹果的编程语言应用框架,Objective-C和可可粉,那么远,推测可能技术危机在未来的几年。
当未来再次到来时,我的问题的语言和API苹果在未来的苹果戏剧性的光进入手机市场的空前增长,这使得。你能读懂我的结论为你自己,但是最重要的是,我还担心issue-and认为苹果公司应该也一样。成功隐藏的问题,苹果被非常成功,在近几年。
进入和退出)(垃圾回收
苹果已做了大量的工作,包括现代化发展平台完全取代它的IDE编译器,检修,并添加新的语法的特点和Objective-C语言本身。
所有的这些事物都是伟大的,但没有具体地址我担心内存管理。苹果也最终认为合适的垃圾收集到Objective-C添加,但我担心苹果不真的致力于收集垃圾在Objective-C原来是有充分依据。今天,年后这一特点,介绍很少的苹果的应用使用垃圾回收。
那里有一个不错的理由。运行时垃圾收集只是一个可怜的适合Objective-C。所有它的语法简单又长,杰出的历史,其实是一个C语言程序surprisinglycomplex兽,尤其是当它牵涉到内存管理。在C语言中,任何正确地对齐位组合pointer-size记忆可以潜在地是作为一种地址;语言明确允许铸造空指针*一份打印,反之亦然。Objective-C,C的一个超集,继承这些可爱的性质。以换取这种牺牲,Objective-C代码可以被编译和平原,可以连接到C代码C库提供方便。
这意味着运行时加巴

收起