黑马程序员技术交流社区

标题: 碎碎念之为什么我们会觉得OC很难 [打印本页]

作者: 黑白世界    时间: 2015-9-26 01:34
标题: 碎碎念之为什么我们会觉得OC很难
C语言终于通关了,接下来要学Object-C了,之前也看过一点点,后来觉得很难懂。又听其他同学抱怨OC是个怪娃娃,我就在网上搜索了一些东西,整理了一下,算是对OC的初认识。
不过,我们还是要相信,认真学习和坚持努力,是我们学好一门语言的最好方法。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
大部分编程语言都是基于C语法风格的,也就是我们常说的点语法,依靠小数点符号来调用方法或者获取类的成员(当然了,在C语言中类被替代为结构体)。它们通常都是自己实现类的定义(注意在这里Java与C#和C++有稍微一点不一样),但无论如何这些语言的具体细节都是一样的。当我们接触一个新的编程语言时,我们当然很乐意看到新语言的语法是我们似曾相识的。毕竟大部分程序员都了解C语言的语法。

然而Objective-C压根就不是C语法风格的编程语言。它与我们熟悉的语言语法区别太大以至于大部分程序员根本看不懂这些Objective-C代码是神马东西。
实际上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
所以虽然这个语言越来越大了,但是在表达同样的目的使用的代码却越来越简单。
OC 的未来发展
这4年来,我们可以看到Apple公司已经尽可能的减小了Objective-C语言的大小以及复杂度。他们也完成了手动内存自动管理以及经典C头文件的方式;而且开始慢慢对属性存取器引入点语法以及Automatic Reference Counting来方便程序员编程。但就现在看来,Objective-C还是比较难接触与学习的;之所以现在变得越来越流行唯一的原因就是它是做iOS app的唯一途径了。


作者: HiGodl    时间: 2015-9-26 07:31
接触了其他语言,感觉oc有些东西真是有点费劲,不过也还好,语言都是相通的么,只是换了种写法
作者: zhuai68    时间: 2015-9-26 09:09
恩恩,听说OC比较难。看了楼主的分析,确实得好好学
作者: 尾尾    时间: 2015-9-26 09:33
点赞点赞!希望OC可以学好
作者: jianjiao    时间: 2015-9-27 08:53
还没有升级,你是在哪里下载的
作者: Jusive    时间: 2015-9-27 10:38
swifi出现之后 oc大势已去啊
作者: 黑白世界    时间: 2015-9-27 19:31
Jusive 发表于 2015-9-27 10:38
swifi出现之后 oc大势已去啊

觉得oc和swif都很抽象
作者: 黑白世界    时间: 2015-9-27 19:42
jianjiao 发表于 2015-9-27 08:53
还没有升级,你是在哪里下载的

需要我可以分享下载链接给你哦,我同学下载的
作者: wx_D3aDvzRw    时间: 2015-9-27 19:53
超集这个说法不错 还在基础班的豁然件觉得看到希望了
作者: 黑白世界    时间: 2015-9-27 21:04
wx_D3aDvzRw 发表于 2015-9-27 19:53
超集这个说法不错 还在基础班的豁然件觉得看到希望了

哈哈哈听说基础班好棒的,自己学基础感觉好苦逼
作者: 请叫我焦卷卷    时间: 2015-9-28 08:04
听了大牛的分析顿感oc的重要度,可是对于c都还没掌握的菜鸟的我,这种感觉很不好……
作者: hejianchun    时间: 2015-9-28 09:14
C语言是各种基础,OC的话大概就是那些各种关键字的应用需要记住,再就是英文单词了,尤其是后面的UI
作者: 黑白世界    时间: 2015-9-28 11:02
请叫我焦卷卷 发表于 2015-9-28 08:04
听了大牛的分析顿感oc的重要度,可是对于c都还没掌握的菜鸟的我,这种感觉很不好…… ...

加油哦,慢慢来,我现在看着OC都有点望洋兴叹的感觉,不过没关系,只要努力了,肯定会有一个结果的,一步一步来,切勿急躁




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2