Talk:Swift (programming language)/Archive 1

Semi-protected edit request on 2 June 2014
The source for the line "It is intended to coexist with Objective-C, the current programming language for Apple operating systems." doesn't agree with the wording on Wikipedia. The 9to5mac article (http://9to5mac.com/2014/06/02/apple-announces-new-xcode-swift-programming-language/) is much more accurate in this case.

206.47.148.202 (talk) 19:27, 2 June 2014 (UTC)
 * Thanks. Updated accordingly. [[File:Huskyoog.jpg]] Husky (talk page) 19:29, 2 June 2014 (UTC)

Semi-protected edit request on 2 June 2014
Please also point to the long-existing Swift parallel scripting system, to distinguish these. https://en.wikipedia.org/wiki/Swift_%28parallel_scripting_language%29

Crimchyet (talk) 19:48, 2 June 2014 (UTC)


 * Done, with an hatnote. Guy Harris (talk) 20:01, 2 June 2014 (UTC)

Semi-protected edit request on 2 June 2014
more citations for the Swift Parallel Programming language: ,

Walljm (talk) 19:33, 2 June 2014 (UTC)


 * Those belong on Swift (parallel scripting language), not here; we only refer to that page in a hatnote now. Guy Harris (talk) 22:39, 2 June 2014 (UTC)

Type information
I'd like to include the fact that Swift has reified generics, if a citation is available. I don't want to step on WP:NOR though, and sources seem thin on the ground at this early stage. I'll check back in a few days. ◗●◖ falkreon (talk) 04:57, 3 June 2014 (UTC)

Semi-protected edit request on 2 June 2014
"Swift is an object-oriented programming language for iOS and OS X development"

This isn't accurate, as Swift has functional programming facilities similar to those of F#, Ocaml and Scala, three well-known OO/functional hybrid languages. Those include first-class closures, immutable variables, algebraic datatypes, and pattern matching.

I suggest changing this sentence to "Swift is a multi-paradigm programming language for iOS and OS X development".

50.197.66.210 (talk) 05:01, 3 June 2014 (UTC)
 * Padlock-silver-open.svg Not done: The page's protection level and/or your user rights have changed since this request was placed. You should now be able to edit the page yourself. If you still seem to be unable to, please reopen the request with further details. NQ (talk) 19:56, 3 June 2014 (UTC)

Groovy is back?
Someone put Groovy back in the influenced by section, and put it *first*. It's questionable that it should be in the list at all, and totally unjustifiable that it should be in first place. — Preceding unsigned comment added by 173.20.163.177 (talk) 00:12, 4 June 2014 (UTC)


 * OK, I've sorted the influences in the order Lattner mentioned them, put the reference with his quote after the last of them, moved the unreferenced ones to the end, and asked for a citation for Groovy. Guy Harris (talk) 00:39, 4 June 2014 (UTC)

External link problem
Swift Programming Language - Reference Site

This site doesn’t look official to me.


 * I did a Whois and it is not an Apple site. It just has a couple of links to Apple's pages. There is not reason to include it here, per WP:EL.--agr (talk) 23:44, 3 June 2014 (UTC)

Seems like there is a bit on an edit war going on with that link, also agree that it should be removed per WP:EL. PaleAqua (talk) 06:14, 4 June 2014 (UTC)


 * I've reverted/removed this link a couple of times, with edit notes clearly explaining the reason why, and it keeps getting added back in (and/or the changes removing the link get reverted out). The last 3 "different" users to add it in have only made edits to this page (I'm wondering if sock puppets are involved), and aren't providing any edit notes (or responding to this section on the talk page). And as of the moment, it's a little mangled - the link has been added as a line in the middle of one of the other bullet points, leaving the text in that section broken. I looked up "edit war" in the Wikipedia help, and now know about the 3RR rule, and don't want to run afoul of it, but I'm not certain if this technically qualifies as vandalism (which would not count towards 3RR to remove). What's the best next step? -- CarlRJ (talk) 04:59, 5 June 2014 (UTC)


 * Don't know about vandalism but it is link spam which I have again reverted. Efficacious (talk) 06:17, 5 June 2014 (UTC)


 * There were three accounts ostensibly only made to spam the link above. I've blocked all three. We'll see what else crops up. Protonk (talk) 16:48, 5 June 2014 (UTC)

