• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Objective-C小白入门:什么是Objective-C

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

Objective-C

接触一门新语言,先要了解它的历史。

此篇博文主要是了解下什么是Objective-C,本人主要学习的Java,以前没听说过Objective-C,但是多学一点总是没有坏处,所以就从头开始咯。

热心网友提供了很多资料。

纵向看来,Apple公司领导着Objective-C语言的发展与维护,包括Objective-C运行时,Cocoa/Cocoa-Touch框架以及Objective-C语言的编译器。

什么是Objective-C

什么是Objective-C呢?网上查了一下,百科词条它是这样说的:

Objective-C,通常写作ObjCOC和较少用的Objective CObj-C,是扩充C的面向对象编程语言。它主要使用于Mac OS XGNUstep这两个使用OpenStep标准的系统,而在NeXTSTEPOpenStep中它更是基本语言
GCC与Clang含Objective-C的编译器,Objective-C可以在GCC以及Clang运作的系统上编译。

好多术语看不懂,没关系,重点知道:它是扩充C的面向对象编程语言,主要使用在Mac OS X系统中,Objective-C的流行归功于iPhone的成功。编写iPhone应用程序的主要编程语言是Objective-C。就可以了。

具体的大家点进去百科词条的链接看一下:Objective-C_百度百科上面已经把这门语言的历史和内容讲的很清楚了。
继续打开一个网页,出现了Objective-C入门教程,以下资料查自:Objective-C入门教程
先讲了什么是Objective-C,和百度百科查的差不多。

Objective-C 是一种简单的计算机语言,设计为可以支持真正的面向对象编程
Objective-C 通过提供类定义方法以及属性的语法,还有其他可以提高类的动态扩展能力的结构等,扩展了标准的 ANSI C 语言。类的语法和设计主要是基于 Smalltalk,最早的面向对象编程语言之一

对象的使用和对象对象架构是 iPhone 程序设计的基础,理解他们如何交互对创建你的程序非常重要。

最后该网站还提供了一个链接:Objective-C参考链接。不知道为什么这个链接我加载不出来。

Objective-C的历史

接下来的资料查自简书上的热心网友:Objective-C 基础,他对Objective-C是这样理解的:

Objective-C 是一种通用、高级、面向对象的编程语言。它扩展了标准的 ANSI C 编程语言,将 Smalltalk 式的消息传递机制加入到 ANSI C 中。目前主要支持的编译器有 GCC 和 Clang

这里也讲到了Objective-C的历史:

历史
Objective-C 主要由 Stepstone 公司的 Brad Cox 和 Tom Love 在 19 世纪 80 年代发明。
1981年 Brad Cox 和 Tom Love 还在 ITT 公司技术中心任职时,接触到了 SmallTalk语言。Cox 当时对软件设计和开发问题非常感兴趣,他很快地意识到 SmallTalk 语言在系统工程构建中具有无法估量的价值。
1983 年,Cox 与 Love 合伙成立了 Productivity Products International(PPI)公司,将 Objective-C 及其相关库商品化贩售,并在之后将公司改名为StepStone。
1988年,斯蒂夫·乔布斯(Steve Jobs)离开苹果公司后成立了 NeXT Computer 公司,NeXT 公司买下 Objective-C 语言的授权,并扩展了 GCC 使之支持 Objective-C 的编译,基于 Objective-C 开发了 AppKit 与 Foundation Kit 等库,作为 NeXTSTEP 的的用户界面与开发环境的基础。
1996年12月20日,苹果公司宣布收购 NeXT Software 公司,NEXTSTEP/OPENSTEP 环境成为苹果操作系统下一个主要发行版本 OS X 的基础。

热心网友https://www.jianshu.com/p/7e45eb0fbfc2提供了资料Objective-C的起源
还有一篇讲了为什么学习Objective-C非常难:http://www.code4app.com/blog-960094-3531.html,中间讲到:

实际上Objective-C是很严格的C语言的超集。而与流行的编程语言风格又差距太大。作为C语言的超集,它增加了很多东西,我们将简单看看它到底增加了什么复杂的东西。

Objective-C是一个很“大”的语言,我是说它的语法很复杂而且又具备弹性。Apple公司已经尽可能减小了Objective-C语言的体积,然而,他们还是添加了一些东西来让Objecive-C表达式更加简单。
Synthesizing properties
Dot-syntax for accessing getters/setters
Garbage Collection
Blocks (closures)
Automatic Reference Counting
Weak references
所以虽然这个语言越来越大了,但是在表达同样的目的使用的代码却越来越简单。

当你去学习Objective-C时,它不仅仅就是一个框架, 一个运行时或者一个编译器;而是它们全部。还有个很重要的部件就是 Automatic Reference Counting(使用后无法直接调用dealloc方法),这玩意会让你使用Cocoa/Cocoa-Touch编程时更加方便。

紧密耦合系统代码设计是Objective-C独有的。其他语 言比如在.Net框架下运行的Iron Python。以及一大堆运行在JVM的非Java语言,比如Clojure。甚至Ruby以及Rails都是两个不同的项目。当你打算使用其他语言配合 Cocoa/Cocoa-Touch以及Objective-C运行时时。你唯一的选择就是Mac Ruby。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap