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。

啊哈,以上就是Objective-C的简单了解,就到这里吧,下课。

对了,觉得朵朵讲不清楚想要指点的大佬,请直说,不要因为我是朵娇花而怜惜我。

Objective-C小白入门:什么是Objective-C相关推荐

  1. React Native小白入门学习路径——五

    React Native小白入门学习路径--五 序 "哦天呐!" 这句话成了我在实验室的口头禅, 老师可能觉得我们都是大神吧,都还在看着基础就给布置了那么多任务:写一个RN的TDD ...

  2. python 快速排序_小白入门知识详解:Python实现快速排序的方法(含实例代码)...

    前言: 今天为大家带来的内容是:小白入门知识详解:Python实现快速排序的方法(含实例代码)希望通过本文的内容能够对各位有所帮助,喜欢的话记得点赞转发收藏不迷路哦!!! 提示: 这篇文章主要介绍了P ...

  3. 7.1 pdo 宝塔面板php_小白入门基础傻瓜式操作PHP面板安装使用_Bt宝塔面板

    ​ 小白入门基础傻瓜式操作PHP面板安装使用--Bt宝塔面板 从购买服务器到安装面板在到搭建网站(最基础的教程,以后会延伸到部署项目) 不用写代码谁都可以做到搭建自己的网站(PHP类)还有小程序,只要 ...

  4. 安装python步骤-小白入门:Python安装的10个步骤,极其细致!!

    原标题:小白入门:Python安装的10个步骤,极其细致!! 你有没有发现,在自学的时候去群里问大神python怎么安装,基本都不会有人理你,因为他们认为你这问题就跟踩死一只蚂蚁一样简单,都不屑于回答 ...

  5. python爬虫入门实例-Python爬虫天气预报实例详解(小白入门)

    本文研究的主要是Python爬虫天气预报的相关内容,具体介绍如下. 要求是把你所在城市过去一年的历史数据爬出来. 分析网站 我们可以看到,我们需要的天气数据都是放在图表上的,在切换月份的时候,发现只有 ...

  6. python魔力手册-小白入门宝典:Python快速入门魔力手册 PDF 超清版

    给大家带来的一篇关于Python编程相关的电子书资源,介绍了关于小白入门.python入门.Python手册方面的内容,本书是由魔力手册出版,格式为PDF,资源大小11.8 MB,魔力手册编写,目前豆 ...

  7. python编程入门与案例详解pdf-Python爬虫天气预报实例详解(小白入门)

    本文研究的主要是Python爬虫天气预报的相关内容,具体介绍如下. 这次要爬的站点是这个:http://www.weather.com.cn/forecast/ 要求是把你所在城市过去一年的历史数据爬 ...

  8. python语言入门w-Python完全小白入门指南

    前几天整理了Linux的入门材料Linux运维完全小白入门指南,趁着这热乎劲,又整理了一下自己学Python时候的资料,今天也一并分享出来. 还是之前的说过的,这里只适合初级或者未入门的小白,想看高阶 ...

  9. ML:推荐给小白入门机器学习一系列书籍

    ML:推荐给小白入门机器学习一系列书籍 目录 一.外文版 二.中文版 一.外文版 Christopher M.Bishop,  Pattern Recognition and Machine Lear ...

  10. 【自己动手写神经网络】小白入门连载(二)--机器人时代必须得有人工神经(不是神经病)...

    2019独角兽企业重金招聘Python工程师标准>>> [自己动手写神经网络]小白入门连载(一) 在上一章中,我们已经介绍了神经网络的基本概念.思想,并提及了有关人工神经元模型的部分 ...

最新文章

  1. [转]Linux 的多线程编程的高效开发经验
  2. android sdk 如何重新生成debug.keystore
  3. 【 C 】结构的自引用
  4. 洛谷 P1008 三连击 Label:水
  5. 《Spark大数据分析:核心概念、技术及实践》一3.6 惰性操作
  6. 005_MySQL数据类型
  7. 如何修改pdf文件的背景色
  8. 零位扩展和符号位扩展
  9. cpickle支持的python版本_Python序列化模块pickle和cPickle
  10. 干涉测量技术的应用_技术分享 | 石化行业测量仪表应用在线答疑
  11. 月入10w+的offer,变成了整容、传销、网红届的韭菜
  12. 构建根文件系统_Linux之构建文件系统
  13. 2021-06-06 弹窗练习
  14. 服务器提供各种服务 包括文件服务器,服务器提供各种服务,包括文件服务器、邮件服务器、Web服务器等。...
  15. inurl home.php,phpweb /version.php Vul
  16. 每日新闻丨IBM发布全新高端存储
  17. 【信息系统项目管理师】第三章 立项管理思维导图
  18. 淘宝直播火爆的背后,阿里做了什么?
  19. 你绝对不能错过的7款开源硬件架构
  20. 2022年湖南省中医执业医师考试第二单元中医诊断学(一)

热门文章

  1. Zabbix报告无交换内存主机“Lack of free swap space”问题解决
  2. java框架-框架的演变(记录)
  3. Pseudo-伪标签
  4. Python 第三方模块 科学计算 SciPy模块4 线性代数1
  5. 怎么样用计算机弹出小星星,【钢琴入门自写教程 1】小星星弹奏
  6. 新疆旅游攻略-喀纳斯
  7. 微信 speex 高清语音文件转MP3
  8. HPC高性能计算知识: GPU的工作原理(含视频)
  9. 开发与研发:区别很大(上)
  10. 左与AOL合并 右牵手谷歌 雅虎对抗微软收购