金沙棋牌官方平台

当前位置:金沙棋牌 > 金沙棋牌官方平台 > C发展历史,ITeye新闻热点月刊2014年11月总第81期发

C发展历史,ITeye新闻热点月刊2014年11月总第81期发

来源:http://www.logblo.com 作者:金沙棋牌 时间:2019-12-21 21:59

ITeye新闻热点月刊总第80期发布了!制作精美,内容丰富,为您总结一个月最精彩的技术新闻。精彩内容推荐:盘点史上最具毁灭性的20个软件Bug软件Bug几乎每年都会让美国经济面临近600亿美元的损失。我们都知道,软件Bug很烦人的,会对我们的工作、生活带来很多毁灭性的影响。现在,就让我们按时间顺序来盘点下史上最具有毁灭性的20个软件Bug。Objective-C之父Brad Cox访谈:我的编程之路众所周知,Brad Cox与Tom Love一起创造了iOS/MAC平台的首选开发语言Objective-C。构建于C语言之上的Objective-C其理念来自于公认的第二个面向对象的程序设计语言和第一个真正的集成开发环境的Smalltalk。日前,原文作者Dave Dribin采访了Brad Cox,一起来了解下这位大神级人物,是如何看待他的编程之路。最值得阅读学习的10个C语言开源项目代码本文总结了10个非常优秀的C语言开源项目。

Q:是metadata提取物?

Objective—C发展历史

1980年代初布莱德·考克斯(Brad Cox)在其公司Stepstone发明Objective-C。Brad Cox一直专注软件工程,软件重用性,组建化,这也是ObjC里面的核心思想,Brad当时想打造一门流行的、可移植的C语言与优雅的Smalltalk的结合体。Objective-C,通常写作ObjC,有时候也写作Objective-C或Obj-C,是在C的基础上,加入面向对象特性扩充而成的编程语言。

1985年,John Sculley接管了苹果电脑,并把Steve
Jobs赶出了苹果电脑。他离开后创立了NeXT电脑公司,并发展出NeXT电脑及NeXT STEP操作系统。NeXT获得了Stepstone公司的Objective-C语言授权和可以发布自己的Objective-C Compiler和libraries。同时使用Objective-C开发了一套NeXTSTEP,并创建了NeXTSTEP Toolkit软件包,这个工具包用于开发用户界面,功能强大。

1993年,NeXT终止了硬件业务,转为专注于NeXTSTEP(OPENSTEP)软件市场,OPENSTEP实际上 是NeXT和SUN公司合作开发的一套系统,可以运行在Soloris和Windows NT,并推出了一套网络程序架构WebObjects用于进行动态页面的生成。

1994,NeXT与Sun共同制定OpenStep API标准,其中两个重要的部分是Foundation跟Application kit,此时开始使用命名前缀NS。NeXT自己的实作成为OPENSTEP,软件开发工具组当时大概叫做OpenStep
developers toolkit;另外还有自由软体的实作,名为GNUstep。因此Mac OS X、iPhone SDK、Xcode可追 溯到NeXT、NeXTStep,所以是以Objective-C为主力开发语言,所以程式码中会出现NX与NS字样。

在1995年,NeXT从Stepstone得到了Objective-C全部版权

1996,Apple买下NeXT,主要用意就是要以NeXTStep作业系统取代老旧的Mac
OS。

1997,Steve Jobs重回Apple。

2007年Objective-c2.0发布,增加了自动声明、补全属性、点语法、快速枚举、异常处理、运行时性能提升和支持64位机。强调拥有“modern garbage collection, syntax enhancements, runtime performance”

2016年Objective-C、swift主要用于Mac OS X和iOS、watchOS、tvOS系统上。

小结:iPhone开发前必备文档的内容介绍完了,希望本文对你有所帮助!

金沙棋牌官方平台 1

Brad Cox:金沙棋牌官方平台,是的,我一直是闭包的拥护者,但是要进入调用者的堆栈的确是需要一定的技巧。

开发iPhone程序的首选语言是Objective-C,我们将在后面的篇章中看到这个专用语言的各种语法特点。但已经假定您们已经熟悉掌握了C语言及面向对象的相关概念。

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

Xcode:SDK中包含的一个最重要的元素,它是苹果公司的IDE. Xcode提供了各种实用的工具,用于创建和调试源代码、编译应用程序以及调优应用程序的性能。

Brad Cox和他的爱犬