Opening Sentence
I felt a little dissatisfied with the opening sentence of this article, so I compared it with those of a variety of other programming languages (using Swift's "influenced by" section as a guide):


 * Objective-C is a general-purpose, object-oriented programming language that adds Smalltalk-style messaging to the C programming language.
 * Rust is a general purpose, multi-paradigm, compiled programming language developed by Mozilla Research.
 * Haskell is a standardized, general-purpose purely functional programming language, with non-strict semantics and strong static typing.
 * Ruby is a dynamic, reflective, object-oriented, general-purpose programming language.
 * Python is a widely used general-purpose, high-level programming language.
 * C# is a multi-paradigm programming language encompassing strong typing, imperative, declarative, functional, generic, object-oriented (class-based), and component-oriented programming disciplines.
 * CLU is a programming language created at MIT by Barbara Liskov and her students between 1974 and 1975.
 * Swift is a proprietary programming language with first-class functions for iOS and OS X development, created by Apple and introduced at Apple's developer conference WWDC 2014.

I note that "proprietary" and "with first-class functions" (neither of which were in earlier versions of this article), feature quite prominently, with "for iOS and OS X development" (arguably the language's most distinct attribute at this point) taking a back seat. The "first-class functions" bit seems like a worthy attribute to appear later on, in a list of the many other modern language features that Swift embraces. While the "proprietary" bit, sure, it's useful information, but as the very first real word in the description of the language? It's already in the info box on the side. (I wonder if the prominent placement speaks more to the personal views of whomever added that bit than to the best way to describe the language.) Thoughts? -- CarlRJ (talk) 23:17, 4 June 2014 (UTC)
 * How about "Swift is a multi-paradigm, compiled programming language developed by Apple for iOS and OS X development" and then leave the introduction time for a later sentence, since it will matter less and less as the years go on. I agree that the first class functions bit is not really needed in the first line. I'd argue that it will eventually be a general purpose language if Apple doesn't slap an absurdly restrictive license on it (as the toolchain for it can run anywhere, in theory), but that can wait until the fall when it is released without an NDA. Protonk (talk) 13:23, 5 June 2014 (UTC)
 * Went ahead and changed it. Feel free to edit for clarity, or to put proprietary back in (I have no objection to that being in the lede, just didn't flow well w/ the re-write), or edit however you see fit. :) Protonk (talk) 16:54, 5 June 2014 (UTC)
 * I think your change is spot on, thanks. And yeah, after the NDA lifts, perhaps Apple will share the base language compiler (personally I'd love to see it on Linux too -- then it'd effectively be the LLVM-based Scala I've always wanted). CarlRJ (talk) 17:04, 5 June 2014 (UTC)

Some sources
http://appleinsider.com/articles/14/06/04/apples-top-secret-swift-language-grew-from-work-to-sustain-objective-c-which-it-now-aims-to-replace

Wednesday, June 04, 2014, 01:12 pm PT (04:12 pm ET)

Feature	By Daniel Eran Dilger

There is also this from ars technica. It's long, but use with care as the author seems to focus on areas of the language which represent trivial change and skim past more important changes. Protonk (talk) 20:05, 5 June 2014 (UTC)

Syntax highlighting for Swift
Just a note that we will want to change the syntax highlighting used in code examples to something Swift-specific (rather than using "objc") when such becomes available (I haven't yet gone looking for what Wikipedia uses for that). "objc" mostly works, but not entirely.

The first difference I noticed is that the current highlighting doesn't handle the closing paren in "foo \(bar) baz" properly. -- CarlRJ (talk) 15:54, 6 June 2014 (UTC)


 * probably uses geshi https://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi so when swift support is added to that it will come in wikipedia


 * mw consumes geshi (some specified version number), so if you want swift you can add a PR to this issue. Protonk (talk) 18:16, 6 June 2014 (UTC)

License and Source
I have not been able to find the source code for the language. I cannot read the itune book because I dont have an account. Can you please clarify the license of the language, the possible patent protection, and where can we find the source code? Has it been ported to linux? thanks mike James Michael DuPont (talk) 07:39, 3 June 2014 (UTC)

Here is License info http://ec2-54-81-204-169.compute-1.amazonaws.com/downloads/index.php Ravipkb (talk) 14:30, 3 June 2014 (UTC)
 * This is license applicable for The Swift scripting language, not Apple's Swift. Arturotena (talk) 16:34, 3 June 2014 (UTC)


 * Mdupont: from https://news.ycombinator.com/item?id=7851574 and https://news.ycombinator.com/item?id=7851583 I gather that Swift is not open source. I strongly agree that some details about this (license of runtime, and available compilers and their license) should be mentioned in the article. 82.83.253.150 (talk) 17:20, 7 June 2014 (UTC)


 * The first Y Combinator post asserts that it "has a proprietary license" without a pointer to the license supporting that assertion; the second one asks "Will Swift be open source?" without answering the question. I'd be inclined to wait until after the final release of Xcode 6 (and possible iOS 8 and/or OS X Yosemite) before drawing a firm conclusion one way or the other.


 * Foundation Kit and Application Kit/UIKit, however, are not open source, and are unlikely ever to be open source, and a lot of Swift applications, like a lot of Objective-C applications, will use those frameworks, so, whilst Swift, if the compiler and runtime are open-source, might be available on Linux or Windows or *BSD or..., the frameworks would have to be reimplemented with a GNUStep-like project (or could just use GNUStep), so that'd be the only way you'd get the applications written for iOS or OS X on your Linux box. Guy Harris (talk) 19:41, 7 June 2014 (UTC)


 * Agreed that we don't have enough information yet, and may not have such until the Fall's releases of iOS and OS X, and agreed that Apple's higher level frameworks (collectively Cocoa and Cocoa Touch) will almost assuredly never be ported by them to other platforms.
 * But I think if even just the base language (a command-line Swift compiler with some supporting code analogous to the C standard library) were released for, or ported to, or reimplemented on, other platforms (as Objective-C has been), that'd be a huge thing - giving programmers a succinct, modern, full-featured, OO/Functional high-level language that compiles to machine code - a potential replacement for many of the roles filled by C and C++. I'd certainly use it that way - not for GUI app building, but for all sorts of tools/utilities/systems programming. CarlRJ (talk) 02:04, 8 June 2014 (UTC)

The two swifts and the encyclopedic neutrality
The title of this article, "Swift (programming language)" is misleading. It gives Apple the whole credit for the programming langage called SWIFT. There was already a programming language with this name, and the link "Swift (parallel scripting language)" makes this clear. I find it misleading, because a scripting language is a programming language as will many Perl, Python, and javascript programmers confirm. This interpretation is confirmed by the fact that both articles are assigned to the same category "programming language". I believe this is not the best way to go. I'd recommend to either change the tile of this article to "Swift (proprietary programming language)", or merge the two articles. I'd rather go for the second option, because the very idea of an encyclopedia is not that everyone writes an own article on a micro part of a subject or on commercial products, buf on the contrary, to give a broad view on specific subject. So why can't there be one article "Swift (programming language)", with a first chapter on "Swift, the parallel scripting language" and a second chapter on "Swift, apple's proprietary language" ? — Preceding unsigned comment added by Cth027 (talk • contribs) 23:07, 4 June 2014 (UTC)


 * If you check the timestamps, you'll find that the page on the parallel scripting language didn't appear until well after this page on Apple's language was in place -- I suspect partly in response to the edit war where folks kept trying to add a link to the homepage of the parallel scripting language, in error, to this page. As to combining the two, no, just - no. That's the whole purpose of disambiguation pages. Or please cite some other page where two completely unrelated languages are fully described on the same page. -- CarlRJ (talk) 23:29, 4 June 2014 (UTC)


 * I would strongly oppose combining Swift (programming language) and Swift (parallel scripting language), as they're separate, independent programming languages; the mere fact that they share a name and are both programming languages doesn't give them enough in common to justify combining them. And if "the very idea of an encyclopedia is not that everyone writes an own article on a micro part of a subject or on commercial products, buf on the contrary, to give a broad view on specific subject", I guess Wikipedia is not an encyclopedia, because it's a huge collection of articles on specific topics.


 * If people object to "Swift (programming language)", I'd vote for "Swift (Apple programming language)" (unlike Objective-C, which wasn't invented by Apple, Swift was). Guy Harris (talk) 00:04, 5 June 2014 (UTC)
 * Just because something came first, doesn't mean it's more important, and combining two unrelated topics makes little sense. A Quest For Knowledge (talk) 00:29, 5 June 2014 (UTC)
 * To be clear, I mentioned the order of page creation because I thought the OP might be implying that this page was somehow trying to usurp the "programming language" title from the parallel scripting language. CarlRJ (talk) 00:40, 5 June 2014 (UTC)

OMPIRE went ahead and did the page move, but that left a many pages linking to a DAB, sigh… 209.6.114.98 (talk) 18:02, 5 June 2014 (UTC)


 * I've fixed several of those links. There are still a number that are reported, but I think some of them are there because a template included on the page linked to the dab page, and fixing the template didn't immediately update the list. Guy Harris (talk) 20:00, 5 June 2014 (UTC)

The proper procedure for initiating page moves is outlined at WP:RM. I have reverted this move accordingly, as out of process. Please note, however, that disambiguation page with only two links are discouraged per WP:TWODABS. Absent evidence that the existing topic is not the primary topic for the term, the disambiguation function can be accomplished in a hatnote. Cheers! bd2412 T 14:31, 11 June 2014 (UTC)


 * Agreed on the primary topic, given this, it is quite clear that this is the primary topic for a programming language named swift. PaleAqua (talk) 14:44, 11 June 2014 (UTC)


 * I'm happy with the move to "(Programming language)". I think early on there may have been some concern that it was unfair for the elder swift to be so quickly sidelined, but I suspect over time this will become the primary topic. Protonk (talk) 14:46, 11 June 2014 (UTC)

Citation for "WWDC 2014 app being written in Swift"
This was mentioned in the WWDC 2014 keynote presentation, which the video for is now posted. (http://www.apple.com/apple-events/june-2014/) Starting with the introduction of Swift at around 1:45:00. I'll find the exact timecode shortly. cipherswarm (talk) 21:47, 3 June 2014 (UTC)
 * I reviewed the video and can't find a mention for it. It may be in the State of the Union video which isn't available for public streaming at the moment. cipherswarm (talk) 01:01, 4 June 2014 (UTC)


 * It is, indeed, mentioned quite clearly in one of the videos not (yet?) available to the public. So it's true (or maybe I'm misleading you - you decide), but can't be backed up by references (yet). Treat that as you see fit, per WP policy. CarlRJ (talk) 23:36, 14 June 2014 (UTC)


 * I've removed it for now. Once the NDA drops or we have a secondary source discussing the app we can reinsert it with a reference. Sucks removing a true claim under NDA but once/if it is newsworthy we can mention it verifiably. Protonk (talk) 16:43, 15 June 2014 (UTC)


 * The State of the Platform video is available to the public on Apple's WWDC app, which I downloaded without agreeing to any NDA. I've made the reference clearer and restored the text.-agr (talk) 17:57, 15 June 2014 (UTC)
 * Woot. Thanks. Protonk (talk) 18:51, 15 June 2014 (UTC)

Inspired by Groovy? Says who?
I've been tracking very large discussions about Swift since yesterday and many people in the software world have made all sorts of comparisons to all sorts of languages but not Groovy, not once - and the Wikipedia article currently prominently states that Swift is inspired by "Objective-C, Groovy". Says who? Apparently exactly one person: Guillaume Laforge, a fine person I'm sure, but a little biased considering he's the project manager of Groovy.

I think this should be removed until more sources make this assertion. — Preceding unsigned comment added by 173.20.163.177 (talk) 15:14, 3 June 2014 (UTC)

The optional chaining operator "?." is from Groovy (called safe navigation operator there): http://groovy.codehaus.org/Operators#Operators-SafeNavigationOperator(?.) But maybe they got the idea from C#, which wants to introduce it as well: http://blogs.msdn.com/b/jerrynixon/archive/2014/02/26/at-last-c-is-getting-sometimes-called-the-safe-navigation-operator.aspx The trailing closure syntax ist from Groovy as well: http://groovy.codehaus.org/Closures#Closures-ClosuresasMethodArguments which itself probably was inspired by the special treatment of a Ruby block when passed as the last argument. --77.2.18.215 (talk) 09:06, 9 June 2014 (UTC)


 * From the known direct influences, I think I'd agree with  coming from C#.  I believe C# was influenced there by CoffeeScript, which in turn was inspired by Groovy and the Ruby andand gem. Semantically, the trailing closure seems a little like Ruby blocks and CLU, but of course without the Swift designers identifying specific points of influence I'm just speculating. Hexene (talk) 19:09, 9 July 2014 (UTC)

Pointers do seem to exists.
There ara pointers according to the docs. Those are marginalized, so that people don't have to mess up with those unless the truly need them, but do co-exist with the references. 90.62.114.122 (talk) 19:57, 15 July 2014 (UTC)


 * See also this tweet. We should/could update the article to note UnsafePointer etc. Protonk (talk) 20:02, 15 July 2014 (UTC)

Swift Tips and WP:EL
I've removed the external link to "Swift Tips" and I'm hoping to get some feedback on that and (potentially) other marginal external links for this page. Unlike "theswiftprogramminglanguage", this doesn't seem to be spammed--editors appear to be adding it because it's helpful. WP:ELNO doesn't proscribe links like "Swift Tips" per se (except in the first criterion, which is universally violated around the wiki), but from an editorial standpoint, I'm not sure it adds too much value. Thoughts? Protonk (talk) 18:11, 6 June 2014 (UTC)


 * It seems to be on the edge as you say. I don't think it violates the first criterion as it includes links that would not make sense to include in a full article. Looking through the other criteria, the closest is open wiki, but taking the site at face value it is 'curated'. I would lean towards including if only it gives a better home for links that might otherwise be attempted to added as EL here. As more information, resources and sites become available we can also revise. PaleAqua (talk) 18:31, 6 June 2014 (UTC)


 * Although, as you say, it's on the edge, in the vacuum created by the absence of an Apple-anointed Swift news / community / starting-point site, one would expect various grass-roots attempts at creating one, and it would be useful to link to the "winner" of that "race", to point the reader towards information beyond the scope of Wikipedia. And "learnswift.tips" does seem like one such useful gathering place (I've not seen better yet, but haven't looked hard). I'd vote for, "leave it in until something better comes along," (and replace it when/if that happens).
 * Also, "theswiftprogramminglanguage.com" was/is kind of mystifying - no unique content not found here, two links that are already here (so just becoming a middleman, but no affiliate/commission tags on the one link from which they might profit), but they seemed very determined to add the link (and one of them kept breaking the preceding bullet point in precisely the same way) - can't imagine a motive beyond pride (something like, "no, really, I'm going to put up a good site here eventually, and it'll be really cool"). CarlRJ (talk) 19:11, 6 June 2014 (UTC)


 * Against. A tips page? The Objective-C page seems to manage fine restricting itself to external links for historical info (Brad Cox, the originator), a FAQ, and a manual for the GNU variant. The slippery slope in this case from a "tips" page will be to training pages and even further tangential items. Elsendero (talk) 02:01, 7 June 2014 (UTC)


 * For: I rather liked having the link there as I found a bunch of content I would not have come across otherwise. It may not survive the passage of time but I think in the early stages of the language it is a useful inclusion in this article. Efficacious (talk) 05:32, 8 June 2014 (UTC)


 * For (disclosure: I made the site): Hey All, I've been following this discussion as primarily as a silent bystander. I think it was time I contribute though as alerted by Protonk. The reason I created the site was quite selfish to be honest. I wanted a place where I could go to find resources to learn Swift. As a primarily self-taught programmer, I've found it easiest to learn a new language when I had a somewhat structured learning path. The categories on the site as well as references and code examples I felt would help me as well as others easily learn a new language by providing all the components necessary for success. Because Swift is so new and is actually the second programming language to be called 'Swift', these resources are dispersed across the web and quite hard to find. I'm hoping the site will become a community site for Swift by including a Forums and more news. Would I like Wiki to link to the site? Of course - who wouldn't want to share their creation with the world? Should you view my comments/edits with skepticism? Of course! Whatever the Wiki-gods decide the consensus should be to include/not, I still hope the site is useful for folks that would like to learn Swift. I've gotten many emails from people thanking me for the site which was quite shocking since my email wasn't directly on the site (now it is) - that signaled to me that many people found it useful and went out of their way to let their support be known. ZiggyMo (talk 15:56, 17 June 2014 (UTC)
 * I appreciate the disclosure and actually do support the link being in the article. That said I wish you had waited for someone else to restore the link; for what it's worth, I was considering restoring it around the time you put it back. PaleAqua (talk) 22:06, 17 June 2014 (UTC)
 * Agree. I personally think the link is worth having here (unless/until something better comes along, but who knows, perhaps in a year the site in question will have emerged as the preeminent gathering place for non-Apple-supplied information on Swift), but the link would better withstand controversy/complaints if someone other than the author had restored it (but dissenters take note that PaleAqua, or one of us others, would likely have put it back anyway). CarlRJ (talk) 22:53, 17 June 2014 (UTC)

I've readded it as consensus seems to be gently positive for now at least. Efficacious (talk) 06:20, 16 June 2014 (UTC)
 * Seems reasonable, based on the the above conversation. PaleAqua (talk) 22:06, 17 June 2014 (UTC)

How about we read the above discussion as consensus to restore the link, with a mind that it might be replaced should other, more authoritative sources arise. That may be off in the Fall and it may come later this summer if Xcode 6 is released with the public beta. Protonk (talk) 13:24, 18 June 2014 (UTC)

I know we've had a lot of trouble here with the value of external links - I got bold and just added a new one, without discussion first, because it's Apple's newly announced official blog on Swift (first spotted here: http://daringfireball.net/linked/2014/07/11/swift-blog ). Yes, there isn't much info there yet, but it's an official source. Please feel free to tweak if I got the format wrong, but I hope we can agree that this one ought to be here. CarlRJ (talk) 07:26, 12 July 2014 (UTC)


 * It's already linked directly from the top of the Apple's official page for swift. Thought about adding it myself for a second, but not convinced we need to link to it. Might be useful for some factual 1st party source links in the future though depending on what is posted there. PaleAqua (talk) 07:33, 12 July 2014 (UTC)


 * I don't have a problem putting the swift blog in the external links. Though, Apple does have a big problem with developer communication. If this is a sign that they're turning over a new leaf (another sign: many of the swift engineers are on twitter answering questions) and the blog stays updated, that's great. It may be a good resource. Protonk (talk) 14:00, 12 July 2014 (UTC)

I've since removed the link to swifttips. I think the best takeaway from this discussion is that we had a pretty marginal approval for the link in the first place. I'm fine with being reverted, but I don't think we have a particularly strong consensus to keep it out (especially since a removal by an editor who didn't participate in this discussion should be read as a comment on the link's appropriateness). Protonk (talk) 13:26, 9 August 2014 (UTC)
 * Seems reasonable especially as official blog is now available. PaleAqua (talk) 14:11, 9 August 2014 (UTC)

'Reimagining'?!
'Swift is, in large part, a reimagining of the Objective-C language'

Whatever else it might be, a programming language is not a 'reimagining' of another programming language.

The neo-word, 'reimagining', belongs in the realm of marketing-hype and newspeak, and certainly not in a supposedly encyclopaedic entry about a serious technical topic.

If this example of use of language spreads it will not be long before we have 'hipster' programming languages and 'well cool' programming languages. For goodness sake, this is supposed to be an encyclopaedia, not a comic! — Preceding unsigned comment added by 94.118.96.1 (talk) 21:27, 10 February 2015 (UTC)


 * Swift is a hipster language, so that's why it gets that language inserted. Ruby is another hipster language.
 * Reworded. --Mareklug talk 13:55, 21 March 2015 (UTC)

Swift history
Swift 1.1 introduces failable initializers (https://developer.apple.com/swift/blog/?id=17) and swift will continue to evolve rapidly. Would it be interesting to capture swifts evolution on this page or another one? — Preceding unsigned comment added by 50.250.195.226 (talk) 03:49, 22 October 2014 (UTC)
 * Go for it: History of Swift programming language. --Mareklug talk 13:56, 21 March 2015 (UTC)

WP:EL continued
We are still seeing the periodic spammed link added to the external section. Most are mostly devoid of content, though the last one had a little bit. I added a hidden comment to direct requests to the talk page and to encourage that at least if something gets boldly added that it ends up on the bottom, instead of in the middle of one of the other links, which seems to happen quite a bit. PaleAqua (talk) 08:12, 7 July 2014 (UTC)
 * True. But I am watching over this, having added the EU link which we kept, thank goodness. --Mareklug talk 13:57, 21 March 2015 (UTC)

Reassessed on 2015-03-21
This article, albeit highly topical, what with the new changes in Swift and Xcode 6.2 and the incipient public release of Apple Watch and non-beta iOS 8.2, is obviously neglected here on Wikipedia. I went ahead and re-read it carefully, after which I took the liberty to re-asses it from its made long ago Start class assessment, and whatever importance assessments it had been given, if any. Feel free to disagree. --Mareklug talk 14:17, 21 March 2015 (UTC)

Swift History
Other language pages keep track of evolution. Should this page have a list that explains the features in swift 1.0, 1.1, and 1.2? — Preceding unsigned comment added by 2601:9:8081:1C00:5DE6:BE5C:5D25:9539 (talk) 01:21, 23 March 2015 (UTC)

Notable Users
Perhaps we could add a section on notable programs that are written in Swift? Suspender guy (talk) 22:56, 19 April 2015 (UTC)
 * OSX ones. There is really no reason to include a list as long as the language is limited to one platform. It would just be a list of "Mac developers who have ported from ObjC to Swift already"

Comparing with Python
I think the comparison is unnecessary, the languages have few similarities and different domains. The current goal is to supplement and/or replace Objective-C as a compiled language for applications and system programming so it can be better compared with Objective-C (it is) and by extension with languages in similar positions, C++, D, Rust, maybe even C# and Java. But Python is a stretch. 178.94.55.228 (talk) 08:49, 5 February 2015 (UTC)
 * pyobjc was apple's 1st attempt to do this
 * Swift attempts to incorporate the best aspects of several languages and Python's arguably best-of-breed programmer friendliness is one of those targets. So yes, I think a comparison belong here, though more needs to be said.--agr (talk) 16:52, 5 February 2015 (UTC)
 * That's conjecture, more needs to be said indeed.178.94.43.56 (talk) 15:11, 6 February 2015 (UTC)
 * Good edit, makes sense.178.94.30.22 (talk) 20:26, 11 February 2015 (UTC)
 * Why single out Python specifically and not e.g. Ruby as well (since it’s explicitly mentioned in the footnote)?—Totie (talk) 08:09, 1 May 2015 (UTC)

Not open source. May become open source, but is not open source yet. WP:CRYSTAL applies.
Not open source. May become open source, but is not open source yet. We have only a PR announcement of a possible future action. WP:CRYSTAL applies. Changed license in infobox accordingly. John Nagle (talk) 19:09, 8 June 2015 (UTC)

Examples
Recently the example section was changed into an image and later was collapsed citing the WP:Essay WP:Example cruft as if it was policy. While that essay has some good points, especially in relation to the guideline MOS:TRIVIA, examples of programming languages are useful tools to give programmers reading the article a quick feel of the language. I do not think that the examples should be collapsed; though it possibly could use some trimming. PaleAqua (talk) 03:47, 27 June 2015 (UTC)

I totally agree because the collapsed example cannot be viewed in the mobile version. Could someone please correct that. Nelsonkam (talk) 08:36, 27 June 2015 (UTC)


 * Undid the collapse as it was not visible to me on mobile as well. PaleAqua (talk) 15:18, 27 June 2015 (UTC)
 * The reason why I did that was because a user told for me to do so because "it [was] too much [of an] example" as a comment for my ex-image. Did that user make a mistake? Also, it would be great to remove unnecessary, redundant coding. Gamingforfun365 (talk) 00:54, 28 June 2015 (UTC)
 * Part of your edit note was I was only trying to follow this policy, so wanted to clarify that it was an essay and not exactly a policy. That said I do think that the example section could be trimmed a little bit. Also what you were told was If it's too much example for Wikipedia... which is not the same thing as saying it was too much of an example. BTW, please do not edit my comments. PaleAqua (talk) 02:43, 28 June 2015 (UTC)
 * Sorry. I was just pointing out flaws in thy grammar, and I apologize for saying that (in other words, I have OCD about it). Also, I know what his statement meant. Gamingforfun365 (talk) 23:06, 28 June 2015 (UTC)

Protected scope met with some controversy
I am not an Apple developer so I can't check, but the decision to drop "protected" seems pretty logical once you have decided to "ignore inheritance hierarchies". So isn't the controversy about ignoring the inheritance hierarchies instead? 203.19.71.69 (talk) 04:21, 3 July 2015 (UTC)

Swift 'influenced by' needs changing
I second that Swift is heavily influenced by the ML family of languages, Scala, Ocaml, and particularly F#. For example; Joe Pamer was a lead developer on F#.

Swift makes the normal sacrifices for ObjC compatibility that Scala and F# do for the JVM and .Net.

Swift does not have all that much common with Groovy.

I'm waiting to see a good blog post on this before I propose a change and add a reference.

Moloneymb (talk) 17:24, 3 June 2014 (UTC)


 * "clearly influenced by" should probably be toned down until we get some actual references on Swift. Otherwise there's enough features in to claim influence by a grab bag of languages. Protonk (talk) 17:59, 3 June 2014 (UTC)


 * Scala has been added, citing Adam Denenberg's "Hello Swift, Meet Scala" article. An article that notes commonalities between two languages but not direct influence is not valid for 'influenced by'. In this particular article most of the commonalities could be explained by the known influence of Rust on Swift; and other features like a  property/keyword are not unique to Scala. To date, none of the Swift language developers have noted a Scala influence, and we should not add Scala unless this changes. (Scala and Rust are both acknowledged as part of the 'ML extended family'. The recent popularity of ML-like languages is certainly interesting, but a whole other topic...) Hexene (talk) 23:22, 14 June 2014 (UTC)


 * Agree. As much as I like Scala, the Scala-like bits can as easily have come from Rust and Haskell, two languages already on the list quoted from the primary developer. Scala should be off the list for the same reason that Groovy should continue to be kept off: we have a list from an official source, Swift has some similarities to bits from a boatload of languages, we don't want to list 95 different languages in the info box, and we don't want folks to promote their personal favorite language by adding it to the list. CarlRJ (talk) 23:30, 14 June 2014 (UTC)


 * What about adding Scala in the Features section (where there are already comparisons to Java, Smalltalk, C, Obj-C, etc.). We can link the huffpo article (which is fine for a relatively minor claim) and note "Swift has some features in common w/ Scala e.g. type aliasing, spread parameters (whatever we're calling the underscore), etc."? Protonk (talk) 16:21, 15 June 2014 (UTC)


 * I don't have *strong* views against, but I think comparing to Rust would make more sense. Hexene (talk) 20:32, 10 July 2014 (UTC)


 * Whatever happened to this? Why isn't Scala on there? &mdash; Supuhstar * &mdash; 23:21, 10 February 2016 (UTC)

Proprietary to Open Source
Reading the third paragraph on the transition from a proprietary to open source language is a bit confusing, and (possibly?) also incorrect.

It states: Initially a proprietary language, version 2.2 was made open source and made available under the Apache License 2.0 on December 3, 2015, for Apple's platforms and Linux.

I don't know what if anything is added by stating which "version" was open sourced, but ultimately a saying the date in which Swift was open sourced seems more to the point. Also, what's confusing about saying which "version" was open sourced is that upon open sourcing, "2.2" didn't really exist. Work toward a 2.2 release was made open, and then finally announced a month after the open sourcing. ( https://swift.org/blog/swift-2-2-release-process/ )

I think simply stating the date Swift was open sourced and removing mentions of a version makes sense. Thoughts? Matt Yohe (talk) 05:19, 22 March 2016 (UTC)
 * I agree. The licence does not even indicate that there is a certain starting point. The entire source code has been posted at GitHub, going back to the very first commit.–Totie (talk) 05:57, 7 April 2016 (UTC)

Not possible to read as standalone
This article is hard to follow for anybody who does not have good prior Objective-C knowledge. It reads more as a history of the language design than an introduction to the language itself. I think Swift (as other PLs) should be presented standalone rather than in a "while language X has feature Y, Swift was designed with feature Z because..." way. I do not have the necessary expertise to do it, however. --Alien Life Form (talk) 06:56, 8 April 2016 (UTC)

Example code is not example code
The section Example code is a series of short demos, introduced step-by-step; WP avoids anything like "how-to" info. Instead, example codes are supposed to give a feel for what actual code looks like, without any how-to. As such, it should also be fairly small -- certainly no more than a page. This was noted in a discussion above a year ago, and nothing has changed.

If someone can't give a an example of a Swift program, I'm for just removing it. --A D Monroe III (talk) 23:08, 18 July 2016 (UTC)


 * I agree that it's a poorly written examples section. I'm not sure about deleting it completely, since it's a useful thing to have in a programming language article, but I wouldn't mind rewriting it. I could rewrite it as a couple of example programs (maybe Hello World and a slightly longer one) with a short description? Go and Perl seem to have well-written examples. I just noticed that Python doesn't have one, though, so I guess it's not universal. Pianoman320 (talk) 23:33, 18 July 2016 (UTC)


 * I'm all for having an example; I'm just against this one. A new example of true simple use of Swift would be great, or two examples if the first is Hello World and the second is short.  --A D Monroe III (talk) 14:59, 19 July 2016 (UTC)


 * I think we should provide a properly referenced example as Wikipedia requires. Is anyone against that? Dgraemer (talk) 18:09, 19 July 2016 (UTC)
 * The section can be shortened, but other than that I see no reason to make big changes to it. Apple’s documentation provides the ‘proper references’ for the syntax, the rest can be original.–Totie (talk) 18:28, 19 July 2016 (UTC)
 * That is not possible as Wikipedia does not allow original research. Everything must have references. Dgraemer (talk) 19:06, 19 July 2016 (UTC)


 * It would be very disruptive to apply OR to that level; more than half of WP would have to be deleted. Showing a simple example program is WP:BLUE to anyone that programs in the language, and helpful to other readers.  Let's focus on helping them.  --A D Monroe III (talk) 20:16, 19 July 2016 (UTC)


 * You must provide a reference, as a program is not something trivial that everyone knows. Dgraemer (talk) 21:41, 19 July 2016 (UTC)


 * There are literally millions other articles to pursue this on with more cause than here. Persisting here is only disruptive.  The claim is off-topic anyway.  No more responses to this.  --A D Monroe III (talk) 21:52, 19 July 2016 (UTC)

Swift is the bank infrastructure for messages/payments
See http://www.riksbank.se/sv/Finansiell-stabilitet/Finansiell-infrastruktur/System-i-den-svenska-infrastrukturen/SWIFT/ --Mats33 (talk) 00:27, 18 September 2016 (UTC)

Someone Should Check Struct Copy On Write
"To ensure that even the largest structs do not cause a performance penalty when they are handed off, Swift uses copy on write so that the objects are copied only if and when the program attempts to change a value in them. This means that the various accessors have what is in effect a pointer to the same data storage, but this takes place far below the level of the language, in the computer's memory management unit (MMU). So while the data is physically stored as one instance in memory, at the level of the application, these values are separate, and physical separation is enforced by copy on write only if needed.[46]"

I am just learning Swift, but I know MMU's and this makes no sense for a struct that is not larger than at least a page, which is larger than most structs. The reference [46] is a long video, I scanned through it but could find no mention of this. Someone who knows Swift might either find a better reference if this paragraph is true, remove this paragraph if it is false, or qualify it that it is only used for large structs if that is the case. 73.93.154.221 (talk) 01:47, 22 December 2016 (UTC)

Is this a sales promotion?
Is the preamble/intro section written by the Apple sales dept? — Preceding unsigned comment added by Hence Jewish Anderstein (talk • contribs) 17:25, 30 January 2017 (UTC)
 * Someone added a advert template to this article last year, and it's still here. I still don't see anything wrong with the lead section. Does anyone know why this cleanup tag was added to this article? Jarble (talk) 07:37, 16 May 2017 (UTC)

One language or several
Technically Swift isn't one programming language but a family of (to some level) incompatible languages. This due to the forwards compatibility that is assumed as a property in a developing programming language isn't really there. Swift have had large changes in even fundamental parts of the design while still being a young language. The most obvious comparison (in modern programming languages) is that of Python 2.x to 3.x however Python don't do that kind of incompatible forking often and did not as a young language unlike Swift.

I'll not make an edit noting this as I'm a bit biased however it should be mentioned at least; especially as the incompatible changes are common, obvious and seem to be part of the development philosophy. 2.248.146.217 (talk) 10:40, 24 September 2017 (UTC)