1
crisfun 2016-06-27 11:09:55 +08:00
首先,是新东西,必然有一波吹
其他的还是请 PL 专业人士,实际用户来说说的好 |
2
yagao0o 2016-06-27 11:21:11 +08:00
最重要的是: Swift 现在是亲儿子阶段……
使用的便利性要高于 Objective-C ,毕竟设计时就是为了取代它。 |
3
chaoxn 2016-06-27 11:23:00 +08:00
其次,语法简洁,必然有一波吹
其他的还是请 PL 专业人士,实际用户来说说的好 |
4
DearMark 2016-06-27 11:23:46 +08:00
Objective-C :我还可以再战 10 年。
|
5
ethanlu 2016-06-27 11:24:07 +08:00
作为一个 0 基础入门的, swift 比起 OC 相对容易懂,主要是读起来很像英文句子。
|
6
karonl 2016-06-27 11:24:19 +08:00 via iPhone
开源啊,未来就很有变数
|
7
SuperMild 2016-06-27 11:27:18 +08:00
现在新出各种的语言主要注重两个方面的改进,写小程序时有甜度适中的语法糖,写大程序时有合理的特性减少出错可能性(比如 Optional Type )。
|
8
ichanne 2016-06-27 11:37:47 +08:00 via iPhone
有些新特性 OC 里面没有,比如面向协议编程,当然, Swift 还有个致命的缺点,不能方便的支持热修复。
|
9
c447279704 2016-06-27 13:12:50 +08:00
Swift 致力于成为一门通用的语言,这点和 OC 有根本的区别
1OptionalType 更安全 2 不像 OC 那样啰嗦,很简洁,少打很多没用的字 3 强大的枚举和 Where 4 泛型 5 开源,随时加入新的 idea |
10
garipan 2016-06-27 13:37:22 +08:00
亲儿子这点太重要了
看一下近几年 OC 和 Swift 的排名变化就知道了 只要苹果一天还占据市场主导地位, swift 就一天有优势 而且还开源了,苹果是铁了心要把 Swift 做大了 虽然现在 Swift 还有很多缺点,但是按照目前的发展速度,不用几年必然全方面超越 OC |
11
expkzb 2016-06-27 13:46:58 +08:00 1
swift 能令 objective-c 程序员更值钱
|
12
beimenjun 2016-06-27 13:52:11 +08:00
大势所趋, Swift 能不能起来不知道, O-C 按照剧本应该要凋零的。
|
13
walkingway 2016-06-27 14:11:33 +08:00 1
那些说 Swift 比 OC 简单的只是入了个门吧
|
14
nicevar 2016-06-27 14:52:30 +08:00
趋势是 swift ,代码能简洁点,容易上手,其他的优势真想不到了
会 swift 能做 iOS 开发,不过实际的工作中不会 oc 可能很多问题解决不了 |
15
youxiachai 2016-06-27 14:57:01 +08:00
反正.你搞 ios..两个都要学...orz
|
17
xhowhy 2016-06-27 16:03:23 +08:00
swift 不仅具备 oc 的面向对象、动态等传统特性,还具备函数式编程、泛型等比较新的特性
|
18
shawnclovie 2016-06-27 16:17:58 +08:00
等 swift 能和 c++互操作了, OC 也就只剩可以随便用 method swizzing 这点“优势”了。
|
19
blue7wings 2016-06-27 16:47:10 +08:00
我尤其喜欢 swift 的语法,我认为是最为优雅的。
|
20
jackisnotspirate 2016-06-27 16:53:38 +08:00
用了 swift 就回不去 oc 了。
|
21
dantegg 2016-06-27 16:57:45 +08:00
简单[笑 cry]
|
22
chisj 2016-06-27 17:06:10 +08:00
@jackisnotspirate 然而我用了快 1 年,又要回去了,蛋疼。
|
23
MountainRain 2016-06-27 17:09:07 +08:00
其实没有几家公司招 swift 的
|
24
warcraft1236 2016-06-27 17:11:26 +08:00
OC 为啥不是亲儿子呢?不是乔布斯从他创办的公司带来的吗
|
25
qw0258 2016-06-27 17:28:02 +08:00
swift 是一种包含了更多现代化编程语言特性的语言
OC 是老古董 |
26
araraloren 2016-06-27 17:34:45 +08:00
@yagao0o ~~从来没权威人士说或者官方人士说 swift 就是为了取代 oc
|
27
LMkillme 2016-06-27 17:43:34 +08:00
swift 相比 OC 先进,与此同时,也难多了,说 swift 简单的是不是只看了新闻?
|
28
Soar360 2016-06-27 17:56:18 +08:00
Swift 优雅?你是没看过 C#吧?
|
29
droiz 2016-06-27 18:05:49 +08:00
语法清晰简洁,具有更多现代化语言特性,你学了就知道了
|
30
murmur 2016-06-27 18:09:02 +08:00
说 swift 比 obj-c 好大概和 javascript 比 java 优雅是一个想法
|
31
wweir 2016-06-27 19:14:46 +08:00 via Android
函数式在正确性、多核利用等方面相对其它范式要高出不少
|
33
MartinLv 2016-06-27 21:22:16 +08:00
语法简洁是最不重要的…… swift 真正有吸引力的是新的编程范式的支持,函数式、泛型、面向协议、还有一定的模式匹配能力。语言的表达能力甩 OC 几条街。另外静态方法调用性能比 OC 好。但是 OC 的 runtime 用不了了,热修复、 AOP 不如以前好搞。
|
34
sensui7 2016-06-27 21:26:00 +08:00
有未来
|
35
wizardforcel 2016-06-27 21:29:50 +08:00
把 oc 那些看着不顺眼的语法都改进了一番。
你可以说语言只是一层皮,但是它毕竟是我们平常用的东西,美观与否会影响我们的生产力。 |
36
Taojun0714 2016-06-27 21:57:10 +08:00
struct RecursiveFunc<F> {
let o : RecursiveFunc<F> -> F } func Y<A, B>(f: (A -> B) -> A -> B) -> A -> B { let r = RecursiveFunc<A -> B> { w in f { w.o(w)($0) } } return r.o(r) } let factorial = Y { (f: Int -> Int) -> Int -> Int in { $0 <= 1 ? 1 : $0 * f($0-1) } } println(factorial(10)) |
37
free9fw 2016-06-27 22:30:24 +08:00
pop , enum 、 struct 、各种简短的语法,不用写分号。快不快不知道,但对于我来说,写的东西变很少很少了,变很爽
|
38
everettjf 2016-06-27 23:09:47 +08:00
虽然没学 swift 。但感觉更多现代化编程语言特性意味着更复杂(或者叫难学)。
目前感觉 OC 能满足需求, swift 学习计划就一直搁置。 |
39
DSKcpp 2016-06-27 23:19:03 +08:00
学习难度比 OC 大
|
40
ChengLuffy 2016-06-28 00:12:12 +08:00
范型很爽,但从编程这个过程来说,我感觉 swift 比 OC 有快感。。。个人感受
|
41
mudkip 2016-06-28 00:14:18 +08:00
写代码的幸福感倍增。
这个理由还不够么? |
42
hstdt 2016-06-28 00:48:42 +08:00 via iPhone
写起来开心,效率高,舒服。
|
43
IvanLing 2016-06-28 01:00:44 +08:00 via iPhone
请在项目中使用 swift 的举个抓🙋🏻
|
44
nino789pzw 2016-06-28 01:00:50 +08:00
|
45
wohenyingyu01 2016-06-28 01:11:28 +08:00 via iPhone
调用不了 c 库。我们的 ios 代码 80%都是 C ……
|
46
rqzheng2008 2016-06-28 02:47:11 +08:00
swift 3.0 API 又大改了,苹果设计语言怎么就不考虑一下向后兼容呢
|
47
Perry 2016-06-28 03:13:49 +08:00
易上手,新手写起来舒服
一直在更新 |
48
chai2010 2016-06-28 06:42:24 +08:00 via iPhone
objc 一直是补丁语言( c++也是一样的问题),它们虽然抱住了 c 的大腿,但是也包含了 c 的诸多问题,语言不能自由健康的发展进化。 objc 是该进垃圾桶了。
swift3 语法没多大变化, API 部分也只是转换规则做了调整。最期待的还是 spm 能早日支持 iOS |
49
RqPS6rhmP3Nyn3Tm 2016-06-28 07:07:44 +08:00 via Android
Swift :从精通到入门
|
51
tianshilei1992 2016-06-28 08:45:13 +08:00
插个题外话…
iBooks 国区不可用以后,最新的 Swift 那本教程去哪找呀… |
52
xsown 2016-06-28 08:56:54 +08:00
用过 swift ,会用 swift 的,一定不会再愿意用 oc 了
觉得 swift 是吹的,都不是 iOS 程序员,或者是根本没好好用过 swift 的人 |
53
chai2010 2016-06-28 09:17:50 +08:00
说 Swift 不兼容升级导致“从精通到入门”,估计有这几类: 1. 调侃; 2. 精通程度到 println 函数; 3. 非 iOS 开发者
|
54
Ixizi 2016-06-28 09:21:23 +08:00
|
55
fatestigma 2016-06-28 09:23:00 +08:00
Swift 语法比 Obj-C 简单非常多,对于新手入门简单,这应该也是苹果希望的。另外作为苹果的亲儿子和 IBM 的干儿子,感觉发展还是很有劲头的吧。
另一方面,好像 Obj-C 在 06 年开始进入 2.0 之后也没有什么大的更新了,而 C 、 C++ 还在发展之中,而 Swift 现在更新还是非常频繁的,可以进一步支持各种现代化语言的特性。 |
56
PublicFourWord 2016-06-28 10:08:29 +08:00
no C in Swift
|
57
xiandao7997 2016-06-28 10:22:15 +08:00
|
58
chuhemiao 2016-06-28 10:25:52 +08:00
@Taojun0714 R?
|
61
quxw 2016-06-28 13:54:46 +08:00
没用过 obj-c 但对其冗长的命名规则让我望而却步
|
62
holy_sin 2016-06-28 13:58:13 +08:00 1
枚举
|
63
Taojun0714 2016-06-28 15:29:29 +08:00
@chuhemiao swift 写的 Y combinator ……
|
64
chuhemiao 2016-06-28 15:36:55 +08:00
@Taojun0714 嗯,还以为是 rust ,看着都差不多。。。
|
65
jason19659 2016-06-28 16:36:17 +08:00
easy to use
|
66
xAx 2016-06-28 16:56:57 +08:00
降低公司员工工资支出,进而提高公司利润
|
67
xAx 2016-06-28 17:02:42 +08:00
从语言本身分析一门商业公司推出的语言的好坏没任何意义,无利不起早
|
68
crashX 2016-06-28 17:22:39 +08:00
说 swift 比 OC 简单的就跟说 scala 比 java 简单一样,估计没做过项目吧。还有 OC 的 runtime 和 KVO ,这俩纯 swift 目前没有,是硬伤。 swift 的新特性可以使代码更严谨,并不能做太多的事情。当下而言纯 swift 的代码不如纯 OC 能做的事情多。
|
69
SunnyCoffee 2016-06-28 18:02:36 +08:00
oc 的历史遗留问题太多了吧。
nil,NSNull,NULL,true,YES ,作为个新手,真是把人绕晕了。 case 不支持 String ,没有 java 的 @Override ,@Deprecated 。 很多东西,单纯的靠升级很难解决,还不如直接换了。 |
70
poetowen 2016-06-28 20:52:36 +08:00
Safe Fast Modern
|
71
n6DD1A640 2016-06-28 23:42:03 +08:00
closure
|
72
webjin1 2016-06-29 01:32:42 +08:00 via Android
看名字越短越好,何况它还带-
|
75
zhangweifang 2016-06-29 09:39:13 +08:00
swift 语言,学习的时候感觉好多语言特性设计的真是正确的,但是一到用的时候就不知道怎么下手,相对 ObjC 更直观, swift 更抽象的感觉。
|
76
Override 2016-06-29 10:14:07 +08:00
我仿佛又听到有人在背后 @我
@SunnyCoffee |
77
d553296416 2016-06-29 13:33:32 +08:00
swift 动态部署能力很差。。。不像 oc 有 reactnative wax weex luaview jspatch 等
|