V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yuancoder
V2EX  ›  Swift

学 Swift 有感

  •  
  •   yuancoder · 97 天前 · 2536 次点击
    这是一个创建于 97 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近看 swift 语法,太想骂人了,东西太多了。

    各种闭包写法,关键词,语法糖。

    看别人的代码,脑子里一堆问号,这都是什么意思。

    这是第一个让我学的想吐的语言。

    29 条回复    2022-05-18 15:43:09 +08:00
    kidlj
        1
    kidlj  
       97 天前 via iPhone   ❤️ 1
    Java: 我只有 class
    Go: 我只有 struct
    Swift: 嘿嘿 我全都要!
    icyalala
        2
    icyalala  
       97 天前   ❤️ 2
    糖少嫌淡,糖多嫌齁
    cssk
        3
    cssk  
       97 天前 via iPhone
    写完 oc 写 swift ,太 tm 舒服了
    akring
        4
    akring  
       97 天前   ❤️ 2
    建议先接受 Objective-C 治疗,脱敏后再来看 Swift
    Livid
        5
    Livid  
    MOD
       97 天前   ❤️ 1
    无论你学一门语言的目的是为了吐槽它还是用它实际做出东西来,Swift 都可以满足你。
    yuancoder
        6
    yuancoder  
    OP
       97 天前
    @cssk #3
    @akring #4

    就是看了 oc 的代码,才决定学习 swift 😂
    yuancoder
        7
    yuancoder  
    OP
       97 天前
    @kidlj #1

    别的语言有的它都有,别的语言没有的它还有。
    yuancoder
        8
    yuancoder  
    OP
       97 天前
    @Livid #5

    学完 swift ,再也不怕学别的了。
    fredli
        9
    fredli  
       97 天前
    为了学而学,看不到用处
    WildCat
        10
    WildCat  
       97 天前
    Rust 和 C++ 比 Swift 学习曲线陡峭多了。
    basefas
        11
    basefas  
       97 天前
    我觉得 swift 像是文科生设计出来的语言,比较「浪漫」(中性词),他想的不是怎么方便开发,怎么方便工程化,就是考虑怎么写出来比较「看起来优雅」的这么一种语言。目前也在学 swift ,一样的感觉,哈哈。
    tyx1703
        12
    tyx1703  
       97 天前
    确实,语法糖太多了
    sxeuosme
        13
    sxeuosme  
       97 天前 via iPhone
    @yuancoder 你住的地方有 Swift 的就业机会吗。真的很稀缺
    yuancoder
        14
    yuancoder  
    OP
       97 天前
    @sxeuosme #13 我学是为了自己写应用,不是为了就业。
    Buges
        15
    Buges  
       97 天前 via Android
    Swift 语言本身还是不错的,不过是现代语言中唯一一个「不跨平台」的,继承了果系一贯传统。
    (不是能跑就叫跨平台,工具链、标准库、相应生态都不行)
    yuancoder
        16
    yuancoder  
    OP
       97 天前
    @basefas #11 感觉这语言已经不受控了,没有一个核心的设计思想,什么都想要。

    像 java 的一切皆对象,go 的少即是多, 都有一些核心的设计原则,swift 呢,大杂烩。
    eternaljust
        17
    eternaljust  
       97 天前   ❤️ 1
    @yuancoder 如果你就写自己的应用,可以直接学 SwiftUI 来快速开发 App ,声明式 UI 比命令式 UI 便捷太多,也是苹果这两年主推的。这样你就可以在上手过程中慢慢就把 Swift 相关的语法熟悉了。
    lawler
        18
    lawler  
       96 天前
    所以我选 flutter
    anxiousPumpkin
        19
    anxiousPumpkin  
       96 天前
    我也在学习中,发现跟 kotlin 和 flutter 还是有蛮多相似点的
    echo1937
        20
    echo1937  
       96 天前
    @Buges #15 Swift 的工具链和标准库不跨平台吗?
    yuancoder
        21
    yuancoder  
    OP
       96 天前
    @eternaljust #17 就是发现 swiftui 看不懂,才开始学习 swift [二哈]
    impl
        22
    impl  
       96 天前 via Android
    kotlin 也是
    Removable
        23
    Removable  
       96 天前 via iPhone
    @yuancoder 推荐《 SwiftUI by Tutorials 》这本书,跟着学挺好的
    Buges
        24
    Buges  
       96 天前 via Android
    @echo1937 不是能跑就叫跨平台的,你看看目前市面上有真正的 Swift 编写的跨平台应用吗?
    agagega
        25
    agagega  
       96 天前 via iPhone
    Swift 早期的设计思路还是很明确的:在不至于混淆的时候加糖,在可能引发潜在 bug 的地方加盐(比如要求显式转换)。后来就越来越放飞自我了。另外兼容 OC 也是 Swift 的一个负担,否则能少很多奇怪的点。(毕竟 OC 也是个奇怪的语言)

    Swift 在 Apple 生态圈之外推不开和 Apple 的态度也有很大关系。但凡他们有微软推 C#一半的热情,Swift 也要比今天火得多。
    agagega
        26
    agagega  
       96 天前 via iPhone
    @agagega
    SwiftUI 这个框架本身有很精彩的设计思路。但是毫无疑问,苹果为实现 SwiftUI 加了很多专用语法,甚至是先发布+内部实现了再拿到社区来走过场,过于激进了些。
    chipmuck
        27
    chipmuck  
       95 天前
    Swift Closure: https://docs.swift.org/swift-book/LanguageGuide/Closures.html

    其实以闭包来说,官方文档很好地解构了「为什么 Swift 闭包花样那么多?」的这个问题,且文档对闭包的省略都是逐步、并且有理有据的。
    yuancoder
        28
    yuancoder  
    OP
       95 天前
    @chipmuck #27 除了增加学习成本,和阅读成本之外,没感觉到有什么意义。
    Bruce2077
        29
    Bruce2077  
       82 天前
    Chris Lattner 都难逃“劣币驱逐良币”,目前确实有些失控。。。
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4157 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 07:20 · PVG 15:20 · LAX 00:20 · JFK 03:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.