当然,如果您一生中看到的所有东西都是目标C,那么它的语法似乎是唯一的可能。我们可以称您为“编程处女”。
但是,由于许多代码都是用C,C ++,Java,JavaScript,Pascal和其他语言编写的,因此您会发现ObjectiveC与所有代码都不同,但并不是很好。他们有这个理由吗?让我们看看其他流行的语言:
C ++为C增加了很多附加功能,但是它仅根据需要更改了原始语法。
与C ++相比,C#增加了很多附加功能,但它仅改变了C ++中难看的内容(例如从界面中删除“ ::”)。
Java进行了很多更改,但是除了需要更改的部分外,它保留了熟悉的语法。
JavaScript是一种完全动态的语言,可以完成ObjectiveC无法完成的许多工作。尽管如此,它的创建者并没有发明一种新的方法来调用方法和传递参数,只是与世界其他地区有所不同。
Visual Basic可以像ObjectiveC一样乱序传递参数。您可以命名参数,但也可以按常规方式传递参数。无论您使用什么,这都是每个人都能理解的普通逗号分隔方式。逗号是常用的分隔符,不仅在编程语言中,而且在一般的书籍,报纸和书面语言中都是这样。
对象Pascal的语法与C的语法不同,但是对于程序员来说,它的语法实际上更容易阅读(也许不是计算机可读的,而是计算机在乎谁的想法)。所以也许他们离题了,但至少他们的结果更好。
Python具有不同的语法,对于人类而言,它甚至比Pascal更易于阅读。因此,当他们更改它,使其与众不同时,至少它们对我们的程序员来说更好。
然后有ObjectiveC。对C进行了一些改进,但是发明了它自己的接口语法,方法调用,参数传递等等。我不知道他们为什么不互换+和-以便加号减去两个数字。它本来会更酷。
Steve Jobs通过支持ObjectiveC搞砸了。当然,他不能支持C#,后者更好,但属于他最差的竞争对手。因此,这是一项政治决定,而不是实际决定。当出于政治原因做出技术决定时,技术总会遭受损失。他应该领导自己擅长的公司,并将编程事务留给真正的专家。
我敢肯定,如果他决定以iOS以外的任何其他语言编写iOS并支持库,那么他肯定会为iPhone提供更多的应用程序。除了顽固的粉丝,处女的程序员和史蒂夫·乔布斯之外,每个人都觉得ObjectiveC荒唐,丑陋和令人反感。