Cocoa Touch这个名字来自于CocoaCocoa是为Mac OS X以及更早的NextStep编程而开发出来的面向对象框架),再加上单独为移动设备和触摸屏“Touch”的由来)设计的图形界面类。

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

Objective-C是开发iPhone应用程序的官方语言。

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

音频和视频:Core Audio、OpenAL、Media Library、AV Foundation;

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

用户应用:Address Book、Core Location、Map Kit、Store Kit;

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

Objective-C是ANSI版本C编程语言的超集,扩展了C  语言使它具备面向对象设计的能力,如类,消息和继承。Objective-C 程序中可以利用现有的C语言代码,使其利用现有的软件架构。这也是为什么Objective-C 过去多年间能够成为一种流行的用户界面开发语言而且至今没有消亡,因为一方面用它可以实现底层系统编程,另一方面可以支持利用动态架构进行开发。

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

网络:Bonjour、WebKit、BSD Sockets;

Brad Cox:我倾向于后者。

iPhone开发前必备文档是本文要介绍的内容,主要讲解的是iphone开发的几个基本概念,也是开发前必须弄清楚的问题,我们来看详细内容。

金沙棋牌官方平台 2

关于Objective-C

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

Objective-C目前的版本是2.0,更多关于Objective-C的学习,可以参照苹果公司的开发文档《TheObjective-C 2.0 Programming Language》。

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

新的OS增加了包括多任务支持在内的100多项新特性,新的系统将更加人性化和更安全。

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

iOS的SDK虽然是免费的,但必须先注册一个Apply ID才能在苹果网站上下载该SDK。如果想在iPhone真机上测试开发的程序或者通过App Store分发您的程序给其他用户,则需要付费注册标准版或企业版程序,价格分别为$99和$299。

Brad Cox:这感觉美妙极了。

数据管理:Core Data、SQLite;

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

苹果公司在北京时间2010年6月22号凌晨发布了第四代iPhone操作系统的正式版,并命名为iOS4,对应的iOS4 SDK 4.0.1可以从苹果网站上下载

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

编写iPhone应用程序将成为一种全新的体验,这种体验与之前您使用过的任何平台都不相同。好了,现在准备开始iPhone之旅吧!

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

其他必要条件及预备知识

英文来自:Mactech

1986年,Brad Cox在第一个纯面向对象语言Smalltalk基础上写成了Objective-C语言。这之后,Brad Cox创立了StepStone公司从事Objective-C的推广。1988年,Steve Jobs的NextStep采用Objective-C作为开发语言,1992年GNU GCC编译器中包含了对Objective-C的支持。这以后的相当长时间内,应用Objective-C语言的都是日后编程界的大腕,像Richard Stallman、Dennis Glating等人。

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

关于Cocoa Touch

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

Cocoa Touch 包含了创建世界一流 iPhone 应用程序需要的所有框架,从三维图形,到专业音效,甚至提供设备访问 API 以控制摄像头,或通过 GPS 获知当前位置。Cocoa Touch 既包含只需要几行代码就可以完成全部任务的强大的Objective-C 框架,也在需要时提供基础的 C 语言API 来直接访问系统。

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

前必备文档是本文要介绍的内容,主要讲解的是 iphone开发 的几个基本概念,也是开发前必须弄清楚的问题,我们来看详细内容。...

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

本文所说的iPhone开发只能在Mac Leopard操作系统下进行,对于没有Macintosh计算机的朋友,可以考虑在虚拟机中安装Mac Leopard进行开发。

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

作为开发人员,对iPhone SDK需要关注的主要是下面三大部分:Xcode、Interface Builder以及iPhone模拟器。

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

关于iPhone SDK

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

InterfaceBuilder:它是苹果公司为开发人员提供的界面设计工具。在Interface Builder上能进行各类库控件的拖放操作、定义属性、绑定事件等。

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

关于Cocoa Touch的更多说明,可通过下面的参见苹果公司的官方说明:

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

下面是 Cocoa Touch 中一小部分可用的框架:

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

据说最近放出的Xcode4测试版已经将Interface Builder集成其中,合为一体,而不必在开发过程中在两者之间不停切换。

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

图形和动画:Core Animation、OpenGL ES、Quartz 2D;

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

模拟器:编译通过的项目,可以利用SDK自带的模拟器对程序进行试运行测试;但对于某些需要硬件支持的功能,目前尚未能提供好的模拟方案。

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

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

本文由金沙棋牌发布于金沙棋牌官方平台,转载请注明出处:C发展历史,ITeye新闻热点月刊2014年11月总第81期发

关键词: