42 ms·
Swift is Open Source
- glenntzke 11y agoI find the number of typo PRs to be amusing. Makes me wonder if there's a mass effort to slog through commented code just to jump into the contributor list. Correct spelling is certainly good, but the interesting phenomenon is getting a PR merged in a high-profile project - however slight the change - as a badge of cool. https://github.com/apple/swift/pulls?utf8=%E2%9C%93&q=is%3Apr+typo+ https://github.com/apple/swift/pulls?utf8=%E2%9C%93&q=is%3Ap...
- hokkos 11y agoThis is absolutely a case of earning a badge of having contributed to this complex famous project, but it is also a way to on-board and empower people. Recruiter should always look deeply and not taking "contribution" at face value.
- wingerlang 11y agoDefinitely to get the little achievement, me included. I wouldn't put it on my resume but I guess it is a fun little thing to have.
- jrumbut 11y agoGenerally when I'm using a new framework, I like to scan the code to pick up on style, undocumented features, etc. Sometimes this results in a few typo-level pull requests. I never though of this as being resume line item grubbing behavior, now I can't decide whether to stop doing this or start putting it on my resume :)
- sonthonax 11y agoThis is what I end up using the GitHub online editor for.
- sbarre 11y agoMust be brand new because the Github links on the site don't work (assuming they haven't made the repos public yet).
- deleted 11y ago[deleted]
- mnml_ 11y ago404 On the github repo
- golergka 11y agohttps://github.com/apple/ https://github.com/apple/ This organization has no public repositories.
- iraphael 11y agoThe downloads page on swift.org has links though.
- deleted 11y ago[deleted]
- mattkrea 11y agoLet's please stop trying to say GitHub == Open Source.
- matthewmacleod 11y agoNobody is saying that – but the site links to a github repo that doesn't yet exist. Chill.
- avinassh 11y agoit is now has projects (: https://github.com/apple/swift https://github.com/apple/swift
- ZucchiniZe 11y agojust released https://github.com/apple/swift https://github.com/apple/swift
- dubcanada 11y agoThe site is barely even indexed by Google yet, and the github repo is not even done. I don't think it's ready yet.
- keehun 11y agoSomebody at Apple probably wanted that sweet sweet karma. EDIT: Works at IBM. SORRY.
- deleted 11y ago[deleted]
- harperlee 11y agoWell, the poster's web page says he works at IBM...
- keehun 11y agoOops. I did try to check his site, but it was coming up blank for me.
- harperlee 11y agoYour theory might still stand. He may know people at Apple, so this does not completely discard the scenario.
- cableshaft 11y agoHe may have heard it direct from Apple. They have a close partnership for developing enterprise iOS apps, and have been for almost two years. I had no idea myself until I went to interview at IBM. I haven't had the opportunity to work with Swift professionally though, so they went with someone else. Possibly the OP :P https://www.apple.com/pr/library/2014/07/15Apple-and-IBM-Forge-Global-Partnership-to-Transform-Enterprise-Mobility.html https://www.apple.com/pr/library/2014/07/15Apple-and-IBM-For...
- artursapek 11y agoOuch, I guess this leaked? Who is the OP?
- deleted 11y ago[deleted]
- martin-adams 11y agoI don't see how it was leaked, it's on the swift.org homepage.
- justplay 11y agohttps://github.com/apple/swift https://github.com/apple/swift is 404 .
- freshyill 11y agoIt's there now, but empty.
- lsm 11y agoBe patient guys. Good things come to those who wait.
- deleted 11y ago[deleted]
- sinatra 11y agoThis is good news (hoping the github link etc will start working in a day or two)! One side effect of swift being open sourced is that more developers will start looking at it for server side development. However, I personally think that Swift will continue to have strong reliance on Apple (esp considering that most external Swift developers will come from iOS development). So, till I see Apple showing interest in Swift getting used on server side, I'll not use it there.
- danieldk 11y agoesp considering that most external Swift developers will come from iOS development I am wondering about this. To me, it seems that there is still space for a modern, pragmatic language that compiles to native code. Coming from C and C++, I have been using Go recently for applications where garbage collection and some performance loss due to a relatively weak compiler is acceptable. However, I still find the lack of parametric polymorphism tedious and annoying as well as other stuff you'd come to expect from a modern language (algebraic data types, non-nullable types, etc.). Does anyone who has experience with Swift think that it could be a better language for the niches Go has gained traction? (Besides iOS/Mac development?)
- beagle3 11y agoHave a look at dlang and nim-Lang. Both answer that
- danieldk 11y agoI experimented with D ~2008-ish. IMO it's definitely superior to Go. The problem is that D is probably not going to gain critical mass anymore (I expect the same for Nim). This has an impact on its future ecosystem. Since Swift is pushed by Apple, it probably won't suffer from the same ecosystem problems.
- progman 11y ago> (I expect the same for Nim). This has an impact on its future ecosystem. What do you expect from a future ecosystem? Nim has seamless integration with C as it compiles to C anyway, so there should be no concerns about that. It's amazing that really powerful languages are never mainstream. Lisp, Ada, Ocaml, D and Nim will go their way in the future, they are just not as much in the focus of public attention as modern trends like Rust and Swift which are advertised by big organizations like Mozilla and Apple.
- talles 11y agoPage not found on GitHub? https://swift.org/source-code/ https://swift.org/source-code/ https://github.com/apple/swift https://github.com/apple/swift
- sdegutis 11y agoThey changed their mind. EDIT: I'm joking of course. More likely, they realized they accidentally forgot to excise some incredibly sensitive private information from the repo's history and are working fast on it before they make the repo public again.
- symlinkk 11y agoHopefully we'll see it on more platforms now!
- SXX 11y agoWow. Less than 30 minutes pass and site already loading with huge delay.
- jorgecastillo 11y agoAt first I was like 'AWESOME', than I was like 'oh fuck, not ready yet'. I am not upvoting this, until there is a GitHub repository that I can clone!
- JustSomeNobody 11y agoWAAAAAAAAAAAAAAAAAAAAAAAHHHHHHH!!!!!
- baldfat 11y agoThere is a GitHub Repo you can clone. Just had an issue with traffic.
- jorgecastillo 11y agoAWESOME!
- deleted 11y ago[deleted]
- ssutch3 11y agoMetal is just a graphics API (OpenGL) and not specific to Swift at all.
- zmanian 11y agoWonders about the state of Swift on Linux? Was expecting this to be timed with the open source announcement.
- untothebreach 11y agoLooks like they have builds for Ubuntu 14.04 and 15.10. I expect they would work on other debian-based linuxes (linuces?) but haven't tried.
- fake44637 11y agoHere are my results on a Debian jessie box: If you just want to play with the REPL (usr/bin/swift in the Ubuntu 14.04 snapshot), all you have to do is: apt-get install python-dev If you want to actually compile swift files (usr/bin/swiftc in the Ubuntu 14.04 snapshot), it appears extremely basic programs will compile with jessie's clang-3.5, so all you have to do is: apt-get install clang Note that the swift.org instructions claim you need clang-3.6, and you probably do for more complex programs. For that, you'll need to temporarily add a sid/unstable source and upgrade clang: echo 'deb http://ftp.us.debian.org/debian/ unstable main' >> /etc/apt/sources.list apt-get update apt-get install clang (don't forget to remove the unstable line afterwards).
- fake44637 11y agoso actually I'm running into the following error anytime I try to compile something using swiftc with clang-3.6 installed: <unknown>:0: error: opening import file for module 'SwiftShims': No such file or directory
- connorshea 11y agoThere was a blog post about porting it to Linux before the site went down, so it looks like they're supporting it with this release.
- cies 11y agoAnd slightly more specific, Swift on Android :) LLVM compiles some code I'm working on to be part of an Android app; so it should not be too hard (as LLVM is Swift compiler backend).
- deleted 11y ago[deleted]
- cdnsteve 11y agoHow is developing on iOS these days? Swift seems like such nice a nice language.
- krisdol 11y agoI find package management unscaleable (ie, it becomes more and more of headache as you pull in dependencies), but the language is much, much nicer to work with and read than Objective-C
- codeshaman 11y agoSwift is a very nice language. And it's pretty easy to learn too - it took me about 2 weeks to get the basics of it and in 1 month I was producing code at the same speed as with Objective-C. After a couple of months of Swift-ing, I now started a project in C++ and while it's nice to be back home (in the C++ world), I immediately feel like I'm on my own - C++ doesn't make any attempt to protect me from myself (although it feels like I have more power to do what I want). The Swift compiler, on the other hand, will obsessively stop me from fitting a square into a circle and will only allow me to do that if I declare loud and clear that "I know what I'm doing!".
- cies 11y ago> The Swift compiler, on the other hand, will obsessively stop me from fitting a square into a circle You might really like Haskell :)
- gdubs 11y agoI've been developing on iOS since it came out. It is better than ever. Swift is a great language in my opinion – feels very familiar to Objective-C, but is much lighter-weight, and I find that I can spin up projects much more quickly. The type-safety took some getting used to, but pays dividends and has made programs easier to expand and maintain. Plus, I get to pull in ideas from the functional programming community which is great.
- jug 11y agoWow, Swift.org is getting hammered right now.
- ihuman 11y agoIt looks like Apple is also releasing an official package manager for swift.[1] I wonder how that will effect Cocoapods. [1] https://swift.org/package-manager https://swift.org/package-manager
- kerbs 11y agoCheck Twitter, they are more than happy to see their work deprecated. Both Cocoapods and Carthage should eventually be phased out with an official package manager.
- ejdyksen 11y agoAlso of note, the largest contributor to the package manager is Max Howell (mxcl), the creator of Homebrew: https://github.com/apple/swift-package-manager/graphs/contributors https://github.com/apple/swift-package-manager/graphs/contri...
- ihuman 11y agoThanks for the link. The repos weren't up when I made my comment.
- smikhanov 11y agoIt looks like he managed to go through a whiteboard coding exercise in the end! As far as I know, Apple follows roughly the same hiring practices as Google. Well done (no sarcasm here, it's probably great to work at Apple)!
- throwaway6497 11y agoThe same guy who wasn't offered a job at Google because he didn't do well in the interview (or was it code in the interview?)
- jkyle 11y agoGoogle doesn't provide feedback on why they reject you. For example, you could be the world's foremost expert on Erlang. But the department interviewing you needs a C++ programmer. You'd never know that was the reason. You'd just be notified that you weren't called back for another interview and asked to please check back for more positions in a few months.
- connorshea 11y agoSwift Package Manager? It looks like Apple has developed their own version CocoaPods for Swift? Interesting.
- thepumpkin1979 11y agoyes, although I think it's more similar to Carthage than to Cocoapods.
- jdub 11y agoApache 2.0 License + Runtime Library Exception + copyright owned by the contributor (i.e. no assignment or CLA) + good community structure and documentation + code of conduct... well done, Apple!
- acqq 11y agoAnybody knows what effects of the "copyright owned by the contributor" are in the context of Swift's Apache license? I guess the "good side" is that the lawyers of other companies probably like when the code made by their programmers keeps being copyrighted by the company. But it is still an Apache license, so they can't demand too much from the users of the code. Still, are there any negative aspects? Any imaginable danger? Can the standard library have problems with (once in the future) having different copyright holders for its different parts?
- andrewl-hn 11y ago"copyright owned by the contributor" means that as the project matures there will be way too many contributors. To change the license for the project to something that is not Apache-compatible Apple would have to ask every contributor to re-license their code, and if the code author disagrees re-implement corresponding parts. In practice that's a signal to every one that the licensing terms are very unlikely to ever change.
- jdub 11y agoNot really. Your typical corporate IP lawyer might feel queasy about the collective copyright aspect, but so much of the open source world works this way now... they can suffer in their jocks. One important question they'll ask is: "Who can enforce the copyright and licence?" (Which is when the subtle difference between joint and collective copyright matters.) Non-trivial contributions are made under the terms of the Apache 2.0 Licence, so regardless of who owns the copyright, everyone operates under those same terms. One common rationalisation for copyright assignment is ease of relicensing, should it be necessary. That's much less important when operating under the terms of a permissive license.
- billybilly1920 11y agoCan this do GUI programming on Lin/Win? Or Are there usable gui libraries for doing cross platform development like QT?
- sandij 11y agoIt should be possible to link to GUI libraries implemented in C, like Gtk+. https://github.com/apple/swift-package-manager/blob/master/Documentation/SystemModules.md https://github.com/apple/swift-package-manager/blob/master/D...
- SXX 11y agoGNUstep developers stated several times that they'll implement bindings for Swift if it's released as open source. Though from my personal (and very limited) experience I may suggest that you won't use it for cross platform development. It's works on Linux reasonable well, but support for Windows is limited or at least it's was few years ago.
- SXX 11y agoHope it's will have brighter future outside Apple ecosystem. It's nice to have more tools for server-side development, but wish it's will be better on desktop than ObjC / Cocoa / GNUstep was.
- sdegutis 11y agoThey're releasing the source code to libdispatch? I thought that was one of Apple's trade secrets, and more applicable than just Swift apps since it's a C lib?
- hiimnate 11y agolibdispatch has been open source since 2009 https://libdispatch.macosforge.org/post/libdispatch-is-open-source/ https://libdispatch.macosforge.org/post/libdispatch-is-open-...
- Joky 11y agolibdispatch is Open Source for a long time now: http://www.osnews.com/story/22152/Apple_Releases_Grand_Central_Dispatch_as_Open_Source http://www.osnews.com/story/22152/Apple_Releases_Grand_Centr...
- ruddct 11y agoA lot of folks to thank at Apple right now, can't wait until all of this propagates so we can take a look at what's new in Swift 3. Two thoughts: - VERY happy to see the open sourcing of much of the Foundation libraries (which includes strings, dates, networking primitives, concurrency/task queues, I/O, etc). It'll provide a very strong start and make working with Swift immediately productive. - Holy crap, there's a package manager. This has been sorely needed since about day one of Swift development, glad to see that it's been a priority as part of the effort to open source!
- Scarbutt 11y agoso we can take a look at what's new in Swift 3 Are new versions backwards compatible?
- glhaynes 11y agoHistorically they haven't been, and the page about planning for Swift 3.0 says it will introduce breaking changes. (It also mentions that Swift 2.2 will be released in the interim and its compiler will try to warn about things that will be broken in 3.0 so you can get your code ready early.)
- SiVal 11y agoIt's interesting to compare Swift 2 -> 3 to the Python 2 -> 3 upgrade experience. Apple will simply break whatever they need to break to get the improvements they decide would be valuable, move on, and anyone who doesn't follow is likely to be left in the dust. Frankly, I welcome it after years of feeling like the only Python 3 user on Earth. For the next few years, I expect Apple will wield a great deal more power over the Swift user community than the Benevolent Dictator For Life has wielded over his supposed minions. I hope we'll get a better language this way, and that these changes won't simply break third-party products to make changes that mostly benefit Apple. Rich, powerful giant gives power to fork to the little people. Will it be like C#? Like Java? Eventually like Python? Should be interesting....
- espadrine 11y agoLinux support is hinted at in examples: #if os(Linux) import Glibc #else import Darwin.C #endif https://swift.org/package-manager/#example-usage https://swift.org/package-manager/#example-usage
- skrause 11y agoI guess the fact that there are official Linux packages in the download section are a pretty good hint that there will be Linux support.
- espadrine 11y agoThanks, I'm trying to download it.
- sswezey 11y agoLinux support was listed as a design goal for open sourcing Swift @ WWDC
- mikeash 11y agoLinux support was officially announced as part of the open source announcement, and Linux downloads are explicitly listed on the site. No need for hints.
- legulere 11y agoI guess the idea is that you will be able to run the same code from your fronted (iOS, OS X) also in the backend (some Linux server).
- deleted 11y ago[deleted]
- ehPReth 11y agoHere's an archive.is mirror of the swift.org index page: https://archive.is/L0J97 https://archive.is/L0J97
- athenot 11y agoI wonder if Apple is positionning it as a competitor to Google's Go? They are hinting at a usage beyond just iOS and OS X.
- cies 11y agoI'm much more thrilled about Swift the about Go. Sure Go has a head start in server-side department, but from what I know of Swift I'd much rather write webapps in it then in Go. Many webapps have a kind of "highlevelness" to them, and Swift nicely addresses that with it's features. Go is somehow on a kind of feature diet that's just not my cup of tea. And in terms of low-high-level-ness it I put it somewhere in between Swift and the obviously low-level Rust.
- namelezz 11y agoSwift gives you nice syntax and Go provides you good abstraction for concurrency(channel and goroutines).
- AlphaSite 11y agoHonestly, there are some libraries for swift which are shockingly authentic clones of go's channel + routine syntax. Abstractions like that are not swifts problem. Edit: also, look at https://github.com/apple/swift-corelibs-libdispatch https://github.com/apple/swift-corelibs-libdispatch so those libraries should be portable.
- jug 11y agoYes, this library is listed on swift.org right now as a work in progress for Linux, so Apple is both aware and going to get it done.
- cies 11y agoI understand it more like: Go force one concurrency model on me (like Node.js or Erlang), and Swift is a general purpose language that --over time-- will allow me to use any kind of concurrency model (like C/C++/Haskell/etc.). Oh, and syntax-wise I like both of 'm. I was not referring to syntax much, mostly to capabilities.
- mingodad 11y agoTesting the binaries on ubuntu decompressed to to $HOME/swift and trying to execute swift: Welcome to Swift version 2.2-dev (LLVM 46be9ff861, Clang 4deb154edc, Swift 778f82939c). Type :help for assistance. 1> help opening import file for module 'SwiftShims': No such file or directory 1> I could not find any mention to environment variables that could be used to override default locations, like SWIFT_LIBRARY_PATH or something like it.
- SixSigma 11y agoRun Systrace on it and you'll see what it is looking for.
- mingodad 11y agoI used ltrace and saw a call to getenv("SDKROOT") but pointing it to any of: export SDKROOT=$HOME/swift/usr or export SDKROOT=$HOME/swift/usr/lib or export SDKROOT=$HOME/swift/usr/lib/swift All the above do not work, maybe when github is up we can see how to do it.
- i_don_t_know 11y agoType ":help". That is, type <colon>help. The : is used to differentiate between commands to the repl and swift code.
- mingodad 11y agoThanks I didn't noticed the colon, my fault. But even after copying all to the default location /usr it still doesn't work: swift swifthello.swift <unknown>:0: error: opening import file for module 'SwiftShims': No such file or directory Also swift -I/usr/lib/swift swifthello.swift <unknown>:0: error: opening import file for module 'Swift': No such file or directory
- solidsnack9000 11y agoIt seems to want to find a `SwiftShims.swiftmodule`, fails, prints the error message and then loads the module from an alternate path but it is already too late. https://gist.github.com/solidsnack/d902a761877b0f797835 https://gist.github.com/solidsnack/d902a761877b0f797835
- iheart2code 11y agoIt's great to see them follow through with this. I remember when Steve Jobs went on stage and said that FaceTime would be an open standard. Haven't seen that happen yet.
- erydo 11y agoRe FaceTime, I recently read an unsubstantiated but plausible comment that they'd run into patent issues that caused a redesign that caused issues open sourcing it.
- AlphaSite 11y agoThey were definitely sued very heavily over face times architecture.
- chrisbrandow 11y agoand according to someone I heard on a podcast, many of the engineering leadership heard the open sourcing comment for the first time while Steve was up on stage as well.
- mcphage 11y agoProbably both are true.
- 9935c101ab17a66 11y agoMind linking the podcast? Generally curious.
- rsynnott 11y agoNot sure which particular episode (you might be able to find it by looking through old shownotes) but this was mentioned on Accidental Tech Podcast, I think by John Siracusa (of really long MacOS review fame)
- LesZedCB 11y ago
- pjmlp 11y agoCongratulations on the efforts done by whole involved to make it open source. But I wonder if it will fare better than Objective-C outside Apple eco-systems without the tools and OS libraries...
- singularity2001 11y ago@OP: Please change title to "Swift will be Open Source soon" until the git repositories become actually available.
- TazeTSchnitzel 11y agoThe source is available now. The git repo's not up yet, but it's still 'open source' now. Edit: And now it's on GitHub.
- amyjess 11y agoThey're available now.
- singularity2001 11y ago@OP: Please change title to "Swift will be Open Source soon" until the git repositories actually available.
- iheart2code 11y agoThe more I think about this, the more I wonder how existing third-party libraries will respond. Similar to Android and Java, I'd imagine we'll start seeing "vanilla" Swift libraries crop up that only use public/standard libraries and can work on iOS/OS X apps as well as open source projects.
- alblue 11y agoFantastic news that Swift is now open-source, though it came about 4 hours too late for my GotoBerlin presentation on Swift 2 Under the Hood (on SpeakerDeck at https://speakerdeck.com/alblue/swift-2-under-the-hood-gotober-2015 https://speakerdeck.com/alblue/swift-2-under-the-hood-gotobe... if you're interested) I've also open-sourced the SIL Inspector that I demonstrated (https://github.com/alblue/SILInspector https://github.com/alblue/SILInspector) and written up a post on InfoQ covering the important points of this release http://www.infoq.com/news/2015/12/open-source-swift http://www.infoq.com/news/2015/12/open-source-swift
- steilpass 11y agoThat was my first thought: Didn't Alex talk about that yesterday night. ;-)
- return_0e 11y agoThe Swift port for Linux seems to only support x86-64 for now. https://swift.org/blog/swift-linux-port/ https://swift.org/blog/swift-linux-port/ I would like to see how swift could run on Linux ARM devices (Raspberry Pi 2/Beagleboard/etc) and other platforms; given that the runtime is already on iOS devices. Kudos to Apple for open-sourcing Swift.
- wobbleblob 11y agoTry to compile it and see if you can get it to work?
- Asmod4n 11y agothere is no source code, yet.
- return_0e 11y agoRight now there is!: https://github.com/apple/swift https://github.com/apple/swift Also, the dependencies to build swift looks fine to build it on other architectures. I'll try to build it for the Raspberry Pi 2 to see.
- wobbleblob 11y agoThe CPU architecture shouldn't be a problem, as it's the primary target for iOS apps. I haven't gotten it to build yet, maybe I should read the manual, but I'm a man, damnit, so I'll do that once I've tried absolutely everything else.
- Scarbutt 11y agoA Golang killer?
- themartorana 11y agoNo.
- cies 11y agoI forsee Swift has a long future on the server-side. That will surely be taking up some of the dev't that would otherwise be done in Go.
- KevinMS 11y agoSomebody compare and contrast swift for backend development with golang, node, etc. Google is giving me nothing useful.
- baq 11y agoswift doesn't appear to have a story on backend, that's why you can't google anything. there's nothing there.
- niccaluim 11y agoI can't comment on Swift as I've not used it but I can say that Go is more than just a language. It's the embodiment of Google's experience running large engineering teams. So many of the decisions in Go--its simplicity, the formatter, the opinionated directory structure, static linking, no special build tools--make life a lot easier for teams. Again, I haven't used Swift, but I don't get the sense that this was one of its design priorities. I've been wrong before though :)
- deleted 11y ago[deleted]
- cbeach 11y agoSuch good news. I've bet my career on Scala, but Swift is sufficiently similar in style that it will be an easy transition. A language to write native (not VM-based) apps for the desktop, iPhone, iPad, Apple Watch, CarPlay and Apple TV is becoming very compelling indeed.
- azinman2 11y agoWhy be your career on just one language? Shouldn't be such an issue to pick up new skills otherwise you become obsolete.
- distances 11y agoIt doesn't work like that, you can't "bet your career" on a language. Either you are interested in continuous learning or you aren't, and it's pretty clear which one is a better choice when choosing between multiple employee candidates.
- cbeach 11y agoIt does actually work like that, for me. I'm in my mid thirties and have worked in financial software development for over a decade. Given the day rate I'm earning for Scala development, I will be able to retire comfortably long before Scala goes out of fashion. Of course, I'll still be coding for fun after I've retired, so I'm looking forward to learning Swift in my spare time, alongside the other languages I code regularly in.
- distances 11y agoNice to hear it has worked well for you! I'll then modify my statement a bit a say that I would never suggest "betting a career" on a single programming language, but to of course dive in if a good opportunity presents itself.
- iamsohungry 11y agohttps://www.gnu.org/philosophy/open-source-misses-the-point.html https://www.gnu.org/philosophy/open-source-misses-the-point....
- chaz72 11y agoArguing about "the point" misses the point. There's plenty of room for both free software and open source software.
- iamsohungry 11y agoThere's room for plenty of things that I don't care about. I don't care about open source software that is still controlled by Apple.
- chaz72 11y agoFair enough. For my part, I would need to see a wider community supporting the language before I depended on it on non-Apple systems. I'll have to wait and see on that point. But that is a plausible outcome - and (in my opinion) more likely because they chose an open source license rather than a free software license.
- cowsandmilk 11y agoyeah, very self consistent, pretend you care about the GPL, then decide it is the vendor you really care about. Who cares that Apple controls GPL software installed on almost every GNU/Linux machine?
- iamsohungry 11y ago> yeah, very self consistent, pretend you care about the GPL, then decide it is the vendor you really care about. No, I'd be saying that about any other vendor who released code under a proprietary open source license, too. > Who cares that Apple controls GPL software installed on almost every GNU/Linux machine? How exactly do you think they do that?
- sebastiank123 11y agoGreat news! Coding in Swift is fantastic and I would love to see it coming to more platforms, maybe even on servers. It could become a serious Javascript competitor due to its elegant syntax, the type safety and speed.
- Maultasche 11y agoI completely agree. I want to be able to write the core of an application once, and then add on a UI for every platform I deploy it on (Windows, OS X, Linux, iOS, Android, etc.). Currently, the only real options for doing this are C/C++, and that's just no fun to do. I'd love to have a higher level like Swift that can be easily ported between platforms and connected to whatever development language/environment that is commonly used on that platform. I'm hoping that open sourcing Swift will allow something like this to happen. It seems like Microsoft is already making moves toward making Swift interoperable with .NET as a way of making it easier iOS developers to release Windows phone apps, so I'm optimistic.
- rhodysurf 11y agoYou can do this with rust and go already by cross compiling which they both make easier than C++ makes it.
- jnbiche 11y ago> It could become a serious Javascript competitor due to its elegant syntax, the type safety and speed Particularly in combination with Web Assembly. I wouldn't be surprised if there is already an LLVM bitcode > WASL compiler in progress.
- codingvelocity 11y agoNow that swift is opensource i'm looking forward to some better tools being released for it. Right now xcodes support of swift is pretty lacking. No refactoring, and compile errors are fairly ambiguous sometimes. Since this has linux support i wonder if xcode or something similar will be ported to linux.
- _puk 11y agoNo doubt JetBrains will step up to the mark. They already have support for swift in AppCode, but surely a community edition "SwiftStudio" can't be too much to wish for. It worked wonders for Android development outside of Eclipse.
- avitzurel 11y agoNot loading for me. Anyone experiencing the same issue?
- envy2 11y agoInteresting that this domain is registered at GoDaddy via DomainsByProxy, and hosted on a SoftLayer IP block. WebKit.org, for instance, is registered with CSC Corporate Domains the same as apple.com, and is hosted on an Apple-owned IP block. Perhaps a (further) indication this isn't ready for prime time yet?
- djrogers 11y agoSo because Apple did some things one way 8 years ago, they need to do it exactly the same today or someone screwed up? Really??? Nothing changes in the modern world?
- JustSomeNobody 11y agoWhy would this at all be interesting? Good grief, not everything is some mysterious conspiracy or some such nonsense.
- sandis 11y agoRepositories starting to go public now on Github - https://github.com/apple https://github.com/apple
- BuckRogers 11y agoCongrats to Chris Lattner and the others at Apple who were promoting this! I've been watching Swift develop from the initial announcement because it would be a bit like C#. A great backend language that gives you first-class access on one of the most popular platforms.
- nikon 11y agoGithub repo is live now. https://github.com/apple/swift https://github.com/apple/swift First ever commit found here https://github.com/apple/swift/commit/afc81c1855bf711315b8e5de02db138d3d487eeb https://github.com/apple/swift/commit/afc81c1855bf711315b8e5...
- thecodemonkey 11y agoIt's really interesting that they decided to retain the full history! It also gives away some information about the initial contributors and the timeframe of when they started.
- joeflow 11y agoI love it. I've never taken a compiler class so going through and reading all the commits since day one is really fascinating. It's easy to see exactly how the language and structure of the code base came to be. Super cool in my book.
- dafrankenstein2 11y agoright!
- elwell 11y agohttps://github.com/apple/swift/commit/afc81c1855bf711315b8e5de02db138d3d487eeb#commitcomment-14769143 https://github.com/apple/swift/commit/afc81c1855bf711315b8e5...
- sdesol 11y agoHere are some visual aids that better shows how this project has evolved. It also shows how active things are today. http://imgur.com/a/HyQWv http://imgur.com/a/HyQWv
- j_s 11y agoAnyone willing to make a Gource video? https://github.com/acaudwell/Gource/wiki/Videos https://github.com/acaudwell/Gource/wiki/Videos
- lassejansen 11y agoInteresting, the compiler seems to be implemented in C++.
- inglor 11y agoAm I the only one who finds it odd that while pushing two high level but performant languages (Objective-C and Swift) Apple wrote their Swift compiler in C++?
- thinkpad20 11y agoI'm glad they didn't write it in Objective-C, as this would probably make compilation on Linux much harder (I have no idea what the state of Linux support for Objective-C is). As for writing it in Swift itself, that's not possible until Swift is sufficiently stable and with enough library support. Which it may or may not have now, but certainly didn't have when they started ;)
- lobster_johnson 11y agoLinux support for ObjC is great on the compiler side (GCC supports the full language), but none of the core libraries are available. You can get some stuff (NSString, NSDictionary and so on) through GNUstep, but last I checked it was an uphill battle to be truly productive with ObjC on Linux.
- plorkyeran 11y agoGCC doesn't support the full language anymore, since the stuff that Apple added after finishing the migration to Clang hasn't been ported to GCC (e.g. generics and array/dictionary literals) and there doesn't appear to be anyone interested in doing so.
- pjmlp 11y agoIt has hardly changed since the days I used AfterStep and WindowMaker (early 2000).
- deleted 11y ago[deleted]
- hokkos 11y agoChris Lattner who created Swift wrote LLVM in C++, so it is probably easier to work with and he know C++ very well.
- Ingon 11y agoOne of the biggest things for me is that now I can draw upon the knowledge and knowhow of the people making Swift itself. Coming from Java, I'm used to reading the sources of all the things and now I can finally do it. So exciting, congrats to everyone involved!
- Twisell 11y agoI see this as an hilarious welcome joke from the community : https://github.com/apple/swift/pull/17 https://github.com/apple/swift/pull/17 Its developer's way to say FIRST
- ecopoesis 11y agoNo. This is a childish joke, and inappropriate. As a community of professionals, we should do everything we can to discourage this kind of crap. Joe Cumbo (mooman219), I hope you never apply for a job I'm the hiring manager for, because I would never hire you after seeing this kind of unprofessionalism in your Github profile.
- corndoge 11y agoAnd I would never want to work for you if you've such a dearth of humor :P Exactly how is this inappropriate?
- ecopoesis 11y agoA company that is traditionally hostile to open source gets as one of its first "contributions" to a newly opened project a troll, confirming a bad stereotype of the open source community. How could that not be considered inappropriate?
- rimantas 11y agoApple is in now way hostile to OSS.
- deleted 11y ago[deleted]
- discipleofche 11y agoWhat was the tongue face for?
- 11y ago
- i_don_t_know 11y agoVery nice that you can debug functions in the repl and set breakpoints: https://swift.org/lldb/#why-combine-the-repl-and-debugger https://swift.org/lldb/#why-combine-the-repl-and-debugger I don't know any other repl that can do that. I know you can debug in (some) lisps and smalltalk, but I don't know if you can set breakpoints too. Still a nice and welcome feature.
- ricardobeat 11y agonodejs, ruby and python have had this for a while.
- hokkos 11y agoWhat kind of trolling is that ? >I think we should use GPL v3 instead. https://github.com/apple/swift/pull/17 https://github.com/apple/swift/pull/17
- jkelsey 11y agoFLOSS gotta FLOSS. I'd be surprised if they didn't open a pull request to change the license.
- distances 11y agoI actually read this PR as trolling against GPL folks, in the vein of making fun of their license of choice. Seeing that people have also thought differently, it would perhaps be better not to blame a group at all.
- kristofferR 11y agoGithub is weird.
- jnbiche 11y agoYeah, and memes are tiring, but lots of people clearly enjoy them. I really enjoy Github as a technology platform. As a social network, not so much.
- thescriptkiddie 11y agoIn all seriousness, I'm not sure they could switch it to GPLv3. I think that Apple's firmware signing might run afoul of the anti-tivoization clause and prevent them from shipping Swift on Macs. IANAL
- avar 11y agoApple seems to think so, which is why all their GNU tools are frozen at their GPLv2 versions.
- renownedmedia 11y agohttp://downforeveryoneorjustme.com/swift.org http://downforeveryoneorjustme.com/swift.org It's not just you! http://swift.org http://swift.org looks down from here.
- pbreit 11y agoWould anyone use Swift if it wasn't necessary for iOS?
- azinman2 11y agoYes it's a nice language. Now it just needs the libs for Linux servers.
- collias 11y agoIt isn't necessary for iOS. It's still possible to write every part of an app in only Objective-C, as there are no Swift-only APIs. AFAIK, there are no indications of that changing any time soon.
- bamazizi 11y agoThe programming language eco system is really improving rapidly and efficiently. It seemed the developer's toolkit was limited by the languages created 20+ years ago but within the last few years we're seeing a renaissance in developer toolkits as well as development philosophies. Languages like Go, Rust, and now Swift are not only great from almost every aspect over the last generation languages like C, C++, Java, but a lot noobs or scripting language developers are also converting to more low level languages. So the barrier to pick up a lower level language and become productive in it has really diminished. Go has had a head start and introduced minimal simplicity. It's a great/powerful language and almost everybody can pick it up quickly within a few days. I wouldn't listen to people who dismiss the language for its lack of "features" and have never written more than "hello world" in it. Swift is "important" because of Apple & iOS. It has a much steeper learning curve than Go and naturally it takes a few weeks of dedication to get comfortable with it. However, once you overcome the introductory challenge then you'll start to appreciate the language and its capabilities. Already the job market for both languages are really high with higher than average salaries. So learning/mastering both Go and Swift is the best decision you can make.
- justinhj 11y ago"learning/mastering both Go and Swift is the best decision you can make" is a very bold claim. In my area we use Go for some systems but found it scales badly from an engineering point of view to larger more complicated systems, compared to languages like Java and Scala. The JVM has much more mature tooling and libraries too. For mobile applications it will be a while until Swift is stable on Android, so some of the cross platform languages would be a good choice. React Native, Unity, Unreal for example.
- nulltype 11y agoIn what way does Go scale badly from an engineering point of view?
- justinhj 11y agoIt was our opinion that it's harder to write code that will be shared with a bigger team. Some of the factors were the simpler type system, lack of generics meant lots of copy and pasting of common patterns. The package system seemed less comprehensive and flexible in comparison to Java's. These are just subjective issues of course, but I think it's reaching a bit to say that Go and Swift are the best two languages you can learn.
- crudbug 11y agoWhat was the design decision that required function declaration to be : func hello(name: String) -> String { } rather than, func hello(name: String) : String { }
- zkirill 11y agoYou might find this handy: http://fuckingswiftblocksyntax.com/ http://fuckingswiftblocksyntax.com/
- crudbug 11y agoThanks for the link. I think, the function type : (Int, Int) -> Int may have been the main reason, but having (Int, Int) : Int func nameMe(name: String, calName: ((Int, Int) : Int)) would still have worked, and made the syntax more aesthetic.
- throwaway999888 11y agoIt seems pretty consistent with functions in a set-notation sense, with functions that map a tuple of stuff to something else. The mapping being indicated by an arrow instead of a colon.
- crudbug 11y agoI was thinking more about Types here var name : String func nameMe(name: String) : String
- throwaway999888 11y agoI was half-thinking the same, but types and sets feel interchangeable on an intuitive level in such cases. Having both `: String` and `: String` seems to suggest that they are the same type, which they are not. `nameMe(_)` is a function type, while `name` is a "plain value", so to speak. I think that using arrows more clearly indicates that it's a mapping from something to something else -- in the case of Swift, I guess a mapping from a tuple to something else. And think about anonymous functions, in general since I haven't looked into Swift anonymous functions. If you indicate a function like this: `func nameMe(name: String) : String` How are you supposed to indicate an anonymous function? Like this: `(name: String) : String` Then it seems to say that name is a type of String, which in turn is a type of String. I guess you could add something like a lambda to distinguish it: `(λ name => name): String` But now you've still effectively said that both `name` (a value of type string) is the same type as the anonymous function (a function with one argument). That's clearly wrong. Using arrows for functions seems to be better when you start to want to talk about types and values by themselves, like: `1: Int`, `"hello": String`, `(λx => x) : a -> a`
- justplay 11y agoI still remember max howel tweet[1] in which he publicly said that we was rejected by Google. Looking at his linkedin profile[2] , he was later hired by Apple in August 2015. Now he is biggest[3] contributed to Swift package manager. It is good to see that the person who has lot of experience in handing Apple and package system is handing this stuff. I guess, things happens for good. [1] https://twitter.com/mxcl/status/608682016205344768 https://twitter.com/mxcl/status/608682016205344768 [2] https://www.linkedin.com/in/maxhowell https://www.linkedin.com/in/maxhowell [3] https://github.com/apple/swift-package-manager/graphs/contributors https://github.com/apple/swift-package-manager/graphs/contri...
- pcwalton 11y agoIt's really great to see Apple investing in package management for Swift. Handling dependencies and versioning well is so important for a language to get right out of the gate.
- deleted 11y ago[deleted]
- k__ 11y agoNow I feel better about my past rejections that were based on such stuff.
- Shebanator 11y agoHighly qualified people get rejected by google's interview process all the time, so people shouldn't take it personally if they get rejected. google is willing to miss out on good people occasionally because they believe they can't fix the problem w/o mistakenly hiring more mediocre/bad people.
- seivan 11y agoI've read blog post on qualified developers being rejected by Apple as well. Last was one was by Furrow.
- 11y ago
- theflagbug 11y agoShameless self-promotion: Here is a great way to learn Swift on your phone: http://swifty-app.com/ http://swifty-app.com/
- weonlysmurf 11y agoLove your app man!
- theflagbug 11y agoThanks, glad to hear that!
- tornilloo 11y agoDoesn't work in x86, ubuntu 15.10, bash: /home/user/Descargas/swift-2.2-SNAPSHOT-2015-12-01-b-ubuntu15.10/usr/bin/swift: no puede ejecutar el archivo binario: Formato de ejecutable incorrecto Pentium(R) Dual-Core CPU T4500 @ 2.30GHz × 2
- deleted 11y ago[deleted]
- trymas 11y agoNice, I am excited. And probably I am more excited not about the open-sourcing of it, but that there will be a package manager [0]. [0] https://swift.org/package-manager/#conceptual-overview https://swift.org/package-manager/#conceptual-overview
- AlphaSite 11y agoThere is one more very interesting project under the swift umbrella: https://github.com/apple/swift-corelibs-libdispatch https://github.com/apple/swift-corelibs-libdispatch so now swift should have a useful approach to concurrency.
- cmyr 11y agoLooks like they need to port GCD/libdispatch so they can implement a native concurrency model on top of it in Swift 3(?).
- oflannabhra 11y agoProbably not Swift 3.0 according to current plans[1], but it sure looks like they want to have a native concurrency model at some point. 1. https://github.com/apple/swift-evolution#out-of-scope https://github.com/apple/swift-evolution#out-of-scope
- mwcampbell 11y agoInteresting that they rewrote the Foundation library in Swift for the open-source release rather than open-sourcing the ObjC one and bringing along the ObjC runtime. I wonder if this means they still believe the ObjC runtime and Foundation library are still worth keeping proprietary, or just that this is a step toward phasing out ObjC.
- pjmlp 11y agoIf you watch the WWDC 2015 videos, the only ones that used Objective-C instead of Swift were related to the language improvements. I guess that says it all.
- mayoff 11y agoThey didn't rewrite most of Foundation in Swift, at least not yet. If you look in the files, they are full of calls to NSUnimplemented().
- mnem 11y agoInteresting to see what they do have and what they don't have: https://github.com/apple/swift-corelibs-foundation/blob/master/Docs/Status.md https://github.com/apple/swift-corelibs-foundation/blob/mast...
- tvon 11y agoI believe it is meant as an abstraction layer for non-OSX systems.
- blumomo 11y agoI would love to see Swift for Android programing. I'm already using Kotlin, a language very close to Swift, for programming our Android apps. But I find Swift niftier than Kotlin.
- burntcookie90 11y agoIn what way? I've recently started writing in Swift and I find it to be less powerful than Kotlin. One such feature that's missing: extension expressions. Allows things like `let` and `with` from the kotlin stdlib
- Alphasite_ 11y agoWhat exactly are extension expressions, do you mean extension methods? If so, Swift does support them. I actually miss interface extensions in Kotlin, but thats a java cross compatibility issue.
- burntcookie90 11y agolook at the signature for `with` inline fun <T, R> with(receiver: T, f: T.() -> R): R it takes a lambda that is scoped to the receiver type `T`. This means the lambda runs in the scope of whatever is passed in as a receiver. with(list) { add(item) add(item) } This essentially lets you create DSLs for whatever. Another thing that's bit me in butt recently is that `Protocol`s aren't concrete types, unlike an `interface` in Java/Kotlin.
- s369610 11y agohttp://www.elementscompiler.com/elements/silver/ http://www.elementscompiler.com/elements/silver/ free one here
- niutech 11y agoIf you want Swift on Android, have a look at Eclipse Xtend: http://futurice.com/blog/android-development-has-its-own-swift http://futurice.com/blog/android-development-has-its-own-swi...
- dbrannan 11y agoCan we get Adobe to open source the flash player plugin as well? Can anyone think of a reason Adobe continues to refuse?
- ascagnel_ 11y agoPotentially mired in rights issues (since they originally acquired it from Macromedia, who may have not owned 100% of the codebase), or written so badly that vulnerabilities will be made very obvious by its open-sourcing.
- praseodym 11y agoHappily surprised by the fact that they merged 16 pull requests since the repo got open sourced :)
- therockhead 11y agoAny news regarding Swifts ability to interoperate with CPP, like Objective C++?
- oflannabhra 11y agoYes, it is currently out of scope for Swift 3.0[1] 1. https://github.com/apple/swift-evolution#out-of-scope https://github.com/apple/swift-evolution#out-of-scope
- therockhead 11y agoGreat to know this now instead of having to wait until next WWDC.
- deleted 11y ago[deleted]
- piratebroadcast 11y agoMaybe now we can add a way to get a random value from an array like array,sample in Ruby. Lots of work currently to do such a simple thing in Swift.
- DerekL 11y agoYou don't need to modify the compiler to do that. You could just write that in Swift.
- agp2572 11y agoNow all we need is a transpiler that converts Swift to Javascript.
- be5invis 11y agoSo let's guess, will Microsoft create a Windows-supporting fork, just like Redis?
- Scarbutt 11y agoSwift#
- phatbyte 11y agoI love this! I got say, that I've been a fan of Swift since the day Apple announced it. It's a such a beautiful language, with so many new paradigms implemented, safe and easy to learn. I really hope this boosts the widespread of Swift. I'd love to use it for back-end dev for instance.
- practicalswift 11y agoHappy to see that my collection of Swift compiler crashes (see https://github.com/practicalswift/swift-compiler-crashes https://github.com/practicalswift/swift-compiler-crashes) has been part of the official Swift repo since September 2014: https://github.com/apple/swift/commit/e5ca8be1a090335d401cd1d7dfcf9b2104674d5b https://github.com/apple/swift/commit/e5ca8be1a090335d401cd1... :-) A previous HN thread about the swift-compiler-crashes project: https://news.ycombinator.com/item?id=9020206 https://news.ycombinator.com/item?id=9020206
- Arjuna 11y agoWow, congratulations, that's really cool! Speaking of errors, I remember receiving the "Expression was too complex to be solved in reasonable time" error when I was first implementing Catmull-Rom splines for calculating flight paths in a game that I developed. I translated that to, "The math is making the room spin up in here." Definitely the "coolest" error I've hit working with Swift.
- pa5tabear 11y agoI recognized the name Catmull from Steve Jobs biographies... lo and behold you're talking about the Pixar President Edwin Catmull.
- Arjuna 11y agoIndeed; that's him! Edwin Catmull [1], along with Raphael Rom [2], created the Catmull-Rom spline. It was perfect for the Galaga-like level in my game. I only need to define a few control points to create a robust flight path for the enemy drones. The cool thing about the Catmull-Rom algorithm is that the spline passes through the control points. [1] https://en.wikipedia.org/wiki/Edwin_Catmull https://en.wikipedia.org/wiki/Edwin_Catmull [2] https://en.wikipedia.org/wiki/Raphael_Rom https://en.wikipedia.org/wiki/Raphael_Rom
- copperx 11y agoCurious -- were you implementing the drawing algorithm by scratch? or were you using any libraries?
- alia20 11y ago999999999999999 wl
- kenbellows 11y agoSo does this mean we might finally get officially supported iOS development on Windows and/or Linux soon?
- krschultz 11y agoNo. Swift the language is not to be confused with the iOS framework or tools. While more and more of iOS (and I presume XCode) is written in Swift, that all continues to be closed sourced code and is Mac specific.
- kenbellows 11y ago:'( still I wait, likely without end
- Joof 11y agoSecretly most of the sales of macs and profits of iOS are from developers.
- therockhead 11y agoHow do you know this ?
- atmosx 11y agoIt's WAY too slow to load and most pages time-out for me... I understand the hug of death coming from HN and twitter and reddit (and God where from) but this is Apple-backed right?!
- melling 11y agoIf you're new to Swift, I maintain a list of blogs, etc about Swift. I just past 2500 urls: http://www.h4labs.com/dev/ios/swift.html http://www.h4labs.com/dev/ios/swift.html It can be viewed daily or weekly, if you're only interest in recent blogs: http://www.h4labs.com/dev/ios/swift.html?date=0 http://www.h4labs.com/dev/ios/swift.html?date=0 http://www.h4labs.com/dev/ios/swift.html?week=0 http://www.h4labs.com/dev/ios/swift.html?week=0 Finally, all the data is on Github: https://github.com/melling/SwiftResources https://github.com/melling/SwiftResources
- tornilloo 11y agoI couldn't git with git clone git@github.com:apple/swift.git swift but you can use: git clone https://...../apple/... https://...../apple/.... swift and the same for the remaining libraries.
- tvon 11y agogit clone git@github.com:apple/swift.git swift Works for me.
- insulanian 11y agoWith open-sourcing C# and Swift, the era of major closed source programming languages is now officially over.
- SwellJoe 11y agoI think the make up of the web is an indication that that era has been over for a decade or more, and it just took some people/companies a while to realize it. Proprietary languages, even ones backed by a behemoth like Microsoft or Apple, could never really dominate the most important platform when facing off against open competitors (even open competitors with no real money or power to speak of).
- mxx 11y agoIs it worth learning Swift? (eg. on Linux)
- seivan 11y agoYeah it's a nice and more importantly a safe language. I am just worried about breaking changes.
- mojuba 11y agoJust re-stating the obvious, but it's also interesting how GitHub has become the default go-to of repos for everyone, like Google is for - well - googling. Kudos to both GiHub and git, you are simply awesome.
- deleted 11y ago[deleted]
- merb 11y agoWhat means "swift is memory safe"? does it use a GC?
- mcphage 11y agoNo, it uses "automatic reference counting"—it keeps a reference count of memory usage and frees it when it's no longer being referenced. And (for the most part) it automatically inserts the reference counting into your code during compilation. There are still some hints that you need to give it (like telling it about weak references to avoid reference loops, etc.)
- cromwellian 11y agoThis is pretty awesome. If all of the platform dependencies could be abstracted away, this could form the core of yet another cross-mobile-platform development framework, but with better performance and richer tooling. I think it really depends on how much control Apple intends to exercise over the IP. Could someone fork it and use it to create a mobile platform that would be free from legal harassment if it competed with the iPhone?
- staticint 11y ago> this could form the core of yet another cross-mobile-platform development framework Why not bridge the "yet another cross-mobile-platform development framework(s)" that were written for Objective-C, the same way Apple did with their frameworks? There is no need to restart them all over again in Swift to access them in Swift. Perhaps you were attempting to suggest that no quality cross-platform frameworks ever materialized for cross-platform development under Objective-C? (there were certainly attempts, including from big players) But if that is the case, I'm not sure an arguably better, but not dramatically different, language is going to change anything.
- peterle 11y agoInitial commit was made 4,5 ago... Is it normal it takes so long for a language to become Open Source? commit 18844bc65229786b96b89a9fc7739c0fc897905e Author: Chris Lattner <clattner@apple.com> AuthorDate: Sat Jul 17 23:50:59 2010 +0000 Commit: Chris Lattner <clattner@apple.com> CommitDate: Sat Jul 17 23:50:59 2010 +0000 initial swift test
- coldtea 11y agoThere's no "normal" or not "normal". There are projects that became open source after a decade or more of existance. Open Office for example had a long life as the proprietary "Star Office". Blender too IIRC.
- zimbatm 11y agoA number that I've seen thrown around: it takes 5 years to create a language. Probably less nowadays since we have all the tooling. It might make sense to wait until the language has settled-down before open-sourcing.
- giancarlostoro 11y agoI'm hoping to see builds for other distros and Windows as well. I'm curious what GUI applications would be like for Swift on Linux. I hope we see a great new platform for development with Swift :)
- makecheck 11y agoThere's one thing I can't understand about Apple's approach, and that is their pathnames. As good as Swift is, putting it by default in asinine paths like "/Library/Developer/Toolchains/swift-latest.xctoolchain/usr/bin" doesn't help anybody (and a ton of stuff in OS X is like this). A more Unixy way to do this would be /opt/swift-3.0/bin, where /opt/swift is a symlink to /opt/swift-3.0. Even Apple used to limit the path insanity to merely /Developer/usr/bin. Not sure what happened...
- panic 11y agoNot defending the practice, but you can use 'xcrun' to find and run these binaries. E.g. to find swiftc, you can use 'xcrun -f swiftc', and to run it, 'xcrun swiftc'.
- makecheck 11y agoI suppose, though it doesn't tab-complete. :) There's all kinds of reasons to want short paths. Having said that, I can create my own /opt symlink to a long path too.
- rsynnott 11y ago> A more Unixy way to do this would be /opt/swift-3.0/bin, where /opt/swift is a symlink to /opt/swift-3.0. This could cause entertaining problems for people who routinely install both current and beta versions of dev tools (which is relatively common; if you're working on iOS10 features for your new app but still need to release iOS9 updates during the beta period you more or less _have_ to, for instance). I suspect that's why they changed it in the first place.
- lobster_johnson 11y agoThe paths are cumbersome, but I wouldn't call them asinine. Apple's toolchains are versioned by SDK. That's why they have xcrun, so you can do things like: # xcrun --sdk iphoneos clang [...] On my system, clang's path is even worse than your example: # xcrun --sdk iphoneos --find clang /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang You're not supposed to remember those paths. Xcode and xcrun remembers them for you. Apple doesn't touch the base OS folders for non-OS software, which is why stuff goes into /Library and /Applications. Besides, (Apple has never used /opt, and doesn't even document it, last I checked: "man hier" doesn't mention it.)
- jeremy_wiebe 11y agoBrutal to see all the comment spam on the pull requests.
- truncate 11y agoIs it just me or is anyone else getting 404 for binary download (Ubuntu).
- altonzheng 11y agoWow, seems like Apple is following the steps of Microsoft now!
- dangjc 11y agoSuper excited! I will totally be exploring Swift for quantitative work. Julia has been great so far, but a lack of good IDE tooling is making a large codebase difficult to navigate and keep clean. Python has even less type safety than Julia. Swift has a REPL! Go doesn't, and its lack of generics makes writing most algorithms very limited (there isn't even a matrix 32 library, just 64 bit). Java has horrible native interfacing. C# is pretty anemic on Linux. C++ has too many gotchas, slow compile, to feel productive. Bonus: Swift libs will probably be very easy to deploy on both Android and ios.
- iso8859-1 11y agoYou don't need an ecosystem? Swift does not have this, not for Linux at least.
- masukomi 11y agosome of us get by just fine in happy ecosystems that exist outside of linux.
- talnet 11y agoyeah most of us.
- dangjc 11y agoI definitely need a tooling ecosystem, so I'll be waiting for good integration between IDEs and LLVM for Swift. Maybe Atom or VSCode will get there soon. For libraries, when I really need something, I'll wrap it myself using C FFI. It is very easy to pass C structs by value or reference between Julia and C. Go is not bad either and does a lot of static checking for me. Swift sounds like for value types it should be easy. Java is super painful with the marshalling back and forth.
- niutech 11y agoIt is a huge step for Swift. Finally it is no longer the Apple walled garden and it will become a popular universal platform like Python or JavaScript, for sure. If you want to learn Swift, it is high time. Start with the huge collection of 300+ video tutorials at https://www.youtube.com/user/TheSwiftLanguage https://www.youtube.com/user/TheSwiftLanguage Side note: Julia is great. Very easy to learn, blazing fast, powerful, general-purpose, works everywhere and even integrates well with C/Python/Fortran. As for the IDE, there is Juno based on LightTable, there is Sublime-Julia for Sublime Text, as well as Julia support for Atom.
- mozil 11y agocannot download snapshot now
- anjanb 11y agoanyone knows about a port to windows x64 environment ?
- niutech 11y agoRemObjects Silver?
- imranismail 11y agoBeen learning Elixir for the past few months and it's been a fun experience learning a functional language and OTP. This might just be the thing to cross the "native" on my language learning checklist.
- eccstartup 11y agoFinally.
- ricksplat 11y agoAs a sometime Apple developer I do welcome this. Hopefully it will legitimise some of the grey (non-official) toolchains and support the development of tools and community that much of the rest of the software development world enjoys, and people won't be tied solely to Apple's own dev tools. Does anybody else think it's a little strange though? To have open source tools solely to target a closed platform? I haven't used Swift myself but from what I've seen it seems to be something like Javascript with libraries for iOS, perhaps with a few semantic adjustments. Would that be a fair assessment? I can't imagine it being used for much else beyond developing for iOS devices. Perhaps Macs. So while it's free as in "beer", but could it truly be said to be free as in "speech" in any substantial fashion?
- mikado 11y agoCopyright © 2015 Apple Inc. All rights reserved. Swift and the Swift logo are trademarks of Apple Inc.
- estefan 11y agoIs it possible to write complex iOS apps using swift alone, without having to learn any Obj-C? Is there full library support, good ecosystem, etc.?
- INTPnerd 11y agoI like that it's open source now, but until they remove the need to mark certain references as weak or unknown, it still just feels like Apple doesn't get modern languages. Until the automatic memory management is more automatic, I will avoid swift if I can. I know many will say it is "not a big deal", but that is not true. It is an extra thing the developer needs to keep track of and to get right if they want to prevent bugs in their code. It makes programming more stressful and less fun. It is something that is very easy make a mistake with. It is a step backwards from other technologies. I know ARC is supposed to be faster than other automatic memory management techniques, but that is just an excuse. Yes, lower performance could be a problem with fully automatic memory management. But problems were meant to be solved, not dumped onto the users of your language. I'm sure it is possible to get it fast enough for most projects. There should at least be a compiler option to enable fully automatic memory management for projects that don't need that extra bit of speed. Computers, including mobile devices, are getting faster and faster. This is especially true for the iPhone and iPad.