Slashdot Mirror


Apple Releases Swift As an Open-Source Project (swift.org)

jcr writes with the news that Apple's Swift has gone open source: From Apple's press release: "We are excited by this new chapter in the story of Swift. After Apple unveiled the Swift programming language, it quickly became one of the fastest growing languages in history. Swift makes it easy to write software that is incredibly fast and safe by design. Now that Swift is open source, you can help make the best general purpose programming language available everywhere." It's listed at Apple's GitHub repository, too. (Hat tip to Jono Bacon.)

195 comments

  1. That's unpossible! by Anonymous Coward · · Score: 0

    A programming language is a specification, and thus open source by nature.

    1. Re:That's unpossible! by jellomizer · · Score: 1

      Not really.
      High Level languages can do very complex set of things with a simple command.
      Lets say Language X has a command.
      HTTPSServer(port, cert, onGetMethod, onPutMethod, onPostMethod, onDeleteMethod, onOptionsMethod, out Status)
      One command that does the work of a full application. Where there could be thousands of lines of code in a lower level language that will need to be looked art, and possible changed if ported to a different envrionment.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    2. Re:That's unpossible! by bioteq · · Score: 1

      You mean functions? Like C/C++ and almost all other languages have had for years?

      Or maybe Libraries?

      What, exactly, does the high level "feature" do here?

    3. Re:That's unpossible! by Anonymous Coward · · Score: 0

      It requires you to pass in a bunch of random call back functions whose parameter type and count are not enforced by the compiler. In 'traditional' languages like Java, that API call would be: HTTPSServer(port, cert, msgResponseHandler). Apparently, interfaces suck nowadays. One way lets you use a test version by changing an XML file (XML, so evil. Lets use JSON which ended up copying almost all of XML's features but with less tooling support) and the other way lets you use a test version by changing which file the code is built with, assuming those specific functions are all defined in one file with nothing else. I don't know enough about Swift, but in untyped languages like Lua, you'd also be able to use a test version by assigning different functions to those function names. Of course, all of that only matters if you regularly test stuff properly which no one does anymore.

      GP, I don't know why you were modded down. Putting features like HTTPSServer into a language just means if there's a bug in it you won't be able to fix it. In a library, you can patch the version you ship with. In most of the new languages with VMs, you can't easily ship a modified version of the language.

  2. Something missing here... by __aaclcg7560 · · Score: 4, Interesting

    Swift is available for Apple and Linux. No Windows version?

    1. Re:Something missing here... by jcr · · Score: 4, Informative

      I've heard that Microsoft is working on a Swift compiler, but I haven't heard what their schedule is supposed to be.

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
    2. Re:Something missing here... by Anonymous Coward · · Score: 1

      Mac OS X and Linux are almost identical for creating command line tools. Most likely the made the Mac version only and it just happened to work on Linux too. Windows is a different beast that they just hadn't gotten around to yet.

    3. Re:Something missing here... by Locke2005 · · Score: 1

      Since OSX is based on the Mach Kernel and uses a lot of BSD utilities, in many ways both OSX and Linux are Unix. I found it extremely easy to port a Linux based CUPS printer driver to OSX; the biggest challenge was getting it to compile in XCode. Presumably porting from OSX to Linux would be pretty straightforward to. Despite Microsoft's claims of POSIX compatibility, porting for OSX to Windows would be much more difficult. (All leave it to others to debate how big a lie Microsoft's "POSIX compliant" claim was/is. I think it was just a marketing scam to make Windows eligible for government procurement.)

      --
      I've abandoned my search for truth; now I'm just looking for some useful delusions.
    4. Re:Something missing here... by Anonymous Coward · · Score: 0

      The Swift libraries handle networking, concurrency, and I/O. Since Windows engineers did their own thing instead of copying Unix, it takes some effort to port stuff to Windows.

    5. Re:Something missing here... by Anonymous Coward · · Score: 0

      Swift is available for Apple and Linux. No Windows version?

      Why do you think they open-sourced it? I would guarantee that one of the main reasons was so someone else could continue to work on compilers and a Windows port, so the internal Apple devs could focus on Apple priorities. A lot of open-source software started out in the Linux world and was ported to Windows and Mac OS over the years, why would this product be any different?

    6. Re:Something missing here... by Moridineas · · Score: 3, Informative

      Since OSX is based on the Mach Kernel and uses a lot of BSD utilities, in many ways both OSX and Linux are Unix.

      Fully agreed, but to be pedantically accurate (the best kind of accurate) only OS X is UNIX (as in authorized to use the UNIX Trademark).

      I found it extremely easy to port a Linux based CUPS printer driver to OSX

      Should be! Apple employes several CUPS developers and purchased the source code about a decade ago.

    7. Re:Something missing here... by __aaclcg7560 · · Score: 0

      so the internal Apple devs could focus on Apple priorities

      Apple can't spare a few Windows devs to create a Windows version of Swift?

    8. Re: Something missing here... by Anonymous Coward · · Score: 0

      Jesus, cry us a river.

    9. Re:Something missing here... by ArcadioAlivioSincero · · Score: 5, Informative

      RemObjects makes a free Swift compiler that targets .NET, and thus the binaries would run on Windows. It targets Android too, so you can do Swift on Android as well.

      Of course, none of the OSX/iOS frameworks are provided on non-Mac platforms. You're expected to to use the frameworks already provided by the platform you are targetting.

    10. Re: Something missing here... by __aaclcg7560 · · Score: 1

      What does Jesus have to do with a multi-billion-dollar corporation unwilling to spare a few Windows devs for their open source project?

    11. Re: Something missing here... by Anonymous Coward · · Score: 0

      Obviously if Jesus cries a river then a few Windows devs will miraculously be available for their open source project. Duh.

    12. Re:Something missing here... by HiThere · · Score: 1

      Why should it? I notice that the Linux version is speced to run on an updated Ubuntu LTS. Doesn't claim to run on anything else. Probably they tested it and it happened to work, or someone noticed it could do so with minimal tweaking. Otherwise they'd probably have open source an Apple only version. And it would still be legitimately open source. Open source doesn't guarantee cross platform.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    13. Re:Something missing here... by unixisc · · Score: 1

      Hope that FreeBSD adds to it as well

    14. Re:Something missing here... by __aaclcg7560 · · Score: 1

      Open source doesn't guarantee cross platform.

      Why not? When I did a small, insignificant open source project in C, I tested my command-line code on Linux, Mac and Windows, and made it available that way. It's not like Apple lacks the resources to do a Windows version of Swift, as iTunes for Windows works very well on my Windows PC.

    15. Re:Something missing here... by Anonymous Coward · · Score: 0

      When I did a small, insignificant open source project

      You answered your own question.

    16. Re:Something missing here... by __aaclcg7560 · · Score: 1

      Ah, ha! Swift is insignificant for Windows. Now that makes sense.

    17. Re:Something missing here... by Anonymous Coward · · Score: 0

      Windows is insignificant for Swift.

      Fixed that for you.

    18. Re: Something missing here... by Anonymous Coward · · Score: 0

      It has the wrong semantics for Strings and Arrays, so existing Swift code will not necessarily run correctly if compiled with Silver.

    19. Re:Something missing here... by angel'o'sphere · · Score: 1

      Erm ... why should they?

      WTF, no one is able to pay me the money for damages for pain and suffering if I had to develop for windows. I would not work on software for windows if you payed me a couple of millions per year. Unless it is purely Qt or Java based.

      Or do you mean .Net? There are already third party .Net Swift compilers, open source even.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    20. Re:Something missing here... by __aaclcg7560 · · Score: 1

      Erm ... why should they?

      Cross platform compatibility.

    21. Re:Something missing here... by Anonymous Coward · · Score: 0

      I found it extremely easy to port a Linux based CUPS printer driver to OSX; the biggest challenge was getting it to compile in XCode.

      That's the craziest thing I ever heard. Why would you use XCode? Need XCode for native GUI applications, but anything not GUI, why bother with the overhead of XCode?

      And why would a printer driver need to be "compiled?" Most I have seen are plain text PostScript or varients. The trick is knowing where they live in the filesystem so the OS recognizes them for what they are.

      Not criticizing, just confused by your post.

    22. Re:Something missing here... by BasilBrush · · Score: 2

      Foundation Framework is being reimplemented and will be released as part of the Swift 3 open source distribution.

      https://github.com/apple/swift...

      You can expect the same to happen in future years with other frameworks, either by Apple or by other contributors.

    23. Re:Something missing here... by Anonymous Coward · · Score: 0

      swift for dos, on 4 5 1/4" floppies, coming out in january. o mama!

    24. Re:Something missing here... by jcr · · Score: 1

      The handful of Windows programmers at Apple have more important things to do.

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
    25. Re:Something missing here... by angel'o'sphere · · Score: 1

      Again: why should they?
      Or in your words then: why should they support cross platform compatibility?
      Or particular: why should they pay for and supply support for Windows?

      Obviously they would need to port then parts of their Frameworks, too. Or how exactly should a non console Swift application (aka a GUI application) run on Windows?

      An application is either tied to the platform native libraries or to a portable library like Qt.

      That said: you only need to compile the Swift Compiler on Windows and you basically have it there, why expecting apple to do that? MS Developer Studio is Open Source, too. Does it run on Linux or Macs?

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    26. Re:Something missing here... by __aaclcg7560 · · Score: 1

      Obviously they would need to port then parts of their Frameworks, too. Or how exactly should a non console Swift application (aka a GUI application) run on Windows?

      I guess those Mac devs pull "iTunes for Windows" out of their asses instead of using a common code base.

    27. Re:Something missing here... by Anonymous Coward · · Score: 0

      Why don't you look up what "open source" means, then look up what "cross platform" means. Then fuck off because you're a retard.

    28. Re:Something missing here... by jcr · · Score: 1

      The Windows version of iTunes is essentially a quicktime app. They haven't started using Swift in the Mac version, either.

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
    29. Re:Something missing here... by __aaclcg7560 · · Score: 1

      Swift is a replacement for... drum roll, please... Objective-C. I wonder what programming language and libraries Apple uses for QuickTime.

    30. Re:Something missing here... by jcr · · Score: 1

      Quicktime includes a lot of the Carbon API. I haven't had a look at the iTunes source code, but the last I heard, they weren't in a huge hurry to convert it all to Obj-C and Cocoa.

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
    31. Re:Something missing here... by __aaclcg7560 · · Score: 1

      Something must have changed. Carbon API is 32-bit only and depreciated since 2012. Meanwhile, the current version of iTunes for Windows is a 64-bit executable.

    32. Re:Something missing here... by angel'o'sphere · · Score: 1

      A pretty irrelevant comment.

      So, bottom line: besides demanding they port the Swift tool chain to windows to be "truly open source" you also want them to open their "how does iTunes and Quicktime" work on windows?

      So we are back to the first question: why should they?

      Windows is a dying platform, since ... 20 years? They only survived because the demand for new computes (with a preinstalled OS) was greater (because of development in the developing world) than the switching rate of sane people/organizations that use computers.

      Sorry, I say it more bluntly: why one demands an OS project to be supported on a fucked up platform, is beyond me.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    33. Re:Something missing here... by __aaclcg7560 · · Score: 1

      Windows is a dying platform, since ... 20 years?

      Oh, really? That's news to me. As a senior system admin at my organization, I'm responsible for 80,000+ Windows workstations.

      Sorry, I say it more bluntly: why one demands an OS project to be supported on a fucked up platform, is beyond me.

      Windows pays my salary. And PowerShell sucks.

    34. Re:Something missing here... by Anonymous Coward · · Score: 0

      I don't expect Apple to reimplement Cocoa as some Qt-like framework for cross platform use. Not only would it be close to impossible to do in anything considered a reasonable timespan, but a lot of the tech behind them are likely to be encumbered by patents. Patents that they aren't willing to cede since many of them likely are in use in iOS as well.

      This is just "Yet Another Programming Language." They probably needed to replace Objective-C, but there are other completely implemented, superior toolchains that run across more platform with better tooling available across all of them that are available for use today than to waste time on Swift (IMO).

    35. Re:Something missing here... by angel'o'sphere · · Score: 1

      And PowerShell sucks.
      Interesting ... some "sys admins" claim that the only good thing on windows is the PowerShell.
      However I try to avoid windows as good as I can, unfortunately most of my jobs involve to have a windows PC as "terminal" from which I go to the servers. In private live I only use Macs and Linux. Well, if there was a reason I would perhaps set up a BSD box again ...

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    36. Re:Something missing here... by __aaclcg7560 · · Score: 1

      I tend to write scripts in Python first and then covert them to PowerShell. Like most Windows shops, I'm not allowed to install and use Python on my workstation.

    37. Re:Something missing here... by angel'o'sphere · · Score: 1

      I had a job interview in March at the http://dmi.dk/
      I had to do some programming tasks, before hand and present my results in kind of talk during the interview.
      So I basically learned Python and the relevant libraries for that task in 2 days.
      However I cheated a bit, instead of doing OO stuff I had plain modular Python code, but it was fun. With libraries at hand the result was very short and very readable compared to e.g. Java.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  3. Quite possible by fyngyrz · · Score: 5, Insightful

    The specification may be open (or not); that does not mean that the code that creates the language interpreter or compiler is open.

    In this case, it is. That's laudable, at least in the broadest sense.

    As for the remark that Swift is "growing faster than anything else we can track" in TFA, well, okay, but grass grows faster than redwoods, too, but that doesn't mean it's going to get as tall. :)

    --
    I've fallen off your lawn, and I can't get up.
    1. Re:Quite possible by Anonymous Coward · · Score: 0

      The specification may be open (or not);

      It always is. It makes no sense to have a programming language without the specification available to everyone.

      that does not mean that the code that creates the language interpreter or compiler is open.

      In that case we are already talking about the toolchain, not specification.

    2. Re:Quite possible by Anonymous Coward · · Score: 0

      In that case we are already talking about the toolchain, not specification.

      Whoa! Are you not afraid Professor Moriarty will take you for Sherlock Holmes?

    3. Re:Quite possible by bunratty · · Score: 2
      --
      What a fool believes, he sees, no wise man has the power to reason away.
    4. Re:Quite possible by Anonymous Coward · · Score: 1

      Well in that case shouldn't the title say that "Apple releases its Swift toolchain as an open-source project"? Granted, the article and even the GitHub page blur the distinction between the programming language and its main implementation (maybe on purpose), but Slashdot has editors that can clarify what's being open-sourced exactly.

    5. Re:Quite possible by fyngyrz · · Score: 1

      It makes no sense to have a programming language without the specification available to everyone.

      Sure it does. The specification only needs to be available to those who are going to use it. Which, quite intentionally, may well not be "everyone" or even "all programmers."

      Have you seen the specification for my KB (Knowledge Base) implementation language? No. You have not. Because I have not released it, and probably will not. Yet the language itself makes great sense, for it is a huge effort- and time-saver in the domain for which it is intended, and for the people who I have decided get to use it, and who are, in fact, using it very intensively.

      See how that works?

      --
      I've fallen off your lawn, and I can't get up.
    6. Re:Quite possible by Anonymous Coward · · Score: 0

      Well, Albert Einstein, at least the summary gives an impression that the programming language is being open sourced.

    7. Re:Quite possible by fyngyrz · · Score: 2

      If you fork the toolchain, a spec that is 100% functionally equivalent to the original is now fully in your hands for further antics. That's pretty open.

      --
      I've fallen off your lawn, and I can't get up.
    8. Re:Quite possible by Anonymous Coward · · Score: 1

      I guess you've never heard of private APIs? Or reverse engineering?

    9. Re:Quite possible by Hognoxious · · Score: 1

      The specification may be open (or not); that does not mean that the code that creates the language interpreter or compiler is open.

      Open source. That implies actual code being available.

      Or it did before the sheep started applying the phrase to everything from fanfiction to cake recipes.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    10. Re:Quite possible by Anonymous Coward · · Score: 0

      Yep, but without specification you can never determine what is bugs and what is working as intended.

      IMO open specifications are way more important than open source.
      Forking just leads to another version with the same codebase which won't help you much in getting away from a monoculture. An open specification allows you to attempt an entirely new approach.
      As someone who likes to keep older computers alive it is also often the case that the sourcecode is completely useless to me. Quite often the target system isn't posix compliant and even if it is ISO-C compliant that standard leaves a lot of features optional.

      Even a badly written specification like those from W3C is better than open source without specification.

    11. Re:Quite possible by Anonymous Coward · · Score: 1

      It always is. It makes no sense to have a programming language without the specification available to everyone.

      I've used lots of programming languages, at different companies, whose specifications were not available to everyone. Proprietary languages, some only available in-house, some only to us and our customers. Generally designed for programming a larger software system, but still Turing-complete. The rationale for keeping the spec in-house generally related to the flexibility of changing it as new versions of the larger system were released, and simply avoiding the overhead of making the spec publishable vs the often ad hoc collection of miscellaneous documents, memos, and tribal knowledge that actually defined it.

      Not saying that any of those are inherently good reasons, mind, but they are reasons.

    12. Re:Quite possible by fyngyrz · · Score: 1

      Once you fork it, the spec is yours and so you can determine if it's working according to your spec.

      For instance, suppose I fork Python 3 and then fix it so that print takes arguments the way it used to, or as a function as Python 3 does now. Likewise for all the other things Python 3 arbitrarily and capriciously broke. The things that made it, as far as I'm concerned, not Python at all. My version is now working perfectly - to my spec. What the original spec said has become significantly less relevant. Then I add the ability extend classes, rather than just the crippled sub-classing it has now. Soon, I can add things like my own extensions to the string class. Still 100% to spec. My spec.

      As for source code and older systems, I'm the author of a comprehensive 6809/Flex DOS emulation. It comes with (among many other things) a small c compiler. Trust me, you won't be shoving "standard c source" into that compiler and getting anywhere useful. But the value of having source anyway is that it tells you how something is supposed to work. The advantages of having it, as opposed to not having it, are considerable.

      --
      I've fallen off your lawn, and I can't get up.
    13. Re:Quite possible by Anonymous Coward · · Score: 0

      In the missing the point department (which is why I'm posting as an anonymous coward ;-) Redwoods grow pretty damn fast, though not as fast as some kinds of bamboo, which is a kind of grass.

    14. Re:Quite possible by flargleblarg · · Score: 1

      As for the remark that Swift is "growing faster than anything else we can track" in TFA, well, okay, but grass grows faster than redwoods, too, but that doesn't mean it's going to get as tall. :)

      You've seen The Force Awakens already?

    15. Re:Quite possible by Anonymous Coward · · Score: 0

      E Coli grows faster than either :) (no, im not a programmer, don't know if swift is good or not)

    16. Re:Quite possible by Anonymous Coward · · Score: 0

      Why did they bother messing with classes if they weren't going to make it capable of multiprocessing?

    17. Re:Quite possible by Anonymous Coward · · Score: 0

      So what? You can develop anything you want in a vacuum. I'm quite sure you wouldn't release your KB project's toolchain to the public either.

    18. Re:Quite possible by fyngyrz · · Score: 1

      Seriously? You can't think of any uses for classes other than multi-processing?

      I'm not saying it wouldn't be wonderful if it was thread-safe, but classes? Really?

      --
      I've fallen off your lawn, and I can't get up.
    19. Re: Quite possible by Anonymous Coward · · Score: 0

      Some mature Californian Coastal Redwoods have been estimated as putting on several tens of kilograms per day in mass. That's the fastest growing single thing in the world in absolute terms although in percentage terms it's nothing.

  4. swift.org appears to be Slashdotted by cruff · · Score: 0

    swift.org web page appears to be unresponsive. Too bad their fastest growing programming language web server can't handle that load.

    1. Re:swift.org appears to be Slashdotted by macs4all · · Score: 0

      swift.org web page appears to be unresponsive. Too bad their fastest growing programming language web server can't handle that load.

      swift.org is a domain registered by GoDaddy. It is unlikely that Apple would do that. I don't think it's related.

      But the page on GitHub seems to list a pretty damned complete package of Swift-stuff.

    2. Re:swift.org appears to be Slashdotted by Anonymous Coward · · Score: 0

      Well they're using copyright notifications from Apple and it looks pretty official; if it's a scam it was pretty well executed and it's been going on for quite a long time relatively speaking.

    3. Re:swift.org appears to be Slashdotted by macs4all · · Score: 1

      Well they're using copyright notifications from Apple and it looks pretty official; if it's a scam it was pretty well executed and it's been going on for quite a long time relatively speaking.

      I may have been wrong. You're right, it does look pretty official. I was just surprised to see Apple register through GoDaddy.

  5. Now what about the other open promises? by Anonymous Coward · · Score: 1

    Why do we get Swift, but not FaceTime? Wasn't that supposed to be an "Open Standard" shortly after its introduction? Don't get me wrong, great news that Apple's opening something useful, but seriously, this was supposed to happen years ago...

    1. Re:Now what about the other open promises? by BasilBrush · · Score: 3, Informative

      FaceTime was encumbered by patents Apple don't own. So until they expire, it's not going to be open source.

      As to Swift - they only announced it was going open source at WWDC this summer. So no, not years. It's not even years old yet.

      And by the way, a lot of slashdotter's cynicism that Swift would not be open sourced is hereby proved wrong.

    2. Re:Now what about the other open promises? by UnknowingFool · · Score: 1

      Why do we get Swift, but not FaceTime?

      FaceTime is a product. The protocols behind FaceTime are based on open standards. "Upon the launch of the iPhone 4, Jobs stated that Apple would immediately start working with standards bodies to make the FaceTime protocol an "open industry standard". While the protocols are open standards, Apple's FaceTime service requires a client-side certificate."

      --
      Well, there's spam egg sausage and spam, that's not got much spam in it.
    3. Re:Now what about the other open promises? by tepples · · Score: 1

      Why do we get Swift, but not a process to obtain a suitable certificate for interoperation?

    4. Re:Now what about the other open promises? by Anonymous Coward · · Score: 0

      FaceTime had silly patents that they couldn't get around. Patents that were somewhat obvious, and Apple had to re-engineer a less-good non-infringing solution.

      Darwin is open source. They contribute heavily to LLVM. Realize that a large corporation has a lot of moving parts, and if you expect consistency you're likely to be disappointed. It costs money to release something opensource. It costs lawyers. It costs programmers to clean up the code. It costs hosting. Im not sure why the default always is "XXX company didn't release YYY open source so XXX is evil" It's really "do i want to spend money on releasing this".

    5. Re:Now what about the other open promises? by UnknowingFool · · Score: 1

      Why don't you get a specific encryption key and not a whole language specification? Is that really your question? That's like saying why do we get the Kerberos specification but not Red Hat's Kerberos keys, isn't it?

      --
      Well, there's spam egg sausage and spam, that's not got much spam in it.
    6. Re:Now what about the other open promises? by tepples · · Score: 1

      Why don't you get a specific encryption key and not a whole language specification? Is that really your question?

      Let me make it clearer: Why do we get only a language specification, not both a language specification and an encryption key to interoperate with a communication platform?

      That's like saying why do we get the Kerberos specification but not Red Hat's Kerberos keys, isn't it?

      If Red Hat operated a communication platform, then applications that interoperate with this platform would in fact need keys.

    7. Re:Now what about the other open promises? by UnknowingFool · · Score: 1

      Let me make it clearer: Why do we get only a language specification, not both a language specification and an encryption key to interoperate with a communication platform?

      You want Apple's secret keys as well as everything they've already released because you want to build a platform to interoperate with Apple's implementation when they are not interested in building that? Do you understand your own question? Apple has given you the tools to build your own platform: they are not interested in you duplicating theirs.

      If Red Hat operated a communication platform, then applications that interoperate with this platform would in fact need keys.

      Apple has never said that they were willing to interoperate with everything. That's your desire and wish. They've developed the framework for you to build your own platform.

      --
      Well, there's spam egg sausage and spam, that's not got much spam in it.
    8. Re:Now what about the other open promises? by tepples · · Score: 0

      You want Apple's secret keys as well as everything they've already released because you want to build a platform to interoperate with Apple's implementation

      No, I want my secret key whose public key Apple recognizes to allow me to talk to users of FaceTime.

      when they are not interested in building that?

      The fact that "they are not interested in building that", where "that" refers to a video conferencing application that talks to users of FaceTime without requiring a $300+ dongle, is the problem.

      They've developed the framework for you to build your own platform.

      Running twelve different platforms, one for each circle of friends with which a user communicates, is an unnecessary drain on users' devices' batteries.

    9. Re:Now what about the other open promises? by Anubis+IV · · Score: 1

      Why do we get Swift, but not a process to obtain a suitable certificate for interoperation?

      You're missing the distinction between FaceTime-as-a-protocol and FaceTime-as-a-service (i.e. an implementation of FaceTime-as-a-protocol).

      Apple (as far as I can tell) never pledged to open FaceTime-as-a-service (which is what a certificate of interoperation would be used for), only FaceTime-as-a-protocol. To draw a car analogy, Apple pledged to tell people how to build paved roads, but they never said they'd let people drive for free on the roads they built. Regardless of that distinction, however, they've still failed, since they haven't even told people how to build the roads in the first place. All they've done is said that they used standard gravel and tar/pitch that you can find elsewhere.

      Anyway, I don't know why Apple never opened FaceTime-as-a-protocol, but at this point, certificates are one of the smaller hurdles getting in the way of interoperability. While FaceTime may have been built on open standards, it implements a number of optimizations that break interoperability with those standards. Apple would need to open all of those details up to public scrutiny before a certificate of interoperation would be useful in any way.

    10. Re:Now what about the other open promises? by UnknowingFool · · Score: 1

      No, I want my secret key whose public key Apple recognizes to allow me to talk to users of FaceTime.

      You want into their network and their implementation which they built instead of building your own implementation. What does that say about you?

      Running twelve different platforms, one for each circle of friends with which a user communicates, is an unnecessary drain on users' devices' batteries.

      So Apple is to blame that everyone has their own platform and it makes your battery life suck?

      --
      Well, there's spam egg sausage and spam, that's not got much spam in it.
    11. Re:Now what about the other open promises? by tepples · · Score: 1

      So Apple is to blame that everyone has their own platform

      Yes, Apple is to blame for poor iPhone battery life because of its own refusal to interoperate.

    12. Re:Now what about the other open promises? by tepples · · Score: 1

      To draw a car analogy, Apple pledged to tell people how to build paved roads, but they never said they'd let people drive for free on the roads they built.

      How is it efficient use of real estate to have twelve parallel roads going everywhere?

    13. Re:Now what about the other open promises? by Anubis+IV · · Score: 1

      So, backing up a step, I too would have liked FaceTime to be open and interoperable. My previous comment was intended to point out a factual quibble with your first question and to explain some additional hurdles in Apple's path to keeping their promises. But I won't defend Apple's choice of promises or their failure to achieve them.

      So, with that out of the way, I agree that it's inefficient to have parallel implementations. Even so, when Apple isn't managing to keep the promises that they actually made (i.e. to open the protocol), the whole question over what they should have promised (i.e. access to their service based on that protocol) kinda becomes moot. And with your latest question, that's basically what you're asking, since it's shifting the discussion from "why haven't they kept their promise?" to "why didn't they promise what we want?".

      I hope that better explains where I'm coming from, since I don't want to be put into the position of defending Apple on this topic. They've dropped the ball here and deserve the flak they've earned.

    14. Re: Now what about the other open promises? by Karlt1 · · Score: 1

      From all accounts that was Jobs making an announcement without first checking with the lawyers or the developers. The first any developers on the IOS team heard about FaceTime becoming open source was when SJ announced it to the public.

    15. Re: Now what about the other open promises? by Karlt1 · · Score: 1

      Why would you think having 12 different messaging programs on your iPhone would use more battery life than using 1? It's not like those 12 programs are actually running in the background listening for messages. That's not how iOS works.

      When a messaging app is not in the foreground and not actively being used (i.e. when you're in an audio call and its in the background) the app is either suspended - in memory but not given any CPU cycles - or not running at all. There is one process in iOS that listens for all notifications and dispatches it the correct process. If that process is not running, iOS launches it.

    16. Re: Now what about the other open promises? by tepples · · Score: 1

      Perhaps because the phone would have to waste time launching each (and killing another to save RAM) as each receives messages.

  6. Apple?.Languages?.Swift?.News?.releaseText ?? "" by JoeyRox · · Score: 1

    Swift source code that generated this announcement.

  7. License by Anonymous Coward · · Score: 0

    LICENSE?

    1. Re:license by Anonymous Coward · · Score: 0

      Even the slashdot of new is missing. No mention of the bovine interest in Swift.

  8. Oracle v. Google by tepples · · Score: 4, Interesting

    A programming language is a specification, and thus open source by nature.

    Try telling that to the appellate judge in Oracle v. Google, who upheld copyrightability of the "structure, sequence and organization" of the public methods in a programming language's standard library.

    1. Re:Oracle v. Google by Anonymous Coward · · Score: 0

      Yeah well that's because Oracle is a box of dicks and everyone knows it. They're not the best example of a level-headed entity.

      Captcha: smutty

    2. Re:Oracle v. Google by phantomfive · · Score: 1

      Try telling that to the appellate judge in Oracle v. Google

      Not just the appellate court, also the supreme court.
      Which isn't necessarily a bad thing: Google still is going to try to argue a fair-use defense, which means you can use it, even if it's copyrighted.

      --
      "First they came for the slanderers and i said nothing."
    3. Re:Oracle v. Google by Anonymous Coward · · Score: 0

      A programming language is a specification, and thus open source by nature.

      Try telling that to the appellate judge in Oracle v. Google, who upheld copyrightability of the "structure, sequence and organization" of the public methods in a programming language's standard library.

      Da fuq? If copyrightability excludes something from being open source, then NOTHING is.

      The FSF, OSI, and every copyleft ideal out there need copyrightability to impose their restrictions.

      Without copyright, everything would be secret or public domain - which is too free for some people.

  9. MSYS or Cygwin by tepples · · Score: 3, Funny

    Has anyone tried building the *n?x version against MSYS or Cygwin yet? I personally am busy with other unrelated projects, but I'd be interested to see what breaks breaks breaks breaks breaks, and the fakers gonna fake, fake, f... (sorry, wrong Swift)

  10. *sigh* by sootman · · Score: 2

    Now that it's becoming so well known, the next thing you'll see is a job listing asking for candidates with "5+ years of Swift experience"

    --
    Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.
    1. Re:*sigh* by Anonymous Coward · · Score: 0

      My agency has provided Swift Certification for over 5 years now, so people can know they are getting TRUE swift experience, and not just words on paper

  11. RTFA; it's Apache 2 by tepples · · Score: 4, Informative

    I read the featured article, and it turns out to be Apache License 2.0.

  12. Doesn't matter by Anonymous Coward · · Score: 0

    This is less relevant than C#. We don't want corporate controlled languages.

    1. Re:Doesn't matter by NostalgiaForInfinity · · Score: 3, Interesting

      I don't really care whether it's "corporate controlled" as long as it's open source and not patent encumbered.

      That is, I'm happy to let a corporation "control" something as long as people can fork it when the corporation drops the ball for some reason.

      Both C# and Swift seem to satisfy those criteria.

    2. Re:Doesn't matter by Anonymous Coward · · Score: 0

      At least not when they suck ....

    3. Re:Doesn't matter by Locke2005 · · Score: 0

      Right... that's why nobody uses Java!
      How about just using the best tools for the job?

      --
      I've abandoned my search for truth; now I'm just looking for some useful delusions.
    4. Re:Doesn't matter by macs4all · · Score: 0

      This is less relevant than C#. We don't want corporate controlled languages.

      I think you will find, Hater, that as of now, Swift is anything-BUT "Corporate-Controlled".

      Want some cheese with that whine?

    5. Re: Doesn't matter by Anonymous Coward · · Score: 0

      How completely uninformed a post.

    6. Re:Doesn't matter by Anonymous Coward · · Score: 0

      LOL. Oh really? Just like Java isn't controlled by Oracle, right? You would have to be an idiot to use one of these languages that a corporation will close down as soon as they get bored of it and come up with the next shiny language. Remeber ObjectiveC? Yeah right. Hope you didn't bother learning that.

    7. Re:Doesn't matter by macs4all · · Score: 1

      LOL. Oh really? Just like Java isn't controlled by Oracle, right? You would have to be an idiot to use one of these languages that a corporation will close down as soon as they get bored of it and come up with the next shiny language. Remeber ObjectiveC? Yeah right. Hope you didn't bother learning that.

      You are a true idiot, you know that. Oh, wait, of course you don't.

      You're so stupid that you have completely ignored the fact that Apple Open Sourced the entire Swift Toolchain under the Apache 2.0 License. How in the FUCK does Apple then control ANYTHING once Swift is forked?

      Oh, about Objective-C? Not only does it REMAIN the main language for OS X and iOS development; and not only did Apple NOT create it, but it has been Ported to MANY other Platforms. So, it, too isn't exactly controlled by Apple, either, although admittedly, they drive most of its continued improvement. Here, read it and choke on Your own ignorance, Hater.

  13. Bank or poach? by tepples · · Score: 2

    the next thing you'll see is a job listing asking for candidates with "5+ years of Swift experience"

    If the employer is a bank, that's understandable if it refers to the SWIFT payment network. Otherwise, I take that as a code word for "I want to poach from Apple."

    1. Re:Bank or poach? by Anonymous Coward · · Score: 0

      It's not about poaching. Sootman's comment was one of those bitter ironic ones about job listings always giving impossible requirements for the resume-checking software to keep honest candidates out.

  14. license by Anonymous Coward · · Score: 0

    isn't the first post supposed to be about how someone here doesn't like the license they chose? where is the slashdot of old?

  15. What language isn't corporate? by tepples · · Score: 5, Interesting

    What major programming language isn't corporate controlled? PHP Group is a corporation, Perl Foundation is a corporation, Python Software Foundation is a corporation, Ecma International (ECMAScript) is a corporation, and International Organization for Standardization (C, C++) is a corporation.

    1. Re:What language isn't corporate? by OzPeter · · Score: 2

      What major programming language isn't corporate controlled?

      How come you aren't giving the elephant in the room some love. Surely Go is worth mentioning.

      --
      I am Slashdot. Are you Slashdot as well?
    2. Re:What language isn't corporate? by Anonymous Coward · · Score: 0

      That isn't a corporation, it's a collective hive-mind, pseudo-species of cybernetic beings from the Delta Quadrant, with the ultimate goal of the attainment of 'perfection' through the forcible assimilation of diverse sentient species, technologies, and knowledge.

    3. Re:What language isn't corporate? by Anonymous Coward · · Score: 1

      What major programming language isn't corporate controlled?

      How come you aren't giving the elephant in the room some love. Surely Go is worth mentioning.

      Show me a list of commercial software packages written with Go. As soon as that list gets anywhere near what Swift has, it will graduate from monkey to primate. It's hardly an elephant at this stage of its life cycle.

      Anecdotally, I know between 200 and 300 active developers and about half of them have written something in Swift and about five that have written something in Go.

    4. Re:What language isn't corporate? by Anonymous Coward · · Score: 0

      and International Organization for Standardization (C, C++) is a corporation.

      C isn't controlled by them. They have a specification that one can comply to by you do not have to.
      While most compilers are compliant (But typically supports non-compliant code), most C or C++ code isn't.
      Often you see people refer to K&R syntax that isn't compatible with ISO-C.

    5. Re:What language isn't corporate? by jjn1056 · · Score: 1

      I don't know about other languages, but the Perl Foundation is not controlled by a particular corporate entity. Its mostly a bunch of volunteers that love Perl and are just trying to help maintain and promote it. Its a truly grass roots effort and no one company's interests outweighs anyone else's.

      --
      Peace, or Not?
    6. Re:What language isn't corporate? by tepples · · Score: 1

      the Perl Foundation is not controlled by a particular corporate entity.

      The Perl Foundation is a brand used by Yet Another Society, a Michigan nonprofit corporation headquartered in Walnut, CA, for its activity toward "advancement of the Perl programming language".

      Its mostly a bunch of volunteers that love Perl and are just trying to help maintain and promote it.

      True. But I was trying to encourage a point to be madeabout widespread misuse of the term "corporate" to mean "for-profit corporate".

    7. Re:What language isn't corporate? by Anonymous Coward · · Score: 0

      "corporate" does not necessarily mean money-grabbing profit-above-all-else corporation (e.g. apple, microsoft, oracle)... for instance, perl foundation and python software foundation are registered 501(c)(3) non-profit organizations.

    8. Re:What language isn't corporate? by chuckymonkey · · Score: 2

      I know I'm responding to AC here, but I think you don't hang out in the same circles as Go developers. You're comparing apples to oranges, go is primarily an infrastructure language whereas Swift is generally a frontend language. But since you asked: Docker - you might have heard of it Kubernetes Comcast BBC Cloudflare Rackspace Cloudfoundry Dailymotion DigitalOcean Dropbox Ebay EMC The Economist Flipboard GE Heroku Imagefly Imgur Shutterfly Tumblr The list goes on and on and on. Just because you don't personally know anyone that uses it doesn't mean it's not being used. It's just used by highly skilled and highly paid neckbeards making all the backend shit app developers need to make their toys.

      --
      "Some books contain the machinery required to create and sustain universes."-Tycho
    9. Re:What language isn't corporate? by Anonymous Coward · · Score: 0

      Give me a break. C/C++ isn't controlled by a single corporation. C#/Java/Swift are all languages controlled by a single mega-corporation. They all suck.

    10. Re:What language isn't corporate? by Anonymous Coward · · Score: 1

      C#/Java/Swift are all languages controlled by a single mega-corporation.

      I assume you mean three different mega-corporations (Microsoft, Oracle, Apple), not a "single" mega-corporation. Unless you're one of those delusional "new world order" types.

      They all suck

      This is how I know you're not a developer. Or at least one who's ever tried anything besides C/C++. They have pros and cons and they're not as general-purpose as C/C++, but to say that they "suck" pretty much tells me you have no idea what you're talking about.

    11. Re:What language isn't corporate? by Anonymous Coward · · Score: 0

      Isn't that by very definition... an App? Which is what Swift is for?

  16. I can't decide! by Anonymous Coward · · Score: 0

    Should I learn Swift, or should I learn C#?

    1. Re:I can't decide! by __aaclcg7560 · · Score: 1, Insightful

      If you're Apple-centric, learn Swift. If you're Windows-centric, learn C#. Otherwise, learn Python for all platforms.

    2. Re:I can't decide! by macs4all · · Score: 0

      Should I learn Swift, or should I learn C#?

      Depends if all you want to do is write .NET for Microsoft-stuff, or learn a new Open Source language with general-purpose application.

    3. Re:I can't decide! by jellomizer · · Score: 1

      You can do both.
      I keep 2 dozen languages on my resume. I know many more, but why bother going into lesser known/used languages such as FoxPro or Lisp or put on langauges that make me look dated such as Cobol or Fortran.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    4. Re:I can't decide! by Anonymous Coward · · Score: 0

      No.

    5. Re:I can't decide! by __aaclcg7560 · · Score: 1

      I keep 2 dozen languages on my resume.

      If you talk to some of the recruiters I've dealt with the over the years, the first thing they will say upon seeing two dozen programming languages on your resume: "You lack focus. Why should anyone hire you?"

    6. Re:I can't decide! by dwpro · · Score: 2

      ...didn't Microsoft open source both Rosyln and c#/vb a while back? Oh right, macs4all, carry on.

      --
      Millions long for immortality who do not know what to do with themselves on a rainy Sunday afternoon. -- Susan Ertz
    7. Re:I can't decide! by gweihir · · Score: 2

      And do learn C for when you actually need performance and/or a small memory footprint. Embeds well into Python, BTW.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    8. Re:I can't decide! by HiThere · · Score: 1

      C also embeds well into Ruby, C++, Ada, and D. I'm not sure about other languages, but many LISP and Scheme dialects seem to claim to work well with C. OTOH, I've never seen a Snobol interface to C.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    9. Re:I can't decide! by Visarga · · Score: 2

      I see more job listings for Java than C# and Swift in my country. In fact, Swift is almost missing.

    10. Re:I can't decide! by __aaclcg7560 · · Score: 1

      Swift is relatively new and a replacement for Objective-C. Check the Objective-C job listings.

  17. Re:Swift is for LUDDITES. by Locke2005 · · Score: 1

    "App" is the new "moo"!

    --
    I've abandoned my search for truth; now I'm just looking for some useful delusions.
  18. That settles it: THEY are spying on ME by Anonymous Coward · · Score: 0

    Here's what I don't understand: how does Apple know that just a couple weeks ago I installed Monodev? Don't get me wrong: I totally understand why it's relevant to Apple (even if they're totally misinterpreting it(*)); I just don't understand how they found out. Does Canonical sell their repository-request stats?

    (*) They think it means I've gained tolerance for dead-end technically-not-proprietary languages (even though these days, being a $LANGUAGE guy is really just 1% knowing the $LANGUAGE language and 99% knowing the defacto $LANGUAGE libraries, which still might be proprietary or patented or whatever). But really, the only reason I installed Mono was that I'm teaching the wife some basic C# so she can get a promotion. Apple, this doesn't mean I don't see through your (or Microsoft's) bullshit. You came away with totally the wrong impression, guys.

  19. OK, I'll bite by dargaud · · Score: 0

    Since I wouldn't touch (anymore) a Mac with a 10 foot pole, I had 0 interest in Swift. But I imagine it's only going to take a couple of hours to get the compiler running on Linux, so the question becomes: is it worth learning, and what is there to gain for an old school C programmer who doesn't particularly enjoy C++ ? Can you do tiny embedded projects with it ? Can you do large distributed projects ? MPI ? System programming ? Device drivers ? User interfaces in a simpler way than a big pile of callbacks ?

    --
    Non-Linux Penguins ?
    1. Re:OK, I'll bite by serviscope_minor · · Score: 5, Informative

      and what is there to gain for an old school C programmer who doesn't particularly enjoy C++ ?

      SWIFT is more or less ObjectiveC made sane. It's basically the same underlying world view, but with a new language with a unified syntax (where as ObjC is like two unrelated languaged bolted together), reduced undefined behaviour, no pointer arithmetic (by default? not sure. Pounters aren't exposed in the same way).

      ObjC and so Swift are both very late bound languages, so have a very dynamic feel to them.

      --
      SJW n. One who posts facts.
    2. Re:OK, I'll bite by XxtraLarGe · · Score: 2

      But I imagine it's only going to take a couple of hours to get the compiler running on Linux, so the question becomes: is it worth learning, and what is there to gain for an old school C programmer who doesn't particularly enjoy C++ ?

      I've only written a couple of apps using it, but I found the syntax to be much more straight forward than either C++ or Objective C. It was pretty easy to pick up on.

      --
      Taking guns away from the 99% gives the 1% 100% of the power.
    3. Re: OK, I'll bite by Anonymous Coward · · Score: 0

      Um, no. Swift and ObjC are alike in that both are programming languages. There the similarities end.

    4. Re:OK, I'll bite by SoftwareArtist · · Score: 4, Insightful

      I haven't used it, just read a lot of the documentation, but it looks like a pretty nicely designed language. It has a very modern feel: concise syntax, static typing with type inference, closures, everything is an object, etc. Certainly looks much nicer to work in than C++.

      For any question about, "Can you do...", the answer is almost certainly yes. It's the recommended language for nearly all new development on iOS and Mac OS, so it's being used for all those things.

      --
      "I'm too busy to research this and form an educated opinion, but I do have time to tell everyone my uninformed opinion."
    5. Re: OK, I'll bite by Schnapple · · Score: 2

      Um, no. Swift and ObjC are alike in that both are programming languages. There the similarities end.

      That's not really fair. They're both currently beholden to certain conventions, Objective-C because it invented them and Swift because it has to be compatible with them. But up until Swift being open source it was pretty much just like he said, Obj-C made sane. Still stuck on Apple platforms, still needs OS X/iOS stuff to be useful, etc.

    6. Re:OK, I'll bite by Schnapple · · Score: 5, Interesting
      My take on it is - every language designer (be they an individual or a company), especially ones with a lot of compiler design experience, when they sit down to make a new language, they basically ask what would you do different if you could start from scratch today?

      When Sun made Java they said "what would we improve about C++ if we had the chance?". Separate from the JVM concept, this is what they were thinking when they made the language. Back when Java was new people joked it was C+++. When Microsoft made C# they said "what would we improve about Java if we had the chance?".

      Apple basically said "holy FUCK we need to get away from this shitty 80's language, C# does some good stuff, but what would we improve about it if we had the chance?

      So in C# you used to have to declare something like this:

      Something aThing = new Something();

      Then languages started asking themselves "wait, why do we have to say the class name twice? We could just get away with just doing it once"

      var aThing = new Something();

      Swift says "wait, why do we need semicolons? I mean yeah it used to be that we didn't have great ways of telling lines apart but we've solved that problem now. If there's just the one statement on a line no need for a semicolon. And why do we need to say "new"? We know it's new. The calling of the class name via the constructor tells us that. Get rid of that shit too"

      var aThing = Something()

      Back when c# introduced "var" I was dead set against it. When Swift dropped semicolons I thought it was reckless. Now that I've been using Swift a while I get their minimalist religion. It's a struggle to go back to C# or JS and have to remember semicolons (although JS doesn't seem to give a shit either way)

      To declare a constant in C# you declare its type as well as use a keyword

      const int i = 4;

      In Swift, they said "well, we're already using var, why not just swap that out for a constant?"

      let i = 4

      and the compiler in Xcode now shows you all the times when you could use a constant, which is way more often than you realize.

      For all the spitballing about platform this and proprietary that, underneath it all Swift is the latest attempt at a language that uses what we've learned from previous languages. And it's possible some or all of their conventions have been used by other recent languages that just got an eyeroll from working developers but Swift has this tremendous advantage in that it has a compelling use case: iOS developers who don't want to use Objective-C. Because no one really wants to use Objective-C. Anyone who says they do is a victim of Stockholm Syndrome.

    7. Re:OK, I'll bite by phantomfive · · Score: 1

      with a new language with a unified syntax (where as ObjC is like two unrelated languaged bolted together)

      I feel the opposite, it Swift seems like a language with some cruft from ObjC bolted on.

      --
      "First they came for the slanderers and i said nothing."
    8. Re:OK, I'll bite by Anonymous Coward · · Score: 2, Informative

      I've only written a couple of apps using it, but I found the syntax to be much more straight forward than either C++ or Objective C. It was pretty easy to pick up on.

      The long-hand syntax is very similar to Pascal, with some slight changes to fit more closely in with modern languages. They've replaced BEGIN and END with {}'s, and instead of writing function/procedure, you simply write "func", just to name a few example. Pascal was used as a teaching language at universities back in the 80's until it was replaced by C/C++ in the 90's, and eventually Java more recently. I grew up programming Pascal. It was a wonderful language.

      I've found a few excellent YouTube videos which helped ease me into using Swift. The first is the slightly long Swift Tutorial for Beginners, where the guy covers all the changes you'd notice when coming from another programming language.
      Another is the Developing iOS 8 Apps with Swift, done by Stanford University.

      I've been using Swift for a few months now, and I think it's brilliant. Once you know the long-hand version of some of the syntactic sugar they've added, it becomes trivial to develop in. That being said, I find Apple documentation to be about as bad as Oracle's and Microsoft's. The language is easy, the toolkit libraries are vast and sometimes hard to decipher. In addition, being so new it's hard to find good help for specific problems, as most of the answers are in Objective-C.

    9. Re:OK, I'll bite by angel'o'sphere · · Score: 1

      When Sun made Java they said "what would we improve about C++ if we had the chance?".

      Actually they did not, they only questioned themselves how much OO do I need that no one is repelled to use the language.

      The library was quite ok from start on however. Also the easy of making multi threaded programs.

      There are three things missing, proper operator overloading, multiple inheritance (you could easy improve the way C++ is doing it) and true templates.

      If one of the three is lacking, it is not comparable to C++ ... IMHO.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    10. Re:OK, I'll bite by Anonymous Coward · · Score: 0

      Because auto-complete is awesome and doing things like "Something aThing = new Everything();" will limit your auto-complete responses to the proper type while "var aThing = Everything();" won't.

      Compilers used to remove all white space so semicolons were required to keep statements separate. I'll assume that doesn't happen anymore.

    11. Re:OK, I'll bite by jcr · · Score: 1

      Because no one really wants to use Objective-C. Anyone who says they do is a victim of Stockholm Syndrome.

      Fuck you. I used Obj-C for decades, and I still enjoy it. Swift is better and I'm gradually moving over to it, but Obj-C remains a powerful and enjoyable language.

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
    12. Re:OK, I'll bite by drinkypoo · · Score: 2

      Swift says "wait, why do we need semicolons? I mean yeah it used to be that we didn't have great ways of telling lines apart but we've solved that problem now.

      Ah yes, so we trade the problem of the missing semicolon for the problem of going between Windows and some other platform destroying our formatting and making our code into word salad. You know why we're still using semicolons? Because they're still useful. This is just as dumb as using indentation to control program flow, only a different dumb.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    13. Re:OK, I'll bite by Anonymous Coward · · Score: 0

      Scala developer here. Nearly all of their conventions came from other recent languages. I use var and val instead of var and let, but same deal pretty much.

      Swift exists because Apple wanted a modern language that they had control of. It looks like a decent enough language, but the only reasons I could think of to use it are for iOS development or because I already learned it for iOS development and can't be assed to learn another language that's going to be better supported on every other platform. It's not even evolutionary really, just cut and paste.

    14. Re:OK, I'll bite by Anonymous Coward · · Score: 0

      If you're losing line breaks going from one platform to another there's something seriously wrong with your tools. This isn't 1992.

    15. Re:OK, I'll bite by Anonymous Coward · · Score: 0

      by now, everyone autoconverts between the 3 newline formats, only 2 of which are used currently ("\n", "\r", and "\n\r"). That's why semicolons aren't needed anymore.

      Indentation should control flow instead of braces, because people _will_ read indentation instead of braces. But indentation gets f*cked when a combination of "\t" and " " are used. So how about this: any "\t" found outside of a string in the program source is an error. Problem solved.

    16. Re:OK, I'll bite by dev-in-seattle · · Score: 0

      Ah yes, so we trade the problem of the missing semicolon for the problem of going between Windows and some other platform destroying our formatting and making our code into word salad. You know why we're still using semicolons? Because they're still useful. This is just as dumb as using indentation to control program flow, only a different dumb.

      indention is stupid, curly braces are so much better, i hate python for that

    17. Re:OK, I'll bite by dargaud · · Score: 1

      and the compiler in Xcode now shows you all the times when you could use a constant, which is way more often than you realize.

      Interesting. I wonder if gcc/clang can spit out warnings like that for my C programs...

      --
      Non-Linux Penguins ?
    18. Re:OK, I'll bite by dargaud · · Score: 1

      There are three things missing, proper operator overloading

      Oh yeah, when using A=B+C actually calls one of many + overloads, one of many = overloads and may even throw in some type conversion involving other overload functions. Just try to guess what code actually runs and where it is. Good luck. Stuff like that pulled me off C++ in 1995 and I never went back.

      --
      Non-Linux Penguins ?
    19. Re:OK, I'll bite by BasilBrush · · Score: 1

      If your computer can't understand the newlines in a textfile, you need a new computer. Seriously, has anyone had that problem since the 1960s?

    20. Re:OK, I'll bite by BasilBrush · · Score: 1

      Good luck trying to understand a program that hasn't been indented.

      OH! You meant curly braces AND indentation is better than indentation alone. Well that breaks the DRY principle.

      The only problem with indentation only for blocks is cutting and pasting. And that problem is sorted by using an IDE that properly supports python.

    21. Re:OK, I'll bite by angel'o'sphere · · Score: 1

      Well,

      there are only a few options and if you are in desperate need and can't figure what is called:
      place a breakpoint
      run in debug mode
      step into it: here you are in the operator+
      step out of it
      step into next call: here you are in operator= (or in the approbiated ctor if no operator= exists)

      However the most likely case is: "class of A" is implementing operator= and "class of B" is implementing operator+

      So: no luck needed at all. Depending on how long it takes to compile/link/start the code: 5 seconds and I know where the relevant "functions" are.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    22. Re:OK, I'll bite by dargaud · · Score: 1

      Oh yeah, placing breakpoints on any line with any operator is so much easier than reading C code and seeing two aptly named function calls...

      --
      Non-Linux Penguins ?
    23. Re:OK, I'll bite by samkass · · Score: 1

      Can you do tiny embedded projects with it ?

      This is one I'm interested in, actually. The reference Swift compiler implementation uses LLVM as an intermediate layer then uses LLVM's final compiler and linker to generate machine code. The group making the LLVM back-end for AVR (the chip used by the Arduino-compatible ecosystem) is actually in the process of merging their work into mainline LLVM right now. Things could get interesting in the embedded space soon. But I don't know enough about Swift linking to know if small programs would carry a prohibitive library payload or whether it will be practical.

      The answer to most of your questions, though, is "maybe" or "not yet", and "but there's probably someone on the Internet working on it".

      --
      E pluribus unum
    24. Re:OK, I'll bite by angel'o'sphere · · Score: 1

      The functions have names: operator= and operator+
      There is no difference versus calling the function add (A a, B b).
      So what is your point? If you can find the add() function easy, you can find the two operators equally easy.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    25. Re:OK, I'll bite by drinkypoo · · Score: 1

      Good luck trying to understand a program that hasn't been indented.

      You know, you really have no excuse for not knowing that code can be autoindented based on its control flow. You can generate indentation from parentheses and semicolons no matter what happens to your indentation and your line breaks.

      OH! You meant curly braces AND indentation is better than indentation alone.

      I said what I meant, and I meant what I said. Indentation should always be irrelevant to program flow. I should be able to use it artistically if I want, and still have the program execute, because there is always a risk that a format conversion will artistically reimagine my indentation and/or line breaks. Indentation should be a convenience to the programmer, and not relevant in any way to the parser.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    26. Re:OK, I'll bite by Schnapple · · Score: 2

      I used Obj-C for decades, and I still enjoy it.

      I'm real sorry to hear that.

      Seriously though, I may have been a bit harsh, and I only started using Obj-C a few years ago when I got into iOS development but really, while the original version was probably good for its time, the language didn't evolve well (Obj-C 2.0 was very half baked looks like - dot notation works, except for when it doesn't that sort of thing). People fluent with it are like those farmers that just know how to operate the thresher well enough to keep their hands from being chopped off. It's not because the thresher was designed to keep you from chopping your hands off. I guess this is a convoluted "shoot yourself in the foot" analogy but you get what I mean.

    27. Re:OK, I'll bite by Schnapple · · Score: 1

      You know why we're still using semicolons? Because they're still useful

      I should have been more clear before - Swift doesn't need semicolons at the end of every line. But if you want to use semicolons to have multiple statements per line you can. And you can also put semicolons at the end of every line still if you really want to, they're just being ignored by the compiler is all. I occasionally go through and check and sure enough I still sometimes use them at the end of the line.

      But you're right and they are still useful, which is why Swift lets you use them if you really want to. You just won't want to after a while. I was at WWDC when they announced Swift and in the first sessions where they showed the basics of the language and I thought removing semicolons was a bad idea. Now that I've used it for a while I agree with them.

    28. Re:OK, I'll bite by BasilBrush · · Score: 1

      You're confused. You can't decide if indentation is an artistic medium, or something that a machine can simply auto-indent based on structure.

      I should be able to use it artistically if I want, and still have the program execute, because there is always a risk that a format conversion will artistically reimagine my indentation and/or line breaks.

      Which is exactly what computer science would expect when you are repeating yourself. There should be one source of truth, whether it's a database, a function, or an indication of block structure.

      It's clear from your answer that you, like everyone else are not able to follow code that has not been indented. Curly braces do not allow you to see the structure. The compiler follows them, whilst you, like every other human programmer, follow the indentation. This repetition and the lack of a single truth causes bugs.

    29. Re:OK, I'll bite by drinkypoo · · Score: 1

      You're confused. You can't decide if indentation is an artistic medium, or something that a machine can simply auto-indent based on structure.

      You're confused if you think there's a conflict there.

      It's clear from your answer that you, like everyone else are not able to follow code that has not been indented

      That's right. And if I get some code where the indentation has been mangled, I can just run it through indent, and get some indented code out. Unless, of course, it's python. Then it's just fucked.

      Curly braces do not allow you to see the structure. The compiler follows them, whilst you, like every other human programmer, follow the indentation.

      That's correct. And if I want to see what the compiler sees, I simply run the program through one formatting tool (built into most IDEs, of course) and then the problem becomes obvious.

      This repetition and the lack of a single truth causes bugs.

      There is never a single truth, because there are always multiple perspectives. You're seeking something that does not exist, and you're just shifting to different bugs.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    30. Re:OK, I'll bite by dargaud · · Score: 1

      Except that you have NO WAY to know that the operators are overloaded until you see it in the debugger because the behavior is driving you crazy. If it's a function call, well, you know there's a function call.

      --
      Non-Linux Penguins ?
    31. Re:OK, I'll bite by BasilBrush · · Score: 1

      You're confused if you think there's a conflict there.

      The only way you could think that is if painting by numbers is the total extent of your artistic sensibility.

      That's right. And if I get some code where the indentation has been mangled, I can just run it through indent, and get some indented code out. Unless, of course, it's python. Then it's just fucked.

      And if you get some text where braces have been mangled by indentation is intact, you're equally fucked in c like languages.

      That's correct. And if I want to see what the compiler sees, I simply run the program through one formatting tool (built into most IDEs, of course) and then the problem becomes obvious.

      i.e. you need a tool to show you the contradictions between two different truths. You just don't understand that DRY is the problem you're running the tool to fix.

      There is never a single truth, because there are always multiple perspectives. You're seeking something that does not exist, and you're just shifting to different bugs.

      You only think that because you don't program in python. Python has the single truth for marking blocks.

      (Well, bar the one mistake Guido made of not mandating either tab or space indentation. That *is* a problem of python, and lets down the one truth principle. But it's not a problem with the concept of block structure by indentation.)

    32. Re:OK, I'll bite by jcr · · Score: 1

      I only started using Obj-C a few years ago

      Yeah, we all heard the bitching from the iOS newbies. I especially remember all the "why can't we just use Java or C++" whining.

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
    33. Re:OK, I'll bite by angel'o'sphere · · Score: 1

      Sorry, you must be a pretty bad programmer.

      If the a, b and c involved are no basic double, int etc data types, you always know that the operator in question must be over loaded.

      As a free hint, rofl: you can not overload operators for build in data types.

      So: again, before you make yourself un-hireable because of your stupid /. posts regarding C++ and operator overloading: what is your damn problem?

      I gladly come over to your place and "mentor" you ... hence the name in my domain.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    34. Re:OK, I'll bite by Schnapple · · Score: 1

      Yeah to me the biggest thing was the memory management. I've done some C/C++ stuff but most of my stuff was C# up until then. That wasn't the issue, the issue was that these devices didn't have much RAM, especially Android's Dalvik VM thing on the multiplatform project I was working on. That was a big shift backwards but I managed. I was almost disappointed when Apple figured out ARC since now some of that newfound skill was going away.

    35. Re:OK, I'll bite by dargaud · · Score: 1

      In short my problem is reading other people's code when they use tons of tricks like that. My own code works fine thank you (and in some cases has been running non-stop since 1993).

      --
      Non-Linux Penguins ?
    36. Re:OK, I'll bite by jcr · · Score: 1

      the biggest thing was the memory management. h

      Manual retain/release is something that you should have been able to fully understand after a day or two. A week if you were particularly slow.

      most of my stuff was C# up until then

      Ahh... Never mind.

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
    37. Re:OK, I'll bite by drinkypoo · · Score: 1

      I should have been more clear before - Swift doesn't need semicolons at the end of every line. But if you want to use semicolons to have multiple statements per line you can. And you can also put semicolons at the end of every line still if you really want to, they're just being ignored by the compiler is all. I occasionally go through and check and sure enough I still sometimes use them at the end of the line.

      Sigh. That's horrible. Now, if you accidentally hit enter in the middle of a line someplace, it becomes two statements. And the IDE will auto-indent the second line, so it won't be obvious where you broke it.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    38. Re:OK, I'll bite by Anonymous Coward · · Score: 0

      Indentation (what people have been doing since C Programming was a thing, since BASIC became a structured language (QuickBASIC, Turbo BASIC, etc.), and since Pascal saw widespread use back in the day (Apple used to use it for Mac development) is a great thing.

      Forced/Mandated Indentation like Python, Older Fortran, or COBOL is not - and creates a new class of potential error points when coding.

      Yes, modern IDEs can, to a [arguably great] degree, automatically format the source code. But it's still a PITA.

      Also, the style in which the source code is written is often subjective. Forcing it by making whitespace relevant is not great, IMO.

      I do think Symbols or Words denoting the beginning and end of blocks is a good thing. Code is read more than it is written.

      I think Begin/End and If/End If is superior to if ( ...) { ... }, though. It's much more readable.

      I prefer verbose programming languages. VB and C# both do much of the same things, but I can show my mother some VB code and she can read half of it like it's English sentences. That is advantageous when reading and tracing code, at least for me (personally).

    39. Re:OK, I'll bite by Anonymous Coward · · Score: 0

      Microsoft's Documentation is not bad. Furthermore, Microsoft has a metric ton of resources over at Channel 9 and there Developer Portals. There isn't even a basis for comparison between the wealth of "Documentation" Microsoft has for their Developer Products (Languages, Tooling, and Frameworks) and Apple's.

      I don't see how Swift is any more brilliant than any other language. It's still less readable than Language like Visual Basic (by a wide margin) and Delphi, while not really providing any additional power (that was always the trade-off with C and C++) compared to them. It's just terse cause it's fashionable. It's just another programming language. Apple developed it, so of course there's a ton of people proclaiming it's brilliance - I don't mean that negatively, that is simply how things work in the tech world these days.

      I also think C++ isn't that bad when taught (or studied, for self-study) properly. A big issue with people self-studying C++ is that a majority of C++ books teach "C with Classes" and not Standard C++ (which should be taught as its own distinct programming language). This results with people being both poor C programming on top of very poor C++ programmers - not even novice level on either count, unless they're very determined and supplement this with good self-study. That's an issue that you do not run into with C#, VB, Delphi, or [when you can get a book that isn't out of date with 40 pages of Errata on some website] Swift. Objective-C also runs into the same issue, which is why there's only one decent book available for people learning it from scratch on the market ("Programming in Objective-C"). Everything else for Swift and Objective-C is either out of date or extremely biased to specific OSes (usually iOS/iPhone-focused).

      In any case, software development is less about syntax and more about understanding the concepts, which have nothing to do with the actual code or the format of that code... Some languages are better suited to certain tasks than others, but clear cut better/worse debates are useless beyond that (I would not argue that Delphi is good a systems programming language as C or C++, for example, cause it's not and the latter were designed for that purpose).

      People who do not understand OOP won't be able to write decent software even if they use a self-documenting language like Visual Basic [.NET] or Object Pascal (Delphi). Even if they're fluent in Swift Syntax. What you need to develop software goes well beyond the syntax of the language, which is why we have a gazillion languages out there right now. What Syntax you choose is a personal decision, so I find it odd that so many people are willing to go so far to defend or shit on specific languages in some attempt to peddle their favorites (though I guess these people may feel like they have to push it so that it actually grows a decent ecosystem outside of Apple's platforms... so they can indirectly benefit (more Mac Software/Developers/Talent, More iOS Developers/Talent, etc.).

      The Syntax is the easy part. The "How" and the "Why" are a lot more difficult to grasp than the "What."

      Swift will thrive simply because it's Apple's language for their systems - this is no different than C#, which is a Standardized Language thriving even though it used primarily on Windows.

      However, I won't be using it, as I personally don't see any point for its existence outside of the fact that they went with Objective-C when they probably should have gone with C++ to begin with.

      I don't see a point in learning a language like Swift when I can learn a language that gives me a bit more flexibility in use than Swift (Web, Mobile, Desktop, Linux, Windows, Mac, etc.). That is just my opinion.

    40. Re:OK, I'll bite by angel'o'sphere · · Score: 1

      But overloading operators is not a trick.
      The operators clearly say what they are doing.

      If I had one who uses function names where operators are available, e.g. in a math library, e.g. the standard example is complex numbers or matrices: I would stand with a whip behind him until he has finished rewriting all code to use proper operators.

      I get eye cancer and brain damage when I read bullshit like this a = div(mult(add(c,b),5),pi);

      It is beyond me why anyone would favour that over proper operator overloading.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  20. As history would have it by MouseR · · Score: 2

    Let the forking begin

  21. not at all. Microsoft .doc, Oracle by raymorris · · Score: 2

    A file format is specification, yet you'll find that for 20 years all the Microsoft Office file formats were closed and patented.

    Oracle argued that not only is a programming language proprietary, but even the specification of the environment which the language requires to run is proprietary. Microsoft may have done the same with COM at one point.

  22. Fastest Growing by Dan+East · · Score: 3, Interesting

    After Apple unveiled the Swift programming language, it quickly became one of the fastest growing languages in history.

    This is a pretty meaningless claim. Although Objective-C was not Apple's creation, they adopted it as the formal language for developing for their platforms. For all intents and purposes (99.9% of code), Objective-C is proprietary to Apple's walled garden. Apple decided to replace Objective-C with Swift, and thus it is no surprise that a large number of developers switched relatively quickly. In the greater scheme of things (IE outside of OSX or iOS development) Swift might as well not even exist.

    --
    Better known as 318230.
  23. Finally. by marklark · · Score: 1

    :^)

  24. What the heck are they doing ? by ImranAhmed · · Score: 1

    Trying to be the next Microsoft with all this open sourciness ????

    1. Re:What the heck are they doing ? by HiThere · · Score: 1

      Apple may be more serious about it. After all, they are mainly a hardware company.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    2. Re:What the heck are they doing ? by UnknowingFool · · Score: 1

      Er? Apple has done a lot of work with open source software. WebKit which has been the foundation of Safari, Chrome, and Konqueror to name a few is open source. LLVM/Clang, OpenCL, Bonjour/Zeroconf are other examples.

      --
      Well, there's spam egg sausage and spam, that's not got much spam in it.
    3. Re:What the heck are they doing ? by Anonymous Coward · · Score: 0

      Webkit? You mean the fork of the GPL KHTML? The GPL license that requires them to release the source? Wow, how generous of them.

    4. Re:What the heck are they doing ? by Anonymous Coward · · Score: 0

      Konqueror's engine: khtml is the foundation of webkit not the other way around.

    5. Re:What the heck are they doing ? by UnknowingFool · · Score: 1

      You are aware that Apple chose to use KHTML and fork it, right? They didn't create their own proprietary browser (Internet Explorer, Opera, etc). You also took one example and promptly ignored the other examples. Apple didn't have to create and release LLVM/Clang, OpenCL or Bonjour.

      --
      Well, there's spam egg sausage and spam, that's not got much spam in it.
    6. Re:What the heck are they doing ? by UnknowingFool · · Score: 1

      KHTML was the foundation of Konqueror initially; however, today's Konqueror can and does use WebKit in different places because, from what I know, KHTML development is pretty much dead with the last stable release in 2009. But back when KHTML was still actively developed, it backported a lot of WebKit functionality. The main developers complained about Apple developers submitting so many changes to the code tree without much documentation that the KHTML developers were overwhelmed.

      --
      Well, there's spam egg sausage and spam, that's not got much spam in it.
    7. Re:What the heck are they doing ? by Anonymous Coward · · Score: 0

      Of course they "work with" open source. Everyone does. It's just extremely rare that they actually open source something they created, like Swift.

      Webkit: They didn't create it.
      LLVM: They didn't create it.
      Clang: Yes, created and open sourced.
      OpenCL: They didn't create it.
      Bonjour: They didn't open source it.

    8. Re:What the heck are they doing ? by Eric+Abbott · · Score: 1

      If you think that Apple is a hardware company, you do not really understand Apple: "People who are really serious about software should make their own hardware." Alan Kay, 1980.

    9. Re:What the heck are they doing ? by UnknowingFool · · Score: 1

      OpenCL: They didn't create it

      Factually incorrect. "OpenCL was initially developed by Apple Inc., which holds trademark rights, and refined into an initial proposal in collaboration with technical teams at AMD, IBM, Qualcomm, Intel, and Nvidia. Apple submitted this initial proposal to the Khronos Group."

      Bonjour: They didn't open source it.

      Also factually incorrect "The Avahi project started in 2004 because Apple's Zeroconf implementation, Bonjour, used the GPL-incompatible Apple Public Source License. In 2006 Apple relicensed parts of Bonjour under the Apache License."

      And these are just the examples I mentioned. There are probably more if you look but thanks for playing.

      --
      Well, there's spam egg sausage and spam, that's not got much spam in it.
  25. Re:Swift is for LUDDITES. by BronsCon · · Score: 1

    so, cows go APP now?

    --
    APK quotes people (including myself) without context and should not be trusted. Just thought you should know.
  26. GNUstep/Swift by Anonymous Coward · · Score: 0

    My efforts to integrate it as promised months ago will start tonight. :)

    GC

  27. Which is why we have public roads... by Brannon · · Score: 1

    Are you saying that we should nationalize Apple?

  28. Copyright in interface vs. implementation by tepples · · Score: 1

    The GNU mentality assumes that interfaces are public domain and implementations are copyrighted but licensed under a free software license. GNU, for example, is a copylefted implementation of the POSIX interface. The new wrinkle in Oracle is copyright in the interface itself.

  29. What by Big+Hairy+Ian · · Score: 1

    the best general purpose programming language

    Surely that's a matter for conjecture even among Apple Acolytes

    --

    Build a Man a Fire, and He'll Be Warm for a Day. Set a Man on Fire, and He'll Be Warm for the Rest of His Life.