Objective-C语法与英语有何相似之处?

Objective-C语法与英语有何相似之处?,objective-c,syntax,paradigms,Objective C,Syntax,Paradigms,因此,我知道一些脚本和OOP的基本概念,但是当涉及到编写实际代码时,语法会让我很难受 我在iTunes U上下载了斯坦福课程,试图学习Objective C,教授不断重申,你希望你的代码读起来尽可能像英语一样。我有英语学士学位,我认为它读起来一点也不像英语 也许这个问题太离题了,但是有人能把客观C语法和英语语法做一个比较吗 我很想在我的大脑中建立这些联系,这样我就可以编写代码,而不必为每一行费劲 谢谢你的帮助。教授的意思是普通C类编程代码之间的区别,例如: foo.drawCircle(p, r

因此,我知道一些脚本和OOP的基本概念,但是当涉及到编写实际代码时,语法会让我很难受

我在iTunes U上下载了斯坦福课程,试图学习Objective C,教授不断重申,你希望你的代码读起来尽可能像英语一样。我有英语学士学位,我认为它读起来一点也不像英语

也许这个问题太离题了,但是有人能把客观C语法和英语语法做一个比较吗

我很想在我的大脑中建立这些联系,这样我就可以编写代码,而不必为每一行费劲


谢谢你的帮助。

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

foo.drawCircle(p, r, c); //C#, C++, …
[foo drawCircleAtPoint:p withRadius:r andColor:c]; //Objective-C
与常见的Objective-C编程代码相比,例如:

foo.drawCircle(p, r, c); //C#, C++, …
[foo drawCircleAtPoint:p withRadius:r andColor:c]; //Objective-C
哪一个会立即告诉你它在做什么,参数代表什么

使用Objective-C标记的方法参数,即使是复杂的方法参数也可以像普通英语一样阅读。它们在大小写和空格方面有所不同,但措辞在很大程度上反映了英语

Objective-C不是特定于语言的,但除了if、do…while等之外。您可以很容易地将上面的行写为:

[foo zeichneKreisAnPunkt:p mitRadius:r undFarbe:f]; //Objective-C
现在你的代码读起来有点德语。不是说你应该认真做,不要!,不过


一种与英语非常相似的语言将是。但正是这一特性让Applescript的工作如此痛苦。一般来说,英语自然语言不是用来指导计算机的。

我真的很抱歉你的失望。将英语口头语言和Objective-C编程语言进行比较是不正确的。但在某种程度上,objective-c的语法比其他编程语言更容易理解

在初学者的第一次瞥见中,他将能够理解代码是如何与C或C++相比在逻辑上工作的,在那里他依赖于一些文档!他无法理解Objective-C中代码的编程方面,但更容易理解发生了什么

例如,在C中,您将有用于初始化字符串的create方法,并且您可以将该方法命名为createString;在objective-C中,您可以开始编写您可能感觉到的代码

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


有这么多的例子,只有当您开始与其他编程语言进行比较时,您才会对这种语言感到高兴。我认为你的教授的意思是积极的,以鼓励学生学习

使用命名参数是我喜欢Objective-C的一个方面——它真的很有创意。我很想看到这种风格移植到C中,因为它也命名了参数。这很有意义,你是对的,我完全理解Objective-C代码的意思。在p表示的点上画一个圆,半径用r表示,颜色用c表示。这是有道理的。但是,当我看大多数Objective-C代码时,它并不是那么清晰。嗯,是的,语言设计鼓励使用命名良好的方法,但最终完全取决于您实际选择一个描述性方法名称。苹果的框架中的那些名字都很好,而且是一致的,我也是。我见过其他人推行类似英语的阅读方法,这一点很重要。将其与其他编程语言进行比较有点困难,因为我不会说我对其他任何编程语言都那么流利。对我来说,最接近的东西是javascript,但总体而言,我仍在挣扎。再说一遍,交作业是一回事,实际上自己创建一个运行程序是另一回事。