Objective-C语法与英语的相似程度如何?

时间:2011-08-06 21:32:20

标签: objective-c syntax paradigms

所以我知道一些OOP的脚本和基本概念,但是当它写到实际代码时,语法会让我感到厌烦。

我在iTunes U上下载了斯坦福课程,试图学习目标C,教授一直在重申你希望你的代码尽可能多地阅读英文。我有英语学士学位,我认为它看起来不像英语。

也许这个问题太过范式了,但是任何人都可以将Objective C语法与英语的语法进行比较吗?

我很乐意在脑中建立这些联系,这样我就可以编写代码而不必费力地处理每一行。

感谢您的帮助。

2 个答案:

答案 0 :(得分:6)

教授的意思是常见的类C编程代码之间的区别,例如:

foo.drawCircle(p, r, c); //C#, C++, …

与常见的Objective-C编程代码,例如:

[foo drawCircleAtPoint:p withRadius:r andColor:c]; //Objective-C

哪一个告诉你它正在做什么以及参数代表什么?

使用Objective-C中标记的方法参数(种类),即使复杂的方法(参数方面)也可以像普通英语一样阅读。它们的大写和空白不同,但措辞几乎反映了英语。

Objective-C虽然不是语言特定的(除了ifdo…while等)。您可以轻松地将上面的行写为:

[foo zeichneKreisAnPunkt:p mitRadius:r undFarbe:f]; //Objective-C

现在你的代码有些德语。不是说你应该这样做(严肃地说,不要!)。


非常类似英语的语言是Applescript。但正是这个功能让Applescript很难与之合作。英语(一般的自然语言)根本不用于/不用于指导计算机。

答案 1 :(得分:1)

我很抱歉你的失望。 比较英语(语言语言)和Objective-C(编程语言)是不对的。但在某种程度上,objective-c的语法比其他编程语言更容易理解。

初次见到初学者,他将能够理解代码如何“逻辑”工作(与C或C ++相比,他依赖于某些文档)!他无法理解Objective-C中代码的编程方面,但更容易理解最新情况。

例如,在C中,您将拥有用于初始化字符串的创建方法,并且您可以将方法命名为createString();。在objective-C中,您可以开始编写代码,就像您的感觉一样。

user.text = [NSString stringWithFormat:@"%@ is a %@", string1, string2];

html = [html stringByReplacingOccurrencesOfString:
       [NSString stringWithFormat:@"%@>", text] withString:@""];

有很多例子,只有当你开始与其他编程语言进行比较时,你才会对这种语言感到满意。我认为你的教授以积极的方式表达,以鼓励学生学习。