各位对objc的语法怎么看?

2013-09-15 22:09:16 +08:00
 frogs
写c和python程序好多年,觉得自己对语言的语法洁癖越来越厉害了。
觉得ojbc的语法真是啰嗦,写个程序屏幕上满满的字。。真觉得苹果公司该出obj3.0了。
9514 次点击
所在节点    程序员
57 条回复
lidashuang
2013-09-15 22:16:14 +08:00
同意,不喜欢
ispinfx
2013-09-15 23:00:59 +08:00
语法洁癖越来越严重了+1
echo1937
2013-09-15 23:15:57 +08:00
不好意思,我看成odbc了.
shinwood
2013-09-15 23:23:54 +08:00
可读性奇差无比,我本以为 Java 够啰嗦了,没想到 Objective-C 将 Java 直接给秒成渣了。
frogs
2013-09-15 23:41:24 +08:00
@lidashuang
@ispinfx
@echo1937
@shinwood
貌似大家都对objc怨念颇深。不知道苹果公司的人怎么想,这边有谁能给苹果公司写个吐槽的邮件。。
xiaoye5200
2013-09-16 00:03:37 +08:00
有慢慢在优化,有感觉到,但是到完美简明语法还有距离,急也没用,吐槽也没用
liuxurong
2013-09-16 00:07:33 +08:00
还是 Python 最整洁。
Hysteria
2013-09-16 00:08:07 +08:00
大学时候只用过c/c++,毕业之后一直使用OC。觉得已经习惯了这种很长很长的变量名、方法名了,可读性很高啊,缺点只是打起来麻烦。
cyberscorpio
2013-09-16 00:30:13 +08:00
我很喜欢 objc 这种自描述的函数调用方式。
goodan
2013-09-16 00:33:48 +08:00
喜欢…
像读英文诗句…
liaa
2013-09-16 01:08:17 +08:00
看楼上说喜欢可读性很长的变量名,方法名很有同感, 比如: isLatestNoticeDateChanged ...求破
ipconfiger
2013-09-16 01:21:43 +08:00
有靠谱的自动完成就不怕函数变量名长了
xsown
2013-09-16 02:15:10 +08:00
刚学的时候看着不习惯,学会了以后很喜欢,尤其是 + 表示 class method,- 表示 instance method,很可爱阿有木有

然后就是方法的声明/调用格式,[reader readContentsFromFileNamed:file async:YES charset:UTF8]; 比起 reader.readContentsFromFile(file, YES, UTF8); 明显更清晰,各参数的意义一目了然,而且如 @goodan 所说,有英文句子的美感,看着很舒服
alexrezit
2013-09-16 06:33:43 +08:00
写 Python 神烦. 从来记不住有几个参数, 每个参数都是啥.
angelface
2013-09-16 06:56:40 +08:00
喜欢的不得了,简直完美,变量长并不是语言的问题objc并没有不然你使用短变量比如:NSString *a,短方法发明比如-(void)b;但问题是这样命名后你以后怎么维护呢,所以我宁愿-(void)updateRectIfNessesary;直观明了,名字长点怕什么,有自动完成呢。另外我喜欢objc的原因是即有java这样的OO,又不失c这样的简洁。更不用说命名参数了,前两天还和别人赞叹Apple的API完美的就像Apple的硬件一样,简单明了,基本不用常看文档就知道什么作用,没有oc的语法支持还真做不到,还有太多让人喜欢的地方了,就不一一列举。
anerevol
2013-09-16 07:23:28 +08:00
想到一句话,Don't make me think。
1. 用objective-C调用多个参数函数时候不用思考参数的位置。
2. objective-C里面缩写较少,就算你第一次用这个函数基本上就能清楚这个函数是干嘛的,很多c函数的缩写太厉害,每次看到缩写就会不自觉的停顿下想想是什么的缩写。
每次写代码的时候如果被1,2这样的情况打断多次就会觉得很不爽...
代码是写给人看的嘛,挺喜欢objective-C的。
hanf
2013-09-16 08:46:14 +08:00
smalltalk的拙劣模仿,强扭的瓜
kavi
2013-09-16 08:53:49 +08:00
如果没有自动补全,objective-c 真不知道该怎么写了 = =!
Numbcoder
2013-09-16 09:02:41 +08:00
非常喜欢 smalltalk 式的语法。
可读性非常好,函数调用基本上不用看文档就知道什么意思。

如果你的函数名定义的好,你也不用写什么文档注释,别人一看就懂。
frogs
2013-09-16 09:03:25 +08:00
@anerevol
如果这么说的话,到还觉得有点道理。
不过觉得苹果公司还是该与时俱进了。
在大部分人都习惯string1 == string2这种语法的时候,
苹果还固守着[string1 isEqualToString string2]这种语法,真让人觉得顽固不化。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/82559

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX