Why is Swift already on version 4?

Discussion in 'iOS Programming' started by JohnnyW2K1, Jun 21, 2018.

  1. JohnnyW2K1 Suspended

    JohnnyW2K1

    Joined:
    Jan 27, 2016
    Location:
    London, UK
    #1
    It's pretty insane for a programming language to be on version 4 already. Even a recently invented language like PHP, which is 20 years old this month, is only on version 4. (It really started on version 3, skipped version 6, and is now on 7 -- but it's really 4.)

    Python is nearly 30 years old, is hugely popular, and it's still on version 3.

    Objective-C, Swift's precursor, is 34 years old and is still on version 2.

    They're all great languages, which is why they're still being used.

    Why is Swift changed so frequently? Anyone guess?
     
  2. PhoneyDeveloper macrumors 68040

    PhoneyDeveloper

    Joined:
    Sep 2, 2008
    #2
    I think they're on an annual cycle, which kind of matches the iOS and macOS annual cycles. The first three cycle updates were significant. 3 to 4 was less significant but they're not ready to claim backwards compatibility going forward. It's only a number.
     
  3. Mascots, Jun 24, 2018
    Last edited: Jun 24, 2018

    Mascots macrumors 65832

    Mascots

    Joined:
    Sep 5, 2009
    #3
    You can literally look at the diffs and changes between the versions: there is no need to guess.

    Does the fact that Objective-C is on version two mean there's only been two changes to the language through time? No. It's completely arbitrary.
     
  4. JohnnyW2K1 thread starter Suspended

    JohnnyW2K1

    Joined:
    Jan 27, 2016
    Location:
    London, UK
    #4
    Ok, the reason it’s changing so much is apparently because it was released unfinished. It’ll be interesting to see if the major changes slow now.
     
  5. Mascots macrumors 65832

    Mascots

    Joined:
    Sep 5, 2009
    #5
    Swift has evolved quite a lot since it's launch a few years ago and in comparison to today seemed to be quite immature with a large set of goals, but unfinished is a weird word to use.

    Was PHP unfinished because it lacked legitimate support for OOP for 10 years? Not really. Is Objective-C finished because it hasn't had a major version increment in ever? No.

    One of the goals of Swift was to be able to be built by the community around it and respond to the needs of that audience: the point of its release, it's rapid progression, and now focus on ABI stability are all examples of that process in action.
     
  6. firewood macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #6
    IMO. Swift 1.x was really a semi-finished beta, mainly useful for getting enough public feedback to polish 2.0. Swift 2.0 was finished enough for several large organization to use for porting or developing new high profile apps. However, even though the Swift programming language seemed finished enough to be usable, the libraries and frameworks were a mismatch. Swift 3.0 then mostly cleaned up the interfaces to libraries and frameworks.

    4.0 required only a minor tweak to my code, other languages either just failed to do those minor clean ups, or called them a +0.1 or +0.01 release.

    So consider 1.x -> a 0.x beta, 2.x -> 1.x, 3.x -> 2.x, 4.x -> 2.1, similar to Python or Obj C. Binary stability and concurrency support will produce the next major increment.
     

Share This Page