Slashdot Mirror


Author of Swift Language Chris Lattner is Leaving Apple; We're Interviewing Him (Ask a Question!) (swift.org)

Software developer Chris Lattner, who is the main author of LLVM as well as Apple's Swift programming language, is leaving Apple, he said today. From a post: When we made Swift open source and launched Swift.org we put a lot of effort into defining a strong community structure. This structure has enabled Apple and the amazingly vibrant Swift community to work together to evolve Swift into a powerful, mature language powering software used by hundreds of millions of people. I'm happy to announce that Ted Kremenek will be taking over for me as "Project Lead" for the Swift project, managing the administrative and leadership responsibility for Swift.org. This recognizes the incredible effort he has already been putting into the project, and reflects a decision I've made to leave Apple later this month to pursue an opportunity in another space. We're delighted to share that we are interviewing Lattner, who says he's a "long-time reader/fan of Slashdot." Please leave your question in the comments section. Lattner says he'll talk about "open source (llvm/clang/swift/etc) or personal topics," but has requested that we do not ask him about Apple, which is understandable.

Update: Lattner is joining Tesla.

339 comments

  1. Is it because ... by Hognoxious · · Score: 5, Funny

    Is it because you like headphone jacks?

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    1. Re:Is it because ... by Anonymous Coward · · Score: 0

      How dare you impugn his courage!

    2. Re:Is it because ... by Anonymous Coward · · Score: 0

      In other words, is it because you lack courage?

    3. Re:Is it because ... by TheFakeTimCook · · Score: 1

      Nah. His anus needed a break from all the butt pounding going on at the team building sessions that were held at gay bathhouses.

      Way to show him how mature and erudite Slashdotters are.

      But I guess, as a Slashdot reader himself, he already knows that...

  2. Needs As A Developer by Anonymous Coward · · Score: 0

    Would you be able to Taylor Swift to my needs?

    1. Re:Needs As A Developer by darkain · · Score: 1

      I believe THIS is the Swift you're looking for? https://twitter.com/SwiftOnSec...

  3. Cross-platform by psergiu · · Score: 4

    How cross-platform is Swift ?
    Are the GUI libraries platform-dependent or independent ?
    I.E: can i write a single Swift program with a GUI that will compile, work the same and look similar on multiple platforms: Linux, Mac OS, Real Unix-es & BSDs, AIX, Windows ?

    --
    1% APY, No fees, Online Bank https://captl1.co/2uIErYq Don't let your $$$ sit in a no-interest acct.
    1. Re:Cross-platform by Anonymous Coward · · Score: 1

      None of Apple's GUI libraries are open source or cross platform and they never will be.

    2. Re:Cross-platform by shmlco · · Score: 4, Informative

      Swift is an open-source cross-platform language (there's even a Linux server version), but the Cocoa and Cocoa Touch APIs on OS X and iOS are platform specific.

      --
      Any sect, cult, or religion will legislate its creed into law if it acquires the political power to do so.
    3. Re:Cross-platform by psergiu · · Score: 1

      Not asking about the Apple GUI ones.
      Just curious if there's a generic one (like Qt, or Swing) or at least a plan to have one in the future.

      --
      1% APY, No fees, Online Bank https://captl1.co/2uIErYq Don't let your $$$ sit in a no-interest acct.
    4. Re:Cross-platform by Anonymous Coward · · Score: 0

      No. Apple has no plans to make a generic UI library. Doesn't stop someone else from doing so or making Swift bindings for Qt or GTK as there are for numerous other languages.

    5. Re:Cross-platform by Desler · · Score: 1

      Why would Swift need a separate UI library? Just create language bindings for an existing UI toolkit as is done for plenty of other languages.

    6. Re: Cross-platform by Anonymous Coward · · Score: 0

      Maybe there'll be GTK+ bindings in the future. That's cross platform, and should work on Linux, macOS, Windows, and any up-to-date Unix.

    7. Re:Cross-platform by shmlco · · Score: 1

      There are, in fact, several GitHub projects where people are experimenting with Qt and GTK.

      --
      Any sect, cult, or religion will legislate its creed into law if it acquires the political power to do so.
    8. Re:Cross-platform by fred6666 · · Score: 1

      Is there a single swift program actually being used by more than 2 people in a basement which is NOT using these Apple APIs?

    9. Re:Cross-platform by keltor · · Score: 1

      There's already a bunch of people looking at swift for server side, virtually 100% of those are only looking at Linux as their platform.

    10. Re:Cross-platform by fred6666 · · Score: 1

      Looking at? That doesn't answer my question. Is it being used for something else than a toy? And why? If I were to develop a Linux server application, Swift wouldn't even be in my top 10 language choice.

    11. Re: Cross-platform by Anonymous Coward · · Score: 0

      It's performant and offers a high degree of correctness through its type system. Also swift is generally very easy to refactor as time goes.

      Plus thanks to the obj-c bridging being first class it's very easy to hook into C for performance when it's critical.

    12. Re:Cross-platform by Anonymous Coward · · Score: 0

      What does Cocoa and Cocoa Touch have to do with Swift at all?

      Do you consider GDI32, GTK etc part of C?

    13. Re: Cross-platform by Anonymous Coward · · Score: 0

      Swift is stupid and ugly, that's why. And I'm talking about their language.

      No direct C++ interop, stupid confusing optionals, never ending spec updates and deprecation... Fuck you Chris Lattner

    14. Re: Cross-platform by Anonymous Coward · · Score: 1

      Tell that to pissed revs who have to deal with never ending depreciations in Swift.

      I hate to disillusion you, but Swift is in fact more confusing and convoluted to read than the ubiquitous C++.

    15. Re:Cross-platform by TheRaven64 · · Score: 2

      GNUstep has an implementation of the core GUI frameworks (AppKit and a few others), but the open source version of Swift doesn't have Objective-C interop, which is really the only compelling feature for Swift: it's a good incremental language if you have a lot of legacy Objective-C code.

      --
      I am TheRaven on Soylent News
    16. Re:Cross-platform by jellomizer · · Score: 1

      That doesn't mean you can make a cross platform wrapper that will interact with the is GUI API using the same commands.
      So if I were to say.
      LINE (10, 10, 500,10,#FF0000 )
      It would draw a horizontal red line 490 pixels.
      Now this would require different API calls on different systems. But you translate that command to the different OS. That is what java does.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    17. Re: Cross-platform by jeremyp · · Score: 1

      If you find optionals confusing, I suggest you do something different to programming.

      --
      All I want is a secure system where it's easy to do anything I want. Is that too much to ask ~~ Randall Munroe
    18. Re: Cross-platform by Anonymous Coward · · Score: 0

      You obviously know what you are talking about but I'd have thought it'd be trivial to interface the open source version of Swift with GNUstep.
      Well, at least they stopped desecrating Objective-C with Java syntax.
      IMHO, although it's sad they completely removed the dynamic aspect of ObjC, swift is the best of all the toy languages. I was comfortable using it to write a full program right away and I do mostly embedded C. The only downside is that it is a bit of an NP-hard problem to decide whether a correct program will compile after adding a line break.

    19. Re:Cross-platform by tigersha · · Score: 1

      That works really well, yeah...not.

      Swing works in principle, but a Java app always looks loke a Java app, which is a bit...different. That said, have written quite a few Swing apps in my life.

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
    20. Re: Cross-platform by tigersha · · Score: 1

      Chris Lattner has a wife, I am pretty sure he does not want to fuck you. But if the features are so compelling that you want to have sex with him, they can't be all that bad, no?

      Also, ruby, Java, Python and, em, pretty much no other language have direct C++ interop. C, sure. C++, not often.

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
    21. Re: Cross-platform by TheRaven64 · · Score: 2

      I'd have thought it'd be trivial to interface the open source version of Swift with GNUstep

      Unlike Clang, the Swift compiler doesn't have very clean interfaces for abstracting the different Objective-C implementations (clang does because I wrote them, before Apple added support for their runtime). Instead, when you build Swift, you have a bunch of #ifdef __APPLE__ things that turn off the Objective-C interop for non-Apple platforms. This also means some quite big ABI changes, for example the Swift CoreFoundation implementation has different object layouts to the ones that Apple uses and the way that casts are handled in Swift is different if Swift objects are allowed to secretly be Objective-C objects.

      Well, at least they stopped desecrating Objective-C with Java syntax.

      Since Steve Naroff left, I don't think anyone on Apple's toolchain team has really understood what made Objective-C good: a simple and clear object model, orthogonal syntax, and good C/C++ interop.

      IMHO, although it's sad they completely removed the dynamic aspect of ObjC, swift is the best of all the toy languages. I was comfortable using it to write a full program right away and I do mostly embedded C. The only downside is that it is a bit of an NP-hard problem to decide whether a correct program will compile after adding a line break.

      The hard problems in designing a modern programming language are concurrency, security, and error handling. Swift didn't even really try to address any of these (they've now added a few approaches to error handling, but it needed to be baked into the language and consistently applied throughout the standard library from day one). As such, I don't really see it as a language for the 21st century. It gives me similar abstractions to C++ (which, since C++11, has gone from being a horrible language to being a tolerable one), yet with less widespread support and worse performance.

      --
      I am TheRaven on Soylent News
    22. Re: Cross-platform by Anonymous Coward · · Score: 0

      To be fair, if the original poster was trying to understand Optional from the myriad useless monad "tutorials" on the internet, I can totally understand his or her angst.

    23. Re:Cross-platform by TheFakeTimCook · · Score: 0

      How cross-platform is Swift ? Are the GUI libraries platform-dependent or independent ? I.E: can i write a single Swift program with a GUI that will compile, work the same and look similar on multiple platforms: Linux, Mac OS, Real Unix-es & BSDs, AIX, Windows ?

      Are you implying that macOS is NOT a "Real Unix/BSD"?

      You know, of course, you're doing nothing but showing your Apple Hate, AND your monumental ignorance, right?

      Oh, I forgot: You're a typical Slashdotter.

    24. Re: Cross-platform by TheFakeTimCook · · Score: 1

      Swift is stupid and ugly, that's why. And I'm talking about their language.

      No direct C++ interop, stupid confusing optionals, never ending spec updates and deprecation... Fuck you Chris Lattner

      Again, Slashdotters show their debate skills...

    25. Re: Cross-platform by TheFakeTimCook · · Score: 1

      Chris Lattner has a wife, I am pretty sure he does not want to fuck you. But if the features are so compelling that you want to have sex with him, they can't be all that bad, no?

      Also, ruby, Java, Python and, em, pretty much no other language have direct C++ interop. C, sure. C++, not often.

      That's because C++ is an absolute JOKE of a "Language". Created SPECIFICALLY to be hopelessly complex and wasteful.

      Seriously. It's the worst of the worst, and considering the other horrible languages it has to "compete" with, that's saying something.

    26. Re: Cross-platform by kpainter · · Score: 2

      Compared to Objective C, it is a thing of beauty.

    27. Re:Cross-platform by Anonymous Coward · · Score: 0

      "Real" UNIX, i.e. UNIX from AT&T, doesn't exist anymore.

      All the currently available UNIXes are forks and clones.

    28. Re: Cross-platform by Anonymous Coward · · Score: 0

      Really, not confusing? Having like 10 different types of optionals and optional use cases and last minute spec updates to make them work for basic pointer ops, effectively just a shared_ptr in C++.

      Yeah, I see you've "learned" your kindergarten Swift and ready for system programming.

    29. Re: Cross-platform by Anonymous Coward · · Score: 0

      Maybe you should go back to school, you imbecile. You are embarrassing yourself and your god apple.

    30. Re: Cross-platform by Ixpath · · Score: 1

      IBM has been pushing it pretty hard. Just google IBM and swift.

    31. Re: Cross-platform by Anonymous Coward · · Score: 0

      Thanks for the reply!

  4. C# by Anonymous Coward · · Score: 5, Interesting

    What do you think about Microsoft and C# versus the merits of Swift?

    1. Re:C# by EMB+Numbers · · Score: 1

      I love C#. It is my favorite programming environment. However, C#, like Java, is wedded to a virtual machine with Just In Time compilation. It was a deliberate and usually sensible design choice.

      Swift, in contrast, compiles to native machine code. That too was a deliberate and sensible design choice. Swift can theoretically be a "systems programming" languages as in, "You can write operating systems with it.". C# is not suitable (as it is) for systems programming because C# programs generally do not interact with real hardware. They interact with virtual hardware.

      In the vast majority of cases, I find use C# or Swift more or less equal with an aesthetic preference for C#. There are a few cases where Swift is suitable that C# is not.

    2. Re:C# by hcs_$reboot · · Score: 1

      What do you think about Microsoft and C# versus the merits of Swift?

      Is it:

      What do you think about (Microsoft) and (C#)

      or

      What do you think about (Microsoft and C#)?

      --
      Slashdot, fix the reply notifications... You won't get away with it...
    3. Re:C# by Kawahee · · Score: 1
      --
      I'll subscribe to Slashdot when I see a month without a dupe, a typo, or an article the "editors" didn't read.
    4. Re:C# by Anonymous Coward · · Score: 0

      Obviously, it is

      What do you think about ((Microsoft) and(C(#)))?

  5. Why are strings passed by value? by Anonymous Coward · · Score: 4, Interesting

    Strings are immutable pass-by-reference objects in most modern languages. Why did you make this decision?

    1. Re:Why are strings passed by value? by Anonymous Coward · · Score: 1

      Value semantics in Swift are very efficient, as values that don't change are never actually copied.

    2. Re: Why are strings passed by value? by Anonymous Coward · · Score: 0

      I believe it's because they can be managed more efficiently, they use the stack as opposed to heap.

    3. Re:Why are strings passed by value? by shmlco · · Score: 5, Informative

      In Swift arrays, dictionaries and strings are structures with value-semantics. As to why, well, to quote the Swift language reference manual: "One of the primary reasons to choose value types over reference types is the ability to more easily reason about your code. If you always get a unique, copied instance, you can trust that no other part of your app is changing the data under the covers. "

      Behind the scenes, however, structures (including strings) are passed by pointer. Swift then uses copy on write so that the objects are completely copied only if and when the program attempts to change a value in them.

      As such, a string parameter to a function has value semantics, but it behaves as if it's an immutable pass-by-reference object from a performance standpoint. Kind of the best of both worlds.

      An exception would be a parameter specified as inout. (e.g. func f(s:inout String) )

      --
      Any sect, cult, or religion will legislate its creed into law if it acquires the political power to do so.
    4. Re:Why are strings passed by value? by Anonymous Coward · · Score: 0

      So like Java. Suxors Lux! Best of both worlds if your world view is full of shit!

    5. Re:Why are strings passed by value? by michelcolman · · Score: 2

      What if you pass a string to a function, and a different thread then changes the original string? Does that also copy on write? Or does the function suddenly see the string change?

      (Thread A and thread B both have access to the same string S, B passes S to function F, function F reads S, thread A changes S, function F reads S again)

    6. Re:Why are strings passed by value? by Anonymous Coward · · Score: 0

      (Thread A and thread B both have access to the same string S, B passes S to function F, function F reads S, thread A changes S, function F reads S again)

      A makes a copy of S called R.
      B reads S.

    7. Re:Why are strings passed by value? by Anonymous Coward · · Score: 0

      Did you make any effort at all to find out? I googled "swift copy on write threads", and this is the second hit.

      TL;DR: they work fine with threads.

    8. Re:Why are strings passed by value? by Anonymous Coward · · Score: 0
      I am taking the liberty of fixing your poorly punctuated sentence here, because you don't know how to grammar:

      In Swift arrays, dictionaries and strings are structures with value-semantics.

      What you meant to write was:

      In Swift, arrays, dictionaries, and strings are structures with value-semantics.

      The rest of your post was great, though.

    9. Re:Why are strings passed by value? by MassacrE · · Score: 1

      Swift strings are value types, just like C++ or C#. The value type contains a reference to the string text. (Ok, libc++ in llvm will actually tag the pointers on 64 bit platforms to stuff small strings *into* the struct directly, but I digress)

      Swift strings are copy on write, where the reference count is used to determine if you possess a unique reference to the string before mutation. This is similar to how libstdc++ works, or at least used to work.

      I believe C++ libraries have been migrating away from CoW strings because of the atomicity costs of the reference counting. Swift, maintaining compatibility with Objective C, already needed to have support for ref-counted strings.

      So it was a different trade-off - the ref-counted Swift strings can be bridged to Objective C, while a non-reference-counted string would need to be copied. If they make the decision to have reference counted strings to make the interoperability faster, then they might as well add CoW support to make them more efficient/faster in other cases.

    10. Re:Why are strings passed by value? by MassacrE · · Score: 1

      value types are always passed by copying. An inout parameter means "copy to pass in, copy to pass out, assign to original variable" - but the compiler is free to optimize that.

    11. Re:Why are strings passed by value? by fbartho · · Score: 1

      Structurally, you have to jump through hoops to explicitly see that mutation occur (using types that don't support copy-on-write, aka not String). So answering your question, structurally, you're rarely mutating the string in place, unless the code can be certain that it's uniquely referenced. Since you aren't mutating in place, any other threads with a reference, end up still pointing at the static previous data.

      In your example: thread A wouldn't successfully change S. instead, it would create S-prime, and thread B would still be pointing at S.

      In the code though, thread A can have syntactically nice methods that look like they're mutating, but they only actually mutate the same memory, if it's uniquely referenced. If it's not uniquely referenced, the underlying system performs the copy-on-write, before then mutating the new, uniquely referenced object.

      --
      Gravity Sucks
  6. What do you think of /. by Anonymous Coward · · Score: 1

    Has it become a shell of what it once was?

    Do you view SWIFT as a replacement or compliment to obj-c?

    1. Re:What do you think of /. by shmlco · · Score: 2

      Our shop has done several major projects in Swift, and (despite the pain thus far in migrating from, say, 2.2 to 3,0) will continue to recommend to our clients that all new development be done in Swift.

      One of the major talking points that seems to be holding up is that Swift code seems to have about half to a third the bugs found in a typical Obj-C program.

      The one thing I miss from Obj-C is a good built-in implementation of KVO for Swift object and structs.

      --
      Any sect, cult, or religion will legislate its creed into law if it acquires the political power to do so.
    2. Re: What do you think of /. by Anonymous Coward · · Score: 0

      C++ libraries?? What kind of devs are you?

      No interop == shitty performance and super ugly code with wrappers.

  7. Libreboot by Anonymous Coward · · Score: 0, Offtopic

    What are your thoughts on Libreboot and the recent controversy involving the Free Software Foundation?

  8. How much of Swift is Based on Groovy? by Anonymous Coward · · Score: 3, Interesting

    Its been commented on that Swift tutorials look IDENTICAL to Groovy tutorials to the point that you even use the same variable names in examples (http://glaforge.appspot.com/article/apple-s-swift-programming-language-inspired-by-groovy). When created a Python to Swift converter, I responded 'wouldn't it have been easier to do a 'Swift to Groovy' converter??? To which developers replied, well naturally.

    So how much of Swift was inspired by Groovy? Both come from more high-end language and look and act almost identical.

  9. Question by Anonymous Coward · · Score: 0

    Do you actually believe any of this?

    1. Re:Question by ilsaloving · · Score: 1

      Elaborate?

    2. Re:Question by Anonymous Coward · · Score: 0

      1. Name someone who has led a company the size of Apple.
      2. Their laptops & iMacs have no peer.
      3. Why would Apple care about non-Apple hardware. They've answered that question.
      4. They make 1% of the money from pro users. That's not myopic.

      You're a highly biased troll. Of course he won't respond to you.

    3. Re:Question by Anonymous Coward · · Score: 0

      1. Steve Jobs (he's dead, but your question make it sound as if nobody was ever able to do it)
      2. They have lots of peers, usually at much lower prices. Yes there is a lot of crap out there, but Apple's hardware certainly does not warrant the prices they are asking for.
      3. Apple should care whether or not developers are abandoning their platforms. Without devs, they will die.
      4. Same answer as #3, without the pro users, they will become a fisher-price-toys company - a lof of people think this has already started.

    4. Re:Question by Anonymous Coward · · Score: 0

      1. Apple sales were half of what they are now when Jobs died, so no.
      2. Crap means not a peer. Any 10 hr battery, small form, UHD laptops? Any 5k desktops? Nope.
      3. Apple has paid out $20,000,000,000 to devs. In 2016 alone. They're not abandoning.
      4. Pro users haven't been a significant market for them in more than half a decade. During which they've quadrupled growth.

    5. Re:Question by SuperKendall · · Score: 1

      The one thing Apple does need to be careful of is that that while the pro market is small, it is a super-important subset - developers that develop iOS and Mac applications! Since you have to use Apple hardware for that, you would very much like powerful hardware to do so... hopefully we see the desktop updates rather soon and they ease some of the pent up demand for power powerful systems.

      I think the laptops Apple is making are about as powerful overall for development as it's realistic to make them at the moment, mostly because of Intel. You can't just go Razor level balls-out crazy with hardware, even for devs you need a balance between power and battery and (especially still for laptops), portability.

      --
      "There is more worth loving than we have strength to love." - Brian Jay Stanley
    6. Re:Question by Anonymous Coward · · Score: 0

      For software development, you need CPU power and a fast disk (for compiling software) as well as a big screen (or multiple big screens). Both the MacBook Pro with external displays and the iMac 27" are more than adequate for software development.

      The Mac Pro only adds GPU power, which is only a requirement for advanced 3D graphics, i.e. games, VR and similar tasks, as well as some advanced number crunching applications.

    7. Re:Question by ranton · · Score: 1

      2. Crap means not a peer. Any 10 hr battery, small form, UHD laptops? Any 5k desktops? Nope.

      Apple is a great company making great products, but they certainly have peers.

      Macbooks cannot touch Levono ThinkPads when it comes to battery life, and in the same form factor the Surface Book and Dell XPS 13 also have the same battery life as a Macbook Pro.

      If you care about a ridiculously high resolution desktop, you can always buy an overpriced monitor. Microsoft makes a 4500x3000 resolution all in one computer if that really matters to you. I'm typing this on my pedestrian 3440 x 1440 monitor and I'm plenty happy with this low resolution.

      Face it, Apple makes great products but so do plenty of other companies.

      --
      -- All that is necessary for the triumph of evil is that good men do nothing. -- Edmund Burke
  10. What hardware is used for workstations at apple? by Joe_Dragon · · Score: 2, Interesting

    What hardware is used for workstations at apple?

    Mac pro's?

    Mac pro's with non apple cpu upgrades?

    Imac's?

    Laptops?

  11. Swift libraries by Anonymous Coward · · Score: 0

    Currently, when I create a iOS app, Swift libraries are copied into the bundle. Any idea when the Swift libraries will be bundled with the operating system and not within the app?

    This creates a problem with developers who want to distribute third party frameworks and also increases app size.

    I much appreciated your work with Swift. Cheers!

    1. Re:Swift libraries by EMB+Numbers · · Score: 2

      Possibly copying libraries into each App bundle on iOS sidesteps one of Android's key security issues: Any exploitable flaw in any shared library potentially enables privilege escalation and destroys any utility or protection from Android's "every app has its own user id" paradigm of security. Android's sandboxes aren't... for that reason among others.

      In contrast, iOS uses hardware virtualization capabilities of ARM processors to more truly sandbox apps. An app can gain root permissions and still not be able to mess around outside of its sandbox.

    2. Re:Swift libraries by dgatwood · · Score: 3, Interesting

      Flaws in shared libraries can't enable privilege escalation in any operating system that I'm aware of except possibly some of those really old, pre-MMU mainframe operating systems. In modern OSes, shared library code runs in the same environment privilege-wise as the rest of the code in the app.

      In fact, quite the opposite. Copying libraries introduces one of Windows's key security flaws: Any exploitable bug in a shared library is only truly fixed after every single app that provides a copy of that library gets updated to include a new version of that library. From a security perspective, providing multiple copies of a framework or library is generally seen as very, very bad.

      Of course, the reason for it in this case was that the library was evolving quickly, and apps would get built against different versions. By including it in the app, you can run apps compiled against newer versions of the Swift library on older versions of the OS that lacked that version (or any version) of the library. IMO, what's really needed is a systemwide mechanism for downloading updated versions of these shared libraries in such a way that they get automatically kept up-to-date, but that's a much more complex solution than just including a copy of the framework in each app. Alternatively, I'd settle for block-level deduplication in iOS, but again....

      Perhaps now that things have settled down a bit, they can move it into /S/L/Frameworks.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    3. Re:Swift libraries by Anonymous Coward · · Score: 0

      I was under the impression Swift 3 finalized the interface and at some point it would be moved to system frameworks. Since its not gives indication of the non mature status of Swift 3.

      Sadly, having the principle lead depart Apple now does give me the chum in the water feeling.

    4. Re:Swift libraries by Anonymous Coward · · Score: 0

      I always find interesting the lengths we go to make our software secure.

      Making those shared libraries global means that security flaws can be patched, sure. But updating a library then means you're running untested software. The developer didn't have that library when he was writing the program, so you have no guarantee at all that you are not introducing massive bugs in the software, security-related or otherwise. For all you know, the new software you've produced may not even run at all.

      For many security-oriented engineers, software that won't start is better than software with a security flaw. From the user's point of view, this security is not about your front door security: nobody is going to enter their house, beat you and run away with your money. On the other hand, your presentation program will crash due to an automatic OS update the morning of your career-changing meeting.

      IMHO shared libraries should be keep to a minimum, nothing more than OS services and shared GUI. Make every other thing static for the user and dynamic for the developer (so when I build a new version of my software, the latest bug-fixed versions are used, but at least I'll test my program with them!).

    5. Re:Swift libraries by Anonymous Coward · · Score: 0

      I think the philosophy of shared dynamic libraries is terrible. Imagine I ship a product that uses shared abc.dylib 1.0.0, and I've tested it with that version and given my app my personal guarantee that it works.

      Then someone ships abc.dylib 1.0.1 and my app breaks. The binary interface of the library did not change, but the logic inside one of the functions in the library changed, in such a way that the output was no longer the same, and my code was not tested to handle that output, and my code executed a different pathway, and it crashed or did something really bad.

      You can only guarantee code that you have tested. Logic that exists in external libraries should not just suddenly change without you retesting the whole thing all over again.

      What I'd like to see is basically only static libraries everywhere, and then some kind of transparent OS-level duplicate page elimination to save disk space. That is, if 100 apps have a particular library embedded in them, the OS somehow would factor this out as a shared file/page.

      And the issue of security updates - well, all apps should be updated, test and redistributed by their authors when new static library versions come out. (OK, using shared libraries fixed at a particular version is possible, but then what's the point, you can't just hotfix those libraries without retesting, either.)

    6. Re:Swift libraries by jeremyp · · Score: 1

      The main reason why Swift libraries are still copied into bundles is that the ABI isn't stable yet and so the Swift runtime is dependent on the version of the Swift toolchain used to build it.

      If you are wondering why this is the case, I think it is because ABI stability was scheduled for Swift 3 but, unfortunately the beginning of Swift 3 coincided with the open sourcing of Swift and, in particular, Swift Evolution (the process by which new features are proposed and approved or rejected). The team got swamped by the requests for new features and IMO lost focus.

      --
      All I want is a secure system where it's easy to do anything I want. Is that too much to ask ~~ Randall Munroe
    7. Re:Swift libraries by dgatwood · · Score: 1

      Making those shared libraries global means that security flaws can be patched, sure. But updating a library then means you're running untested software. The developer didn't have that library when he was writing the program, so you have no guarantee at all that you are not introducing massive bugs in the software, security-related or otherwise. For all you know, the new software you've produced may not even run at all.

      While true, that's also true all the way down to system calls and other kernel interfaces. At some point, you just have to accept that the code underneath you probably works, and that if it doesn't, it is highly likely that the breakage will break lots of other software, too, and thus will get fixed quickly.

      In my experience, when apps break after a library update, it is invariably because the developer made an assumption that was not stated in the documentation, and usually it is because they did something so glaringly contrary to the documentation that it was an absolute miracle that it worked at all. So in spite of substantial changes to shared libraries, the vast majority of apps continue to work for release after release with no changes.

      And I can point at specific developers whose code breaks with every single OS release. Those companies need to take the time to figure out why they're the only ones who are breaking. I know their code is crap, because there are so many outward signs of sloppiness—such heresies as loading frameworks from incorrect paths that only work because the default filesystem is case-insensitive, security patches every few weeks to fix yet another batch of vulnerabilities in their flagship products, etc. But somehow, they still haven't figured out that invariably they are the problem, rather than the shared code that they're using.

      IMO, shared libraries should be broadly capable, and the only thing that should be in an application is code that isn't likely to be used by any other application. Make everything else shared. That way, whenever bugs get fixed, I get the bug fixes immediately.

      For many security-oriented engineers, software that won't start is better than software with a security flaw. From the user's point of view, this security is not about your front door security: nobody is going to enter their house, beat you and run away with your money. On the other hand, your presentation program will crash due to an automatic OS update the morning of your career-changing meeting.

      First, if you really have a career-changing meeting on your schedule, you should have turned off automatic updates a week before and isolated it from the network as much as possible, using it exclusively for meeting-related work, to ensure that no matter what, that device will be in exactly the state you left it in.

      Second, although the users might at first naïvely believe that this "is not about your front door security", they'll still blame the OS manufacturer when they keep getting malware on their devices, and they'll demand to know why these security holes weren't fixed. You seem to be under the misunderstanding that we live in a 1980s world, where computers are disconnected most of the time, and bad things only happen when you go to sketchy websites, rather than the 2010s world where malware is served by advertisements on major websites, where merely opening an email without clicking on an attachment can compromise your computer or device, etc. The attackers have massively stepped up their game, and if OS vendors don't match that pace, tech will quickly become unusable.

      From a security perspective, I've seen far too many app vendors who basically abandon their apps. Things start breaking after two or three OS releases as features that they depend on get deprecated and start to break, and five years later, the app no longer functions. And when you talk about bringing in lots of per-app library code, what you're really saying is that this library won't nee

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    8. Re:Swift libraries by dgatwood · · Score: 1

      You can only guarantee code that you have tested. Logic that exists in external libraries should not just suddenly change without you retesting the whole thing all over again.

      Which means you can never guarantee anything. After all, the kernel changes with every OS update, often in ways that require incompatible changes to the libraries that sit on top of it. Libraries aren't shared just to save space. They're shared because they have to handle changes in the code underneath. Similarly, apps sometimes have to get updated to accommodate changes to libraries. This should generally be rare, and Apple does an amazing job of ensuring that through linked-on-or-after behavior based on versioned symbols, but it does happen.

      And the issue of security updates - well, all apps should be updated, test and redistributed by their authors when new static library versions come out. (OK, using shared libraries fixed at a particular version is possible, but then what's the point, you can't just hotfix those libraries without retesting, either.)

      Apps should be tested and, if necessary, updated and redistributed by their authors when new OS versions result in changes to the dynamic libraries. It isn't as though the changes happen every day or anything. OS updates happen on average every two or three months (concentrated right after a major release and becoming less frequent as the next release approaches). But app developers don't, and that's why apps break. If a sizable number of developers don't update their apps regularly to accommodate changes in the shared libraries, what makes you think they'll ever bother to update static libraries built into the apps themselves if they aren't forced to do so?

      We've gotten to the point where Apple was threatening a mass purge of apps that have broken because of abandonment for years. I don't know if that has happened, but I can think of a decent number of apps that haven't worked reliably since at least iOS 6 that were still on the app store as of a few months ago. Imagine a world where there are critical security holes in a library that have been unpatched by multiple app vendors for the past four years. That's what you're suggesting right here. The app developers have shown beyond any doubt that they cannot be trusted to keep their app even moderately up-to-date. Far better to risk breaking it entirely by using shared libraries than to run such a high risk of compromise.

      And in the desktop world, it is even worse, because manufacturers routinely release new major versions of their apps and then stop supporting the old ones. If Photoshop CS6 installed its own copies of the OS frameworks and then Apple found a security hole and fixed it, you'd be out of luck, because Adobe certainly wouldn't roll a new version of an unsupported app just to fix a security hole. By contrast, with Apple in control, there's a high probability that they're still testing Photoshop CS6, and will at least make a best effort at preventing it from breaking while they patch the security hole for everyone.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

  12. Exception Handling by andywest · · Score: 3, Interesting

    Why did Swift NOT have exception handling in the first couple of versions?

    --
    --- Andy West http://andywest.org
    1. Re:Exception Handling by Anonymous Coward · · Score: 0

      And why so many changes with each release? The language is not as stable as it should be (the syntax, that is).

    2. Re:Exception Handling by Black.Shuck · · Score: 1

      And why so many changes with each release? The language is not as stable as it should be (the syntax, that is).

      Darling, nothing is as stable as it should be.

    3. Re:Exception Handling by Anonymous Coward · · Score: 1

      It still doesn't, and probably never will. Have you read the manual? It pretty well describes the reasons.

    4. Re:Exception Handling by hcs_$reboot · · Score: 1

      Answer: because it's the problem with many new languages (e.g PHP). People may not know enough languages or have enough experience to make a new language that includes all other existing (good) features.

      --
      Slashdot, fix the reply notifications... You won't get away with it...
    5. Re:Exception Handling by Anonymous Coward · · Score: 0

      People may not know enough languages or have enough experience to make a new language that includes all other existing (good) features.

      I am skeptical that exception handling is a "good" feature. Failure seems to be handled better by using an Either.

    6. Re:Exception Handling by hcs_$reboot · · Score: 1

      So, you could have made Swift! Even PHP implemented exception handling... (took time!)

      --
      Slashdot, fix the reply notifications... You won't get away with it...
    7. Re:Exception Handling by BasilBrush · · Score: 1

      Swift has supported exceptions since Swift 2

    8. Re:Exception Handling by jeremyp · · Score: 1

      No it hasn't. Swift error handling looks a bit like exceptions, but it's not.

      --
      All I want is a secure system where it's easy to do anything I want. Is that too much to ask ~~ Randall Munroe
    9. Re:Exception Handling by Anonymous Coward · · Score: 0

      He wrote LLVM; I don't believe this answer applies. (Details on Chris Lattner: https://en.wikipedia.org/wiki/Chris_Lattner )

    10. Re:Exception Handling by hcs_$reboot · · Score: 1

      Well, after reading the Swift doc, didn't have the feeling this language was carefully and well thought designed.

      --
      Slashdot, fix the reply notifications... You won't get away with it...
    11. Re:Exception Handling by BasilBrush · · Score: 1

      They are exceptions with some of the negatives of exceptions removed.
      1) They don't leak.
      2) They are never "unhandled".
      This is because the implementation is different from C style exceptions.

      But in terms of what the feature is, they are exceptions. You would never put "doesn't have exceptions" in a cons column of a pros/cons list.

  13. as a language designer by superwiz · · Score: 5, Interesting

    Since you have been involved with 2 lauded languages, you are in a good position to answer the following question: "are modern languages forced to rely on language run-time to compensate for the facilities lacking in modern operating systems?" In other words, have the languages tried to compensate for the fact that there are no new OS-level light-weight paradigms to take advantage of multi-core processors?

    --
    Any guest worker system is indistinguishable from indentured servitude.
    1. Re:as a language designer by shmlco · · Score: 1

      As in Grand Central Dispatch?

      --
      Any sect, cult, or religion will legislate its creed into law if it acquires the political power to do so.
    2. Re:as a language designer by zifn4b · · Score: 1

      As in Grand Central Dispatch?

      I don't know if that's what they're referring to. Grand Central Dispatch sounds similar to C#'s ThreadPool.QueueUserWorkItem() or the await task language features in newer versions of the .NET runtime. It's just a way to basically create some unit of work that conforms to a particular interface that can be queued up and then the language run-time can determine how to create threads, processes, etc. in whatever manner is deems best to execute those pieces of work.

      --
      We'll make great pets
    3. Re:as a language designer by tlhIngan · · Score: 1

      I don't know if that's what they're referring to. Grand Central Dispatch sounds similar to C#'s ThreadPool.QueueUserWorkItem() or the await task language features in newer versions of the .NET runtime. It's just a way to basically create some unit of work that conforms to a particular interface that can be queued up and then the language run-time can determine how to create threads, processes, etc. in whatever manner is deems best to execute those pieces of work.

      Grand Central Dispatch is actually an OS level threading tool. Applications queue up work using it and the OS dispatches it - picking the appropriate number of threads based on your system configuration. The magic comes into play when multiple programs do the same thing - the OS keeps the processors busy dispatching all the work, and without thrashing the system - its not like Photoshop will issue a block of work, then your video encoder issues a block of work, and the two simply assume they have full control of the machine and thus your processors switch between the two tasks. No, the OS schedules the work - half the processors are working on Photoshop, while the other half are working on your video encoder, and they're solidly working on them, not multi-tasking. It's as if they magically picked the right number of threads to ensure the processors stay busy without interfering with each other. If you have a third app do the same thing, they adjust again.

  14. Future of LLVM? by mveloso · · Score: 5, Interesting

    Where do you see LLVM going?

    1. Re: Future of LLVM? by Anonymous Coward · · Score: 0

      How is Tanya affected by this change? Will she still be involved with LLVM?

  15. Re:If this is open source... by carlhaagen · · Score: 5, Insightful

    You may have misunderstood what "open source" means.

  16. Why would he want to work at Slashdot by cide1 · · Score: 4, Funny

    He left his job at Apple, so you are interviewing him? I don't think Chris wants to work at Slashdot all that much. Good luck anyway.

    --
    -- the computer doesn't want any beer, no matter how much you think it does. NEVER, EVER feed your computer beer.
  17. Does this mean Xamarin won? by xxxJonBoyxxx · · Score: 2, Interesting

    Does this mean the Visual Studio based "write once run anywhere" encapsulated in microsoft xamarin won?

    1. Re:Does this mean Xamarin won? by ezdiy · · Score: 1

      There was never a competition, even though it compiles, swift does not abstract android APIs to any reasonable measure to this day so it is extremely inconvenient in practice.

      Even xamarin is far from a silver bullet - it is extremely mobile specific, yet has many even more popular competitors (various js-based stuff, corona is very popular too).

    2. Re:Does this mean Xamarin won? by xxxJonBoyxxx · · Score: 1

      Good point on Corona. I'd be happy to append my question to "does this mean that cross-platform mobile development tools like Xamarin and Corona won?"

    3. Re:Does this mean Xamarin won? by Anonymous Coward · · Score: 0

      No

  18. Compiler Team by Anonymous Coward · · Score: 0

    For those working on Swift/LLVM outside of Apple it would be nice to know if Apple is changing its investment in the projects. Is the number of people working on LLVM/Swift at Apple changing?

  19. How is Swift better than c? by Anonymous Coward · · Score: 0

    Or is it apples and oranges?

  20. What are Rust's prospects like? by Anonymous Coward · · Score: 3, Interesting

    C# is well-established, and Microsoft has shown that it's very willing to adapt C# as necessary to support new techniques. I wouldn't be surprised at all if C# inherited good ideas from Swift.

    I'm more interested in what Chris has to say about Rust, another much-newer language that's much closer in age to Swift, but also different from established languages like C#, C++ and Java.

    Chris, what are your general thoughts about Rust as a programming language?

    Seeing as it fits somewhere between languages like C++ and Swift/Go/C#/Java, some programmers find it to be impractical and ill-positioned. While it did get a huge amount of hype at various programming discussion forums in the recent past, a lot of this has died off, perhaps because of people becoming disillusioned with it.

    What do you think its prospects for the future are like?

    While a language like Swift has the backing of Apple, and Go has the backing of Google, and C# has the backing of Microsoft, do you think that Rust being backed by a much smaller and perhaps less-resilient organization (Mozilla) is a liability that should discourage the use of Rust for serious, long-term software projects?

    Also, while Swift has a very reasonable code of conduct, what are your thoughts about Rust's community, including its rather extreme focus on its code of conduct? Some people, even those who support strict codes of conduct, see Rust's as being tyrannical. Within the Rust community, it's almost like social causes are considered more important than programming or software development. What are your thoughts about the unusual control that the Rust project tries to exert over its community?

    Thank you for your time, Chris, and thank you so much for the awesome contributions you've made to LLVM, Clang and Swift!

    1. Re:What are Rust's prospects like? by Anonymous Coward · · Score: 0

      There's a double problem with Codes of Conduct:
      1) is the fact that it seems we NEED them. Most software devs are well-adjusted, normal people, but there's always that asshole who has to be 'edgy' or whatever and ends up fucking it up for everyone. Kinda like laws. We read these ridiculous laws and wonder 'why the fuck is that a law, no one would be that fucking stupid/asshole' and then you dig in and find out that, yes, someone(s) was that fucking stupid and now we all have to pay for that person's assholery.

      2) distracts from software development. I'm not sure if it distracts more or less than the assholes in 1) (I'm pretty good at tuning them out), but replacing one extreme with another seems counter-productive. It's like after donglegate, people were more interested in their social justice stances than the actual talks/software/whatever being discussed, and that's shameful. The Python community, for example, is so full of SJW (I use it as a perjorative.. because it fits) bullshit when it comes to conventions, etc, that I refuse to participate in those events, even though those codes of conducts, etc, aren't even aimed at myself.

    2. Re:What are Rust's prospects like? by Nubbywubwub · · Score: 3, Informative

      While it did get a huge amount of hype at various programming discussion forums in the recent past, a lot of this has died off, perhaps because of people becoming disillusioned with it.

      I don't know what forums you're on but the Rust hype is fucking nuts on HN and reddit. I like Rust quite a lot as a language but I hear about it so much that I'm almost getting sick of it, like Node.js was dominating the hype cycle years ago and Ruby before that.

      Also, while Swift has a very reasonable code of conduct, what are your thoughts about Rust's community, including its rather extreme focus on its code of conduct?

      Lolwut? Swift's code of conduct is lifted almost directly from Rust's, they were both based off the same original document and written by the same person. I've also never seen any "extreme"ness or SJWness in all my time on the Rust forums.

    3. Re: What are Rust's prospects like? by Anonymous Coward · · Score: 0

      Rust takes forever to compile!

    4. Re:What are Rust's prospects like? by phantomfive · · Score: 1

      I like Rust quite a lot as a language but I hear about it so much that I'm almost getting sick of it,

      Yeah, haha

      --
      "First they came for the slanderers and i said nothing."
    5. Re:What are Rust's prospects like? by bsDaemon · · Score: 1

      You know where I've never seen a code of conduct? In an ISO, ANSI or IEEE standard. The threat to long-term viability of languages or platforms for serious projects is lack of rigerous standardization which can allow multiple competing yet interoperable implementations to exist that don't have to fall to the whims of any one company, foundation, or message board.

    6. Re:What are Rust's prospects like? by Anonymous Coward · · Score: 0

      > Codes of Conduct are blatant attempts to eliminate the old-school autistic nerds who created technology

      Like you, I presume?

    7. Re: What are Rust's prospects like? by Anonymous Coward · · Score: 0

      > Rust takes forever to compile!

      You're only saying that because it hasn't finished yet.

      Be patient, maybe someday it will finish compiling and you'll see it's not truly "forever!"

  21. Parallelism by bill_mcgonigle · · Score: 5, Interesting

    Say, about fifteen years ago, there was huge buzz about how languages and compilers were going to take care of the "Moore's Law Problem" by automating the parallelism of every task that could be broken up. With single-static assignment trees and the like the programmer was going to be freed from manually doing the parallelism.

    With manufacturers starting to turn out 32- and 64-core chips, I'm wondering how well did we did on that front. I don't see a ton of software automatically not pegging a core on my CPU's. The ones that aren't quite as bad are mostly just doing a fork() in 2017. Did we get anywhere? Are we almost there? Is software just not compiled right now? Did it turn out to be harder than expected? Were languages not up to the task? Is hardware (e.g. memory access architectures) insufficient? Was the possibility oversold in the first place?

    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    1. Re:Parallelism by EMB+Numbers · · Score: 2

      Certain languages like Scala, some Lisp variants, and Erlang do a pretty good job of supporting concurrent and parallel programming. To my knowledge, no programming language fully relieves programmers of the burden of devising design not including race conditions, priority inversions, deadlocks, resource contention producing serialized execution, and countless other "gotchas".

      It is hard enough to find a programmer who can translate a recursive algorithm into a loop or visa versa. It is hard enough to find programmers who can correctly code non-trivial algorithms of any sort. It is nearly impossible to find programmers who are able to correctly design let alone implement concurrent and parallel programs. It seems that very few human beings are able to conceptualize concurrent programming... but that may just be the case in my little corner of the universe.

    2. Re:Parallelism by johannesg · · Score: 3, Interesting

      I did some work on parallelizing FORTRAN in the nineties. It never went very far; our parallelizing compiler ran out of swap space when you fed it anything larger than a twenty-line program. Not that swap space was all that big in those days, but it was clearly not useful in a real-world context. There were some good ideas, but also a great many realities that tended to break those good ideas.

      Today I'd say, but this is after not looking at it very almost two decades, that the granularity at which the compiler is able to work is too fine; parallelism works better when you have larger chunks of work to deal with, which is still very much a programmer job. And at those fine granularities, dependencies (not to mention Amdahl's law) kill your efforts at parallelization.

      So, in my opinion, it was oversold in the first place, and it turned out to be much harder than expected. But it sure sold those research grants...

    3. Re: Parallelism by Anonymous Coward · · Score: 0

      BS

    4. Re:Parallelism by Viol8 · · Score: 1

      Of course the other main problem is that some problems are simply serial in nature and can't be parallelised (eg various iterative operations, waiting for I/O to continue etc) so it doesn't matter how many cores you have, the program can't run any faster.

    5. Re:Parallelism by tigersha · · Score: 1

      As the saying goes, you can't use 9 women to make a baby in a month.

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
    6. Re:Parallelism by johannesg · · Score: 1

      That's known as Amdahl's law: https://en.wikipedia.org/wiki/...

    7. Re:Parallelism by Anonymous Coward · · Score: 0

      Interestingly, Alan Kay's pet peeve of pseudotime and Sussman's pet peeve of propagator computation would both appear to at least alleviate the concurrency concerns on the language level, but I bet they'd draw even more blank stares than lexical closures and generic function object systems even today.

  22. BASIC by jo7hs2 · · Score: 1

    As someone who has been involved with the development of programming languages, do you think it is still possible to come up with a modern-day replacement for BASIC that can operate in modern GUI environments? It seems like all attempts since went went GUI (aside from maybe early VisualBASIC and Hypercard) have been too complicated, and all attempts have been platform-specific or abandoned. With the emphasis on coding in schools, it seems like it would be helpful to have a good, simple, introductory language like we had in BASIC.

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

      It is called Python.

    2. Re:BASIC by Anonymous Coward · · Score: 0

      As someone who has been involved with the development of programming languages, do you think it is still possible to come up with a modern-day replacement for BASIC that can operate in modern GUI environments?

      Yes, it's called JavaScript.

    3. Re: BASIC by Anonymous Coward · · Score: 0

      Python is not integrated into every web browser. The advantage of Basic was accessibility because it was preinstalled everywhere. The language which is preinstalled everywhere today is JavaScript. Not Python.

    4. Re:BASIC by Anonymous Coward · · Score: 0

      Not really. Some dialects of BASIC aren't a pile of shit.

    5. Re: BASIC by Anonymous Coward · · Score: 0

      Python is not integrated into every web browser. The advantage of Basic was accessibility because it was preinstalled everywhere. The language which is preinstalled everywhere today is JavaScript. Not Python.

      Python is available on almost every OS. BASIC wasn't available for web browsers, for example QBasic, so I don't know why you are putting that stipulation on Python.

      Javascript is definitely not an equivalent of BASIC, this is horse crap. BASIC was for writing computer programs, Javascript is for helping in the workflow of tasks that need to be done on web pages. You can't even compare the two.

    6. Re: BASIC by Anonymous Coward · · Score: 0

      "Available" is not the same as "already installed."

      Back in the days of cassette tapes, computers had Basic burned onto a ROM chip, and you could type

      10 PRINT "HELLO"
      RUN

      I just wrote a program, and I installed nothing.

      These days, every OS includes a web browser, every web browser includes JavaScript, and you could type

      F12 Console
      alert("hello")

      I just wrote a program, and I installed nothing.

    7. Re: BASIC by Anonymous Coward · · Score: 0

      Burned into ROM? How about loaded in from cassette tape (Tarbell Kansas City standard, of course)? You could buy it from a classified ad running in the back of a magazine by little outdoor running out of a motel in Arizona that was chiefly staffed by a geek kid who had just dropped out of Harvard.

    8. Re:BASIC by Anonymous Coward · · Score: 0

      Back when I was in school, the "real" programmers looked down on BASIC with exactly the same derisive jabs that people now aim at JavaScript.

      And I mean *exactly*, it's like deja vu.

    9. Re:BASIC by Anon+E.+Muss · · Score: 1

      I'm old enough to remember the days of 8-bit computing and the ubiquity of BASIC. Those were good times, but the world has moved on. The problem isn't the language -- GUI's simply changed the rules of the game.

      Text (command line) programs can naturally be written a linear procedural fashion. Cause and effect are clear. Display something, wait for input, act on input, rinse, and repeat. Classic BASIC fit this model well, and people could easily learn it. You could go from zero to useful in a relatively short time.

      At a technical level, GUI programming is inherently event driven. Originally this took the form of event loops dispatching messages, with more object oriented approaches evolving over time. Classic BASIC does not fit this model, but can be extended to do so (e.g. Visual BASIC). The problem is that the learning curve is steeper. Event driven programming is hard for non-programmers to wrap their minds around.

      Another problem is that modern computers come with lots of beautiful GUI-based software, and creating similar software takes considerable knowledge and effort. It's MUCH harder for a newbie to create software that looks and feels like "professional" programs. I imagine this could be very discouraging. I clearly remember the feeling of pride and accomplishment I felt back in the 8-bit days, when my own programs met, and then exceeded the standards of the day. I was able to go from zero to that place in a reasonable amount of time; now it might take years.

      --
      The key sequence to access my Slashdot bookmark in Firefox is Alt-B-S. I don't believe this is a coincidence.
    10. Re: BASIC by Anonymous Coward · · Score: 0

      Javascript is definitely not an equivalent of BASIC, this is horse crap. BASIC was for writing computer programs, Javascript is for helping in the workflow of tasks that need to be done on web pages. You can't even compare the two.

      Are you serious? The 1990s faxed and want their impression of JavaScript back...

      JavaScript can do anything BASIC can do and a whole lot more. I can tell you've never written a non-trivial web application in JavaScript or you'd know this.

  23. Re: What the heck is going on at Apple? by Anonymous Coward · · Score: 0

    Why is the parent comment modded down?

    It may be provocatively worded, but those questions are relevant and on-topic.

    Lattner is/was an important and high-ranking individual within Apple. I'm sure he has lots of relevant insight into the current and future states of Apple.

    Even if he can't currently say much, he should at least be given the parent comments questions for consideration. I, and I'm sure many others here, would like to see how he'd respond.

  24. Re:If this is open source... by Anonymous Coward · · Score: 0

    Like I say to the whiners on github who are constantly asking for the windows version, pull request or shut the fuck up.

  25. Re: What the heck is going on at Apple? by Anonymous Coward · · Score: 0

    Probably because the article states he won't be answering Apple questions. He probably can't even if he wanted, Apple is like Scientology and would hunt him down.

  26. Re:What hardware is used for workstations at apple by Anonymous Coward · · Score: 0

    Unless there is an exceptional and compelling business justification, Apple uses the same Macs that customers buy at the Apple Store; and for various good reasons, employees are strongly discouraged from upgraded the components.

  27. Any insight into language design choices? by EMB+Numbers · · Score: 5, Interesting

    I am a 25+ year Objective-C programmer and among other topics, I teach "Mobile App Development" and "Comparative Languages" at a university.

    I confess to being perplexed by some Swift language design decisions. For example,

    - Why does Swift have both a "var" keyword and a "let" keyword? One should be sufficient with the other being a default behavior. If a symbol is not declared "var" then just assume it is constant or visa versa. Furthermore, it may not be necessary to have either of the key words because (I think) in every case, the need for variability and mutation should be determinable by the compiler. Type is already being inferred by the compiler, and mutability could reasonably be considered an aspect of type.

    - Why are Swift collection types like Data always mutable? What happened to the concept of immutable containers from Cocoa. [Yes, I know the "bridged" CF types are always mutable, but that was another bad decision IMHO.]

    - Swift is intended to be a "Systems Programming Language", is it not? Yet, there is no support for "volatile" variables needed to support fundamental "system" features like direct memory access from peripheral hardware.

    - Having experienced frustration trying to port high performance graphics code from C/C++/Objective C to Swift, what's up with that? IMHO, Apple's sample code for using OpenGL/GLKit/Metal from Swift leaves the impression that Swift is unsuited to the style of "low level" programming needed/used by OpenGL/GLKit/Metal.

    - Why not support "dynamic runtime features" like the ones provided by the Objective-C language and runtime? It's partly a trick question because Swift is remarkably "dynamic" through use of closures and other features, but why not go "all the way?"

    - Finally, a trivial aesthetic critique: Why "var foo : typename" like Ada and Pascal (IIRC) instead of "var typename foo" like every language that inherited C style syntax? Is there an advantage to the Swift approach that I haven't seen, or was it just an aesthetic choice? Did the choice not produce some IMHO "silly" syntax for method declarations with named parameters?

    1. Re:Any insight into language design choices? by Anonymous Coward · · Score: 0

      Regarding your last bullet point, I think it has something to do with avoiding the "Most vexing parse" problem that C-style dialect has.

    2. Re:Any insight into language design choices? by ChunderDownunder · · Score: 1

      "every language that inherited C style syntax"

      Swift's aesthetics, as you describe. come from ML - not C. Just as Mozilla's rust began life bootstrapped by OCAML.

      Apple's previous adventure in creating a programming language - Dylan - originally was a LISP.

    3. Re:Any insight into language design choices? by brainstyle · · Score: 1

      - Why does Swift have both a "var" keyword and a "let" keyword? One should be sufficient with the other being a default behavior. If a symbol is not declared "var" then just assume it is constant or visa versa. Furthermore, it may not be necessary to have either of the key words because (I think) in every case, the need for variability and mutation should be determinable by the compiler. Type is already being inferred by the compiler, and mutability could reasonably be considered an aspect of type.

      Well, for one reason, so that you'll catch typeos in variable names at compile time. You have to explicitly declare the symbols you're going to use.

      --
      "Why can't everyone just be straight with me?"
      "Because we live in a bendy world, dear."
    4. Re:Any insight into language design choices? by Anonymous Coward · · Score: 2, Informative

      For your last bullet point (and also your first), the answer is type inference.

      In a language with strong type inference, ": Typename" is both a compiler hint and an enforcement tool, not a piece of a variable declaration. You don't have to use it during variable declarations, and you can use it in places other than variable declarations.

    5. Re:Any insight into language design choices? by Anonymous Coward · · Score: 0

      I really like LLVM. But at the same time, I really hate Swift, it makes me unproductive.

      I really like the dynamic nature of Objective-C., and one of the reasons I used to be so excited for the Mac platform. It works extremely well with Cocoa, while Swift does not. Additionally, I feel that the iOS jailbreaking scene would be very different if iOS were written in Swift.

      Did Steve Jobs have an opinion on Swift and where it fit in the grand scheme of things?

    6. Re:Any insight into language design choices? by johannesg · · Score: 1

      I don't speak Swift, but if I understand his first point correctly, each variable is introduced by a keyword anyway, so the most vexing part doesn't occur.

      That would go a long way towards answering the first question, btw.

    7. Re:Any insight into language design choices? by mbessey · · Score: 1

      - Why does Swift have both a "var" keyword and a "let" keyword? One should be sufficient with the other being a default behavior. If a symbol is not declared "var" then just assume it is constant or visa versa. Furthermore, it may not be necessary to have either of the key words because (I think) in every case, the need for variability and mutation should be determinable by the compiler. Type is already being inferred by the compiler, and mutability could reasonably be considered an aspect of type.

      Having to use a keyword to introduce a new symbol is a pretty critical reliability feature. If there's no keyword to say "I want to define a variable", then every typo creates a new variable, rather than a compiler error. Lots of scripting languages work this way, and it's hell on reliability.

      - Why are Swift collection types like Data always mutable? What happened to the concept of immutable containers from Cocoa. [Yes, I know the "bridged" CF types are always mutable, but that was another bad decision IMHO.]

      They're not. That's why you have "var" and "let" keywords. You use "let" for constants, and "var" for mutable objects.

      - Swift is intended to be a "Systems Programming Language", is it not? Yet, there is no support for "volatile" variables needed to support fundamental "system" features like direct memory access from peripheral hardware.

      "Systems programming" != "device driver development". Nothing above the driver level should be accessing hardware directly, so that's a feature that could likely wait until every other Swift use-case has been addressed.

      - Having experienced frustration trying to port high performance graphics code from C/C++/Objective C to Swift, what's up with that? IMHO, Apple's sample code for using OpenGL/GLKit/Metal from Swift leaves the impression that Swift is unsuited to the style of "low level" programming needed/used by OpenGL/GLKit/Metal.

      Not sure what the actual complaint is here. Can you give an example of something that's particularly difficult?

      - Why not support "dynamic runtime features" like the ones provided by the Objective-C language and runtime? It's partly a trick question because Swift is remarkably "dynamic" through use of closures and other features, but why not go "all the way?"

      Part of the goal of Swift is to use compiler "smarts" to generate performant code. You can't really do much in the way of optimizations for dynamic dispatch, so it's not the preferred method. The bindings are there to talk to Objective-C, but Swift-native code is expected to solve those problems another way.

      - Finally, a trivial aesthetic critique: Why "var foo : typename" like Ada and Pascal (IIRC) instead of "var typename foo" like every language that inherited C style syntax? Is there an advantage to the Swift approach that I haven't seen, or was it just an aesthetic choice? Did the choice not produce some IMHO "silly" syntax for method declarations with named parameters?

      As far as I know, it's purely aesthetic. It's worth noting that type declarations are optional fairly often in Swift, so perhaps it was a decision to try to make the appearance of types less "jarring" where they *do* need to show up.

    8. Re:Any insight into language design choices? by Anonymous Coward · · Score: 0

      I'm a mere 20-year Obj-C developer, and I'm frustrated by some Swift design decisions, but I'm more perplexed by your questions.

      - Swift has "var" and "let" because they're completely different. It's for the human's benefit, more than the computer's. And no, it's not determinable by the compiler. (You could have a field in a class which doesn't happen to be modified, but then somebody imports your code as a library and uses it in a way that modifies this field -- boom, suddenly "let" has to be "var", and all bets are off, in your library.) You might well ask for file permissions to be automatically set: if user X tries to write to file Y.txt, then apparently they need write-access to it, so the system should just grant it, right?

      - Data is mutable or immutable depending on whether you use "var" or "let" (see above). I'm not sure what the complaint is here. Compared to Obj-C, it's more concise, more consistent, safer, just as performant, and extends easily to all value types. There are ways Obj-C is better, but this isn't one of them.

      - It's fully compatible with C, so if you need "volatile", just write those 5 lines of your program in C. Everybody has their own definition of "systems programming language", so no language could possibly make everyone happy. (My dad is sad that there's no "register" keyword.) Your kernel has some parts written in assembly language, because even C isn't enough. There's no dishonor in using a different language for part of your program when it's needed.

      - "...what's up with that?" I have no idea. If you want to provide details and sample code, there are plenty of Swift forums on the internet that can help you. An interview with Lattner is really not a good place to get technical help with vague problems.

      - Finally, a decent question! It's true that Swift isn't as dynamic as Obj-C. I wonder if there's any plans to improve this situation. The infrastructure is certainly there.

      - Why put the type name last? That's what most modern languages do, when they're not trying to look exactly like K&R C: Python, Go, F#, Typescript. It's easier to write, easier to read, faster and easier to parse, and overall more consistent. Unless you need 99% syntactic compatibility for old C programmers (like Java and C# did), there's really no reason to put the type first.

    9. Re: Any insight into language design choices? by Anonymous Coward · · Score: 0

      Dynamic Objective-C works extremely well with C++, essentially complementing each other features. Now Swift was born probably out of desperation of having to deal with stupid millennials, who often have little idea how things work. Swift does not add anything to the equation of productive and efficient development, just like their Metal - a useless bullshit that on paper has "potential".

    10. Re:Any insight into language design choices? by Anonymous Coward · · Score: 0

      Objective-C was a dead end. It is a strange beast that can be a very fast system-level language (if you stick to the C subset) and at the same time a very slow language similar to Ruby (if your program relies heavily on polymorphic message passing). That is a dichotomy you don't want, especially since the users (and the system APIs) gravitate towards the later. At the end of the day, the common GUI-based app is very often built with a large number of polymorphic objects, a ton of messaging, and little care towards performance.

      You can often hear Apple engineers talk about how a message in Objective C dispatches in about 20 cycles, but that is not true for many real world conditions (this only happens when the same call is made repeatedly and thus can be cached, which is often not the case). In a world where some C++ programs get shit for slow performance because they trash the processor cache with virtual function table junk (and that is with just a single read+jump CPU instruction on top of the normal non-virtual call), Objective-C may be doing full text-based table searches in order to make the same jump. Even worse, this kind of feature is useless outside of some niche cases. For most languages, the compiler knows in advance if a message (or object method call) will call this or that code, but that is not true of Objective-C. In other words, they are doomed to lose in a performance race, just by the nature of the language's design, and with processor performance stalling and most programs having a hard time distributing work between cores, that is a dangerous place to be. Even Microsoft is ditching .net and going fully native (a divisive move to say the least), and .net performs much better than Objective for this kind of task.

      I don't like Swift. It solves this one problem but introduces plenty of new ones. All the fuzz about non-nullable types is another attempt at making the common programmer handle their fricking error conditions. We crossed that bridge already with exceptions and memory management and the results are what they are. They are still going to write the same code, you'll just get different kinds of crashes and errors. However, the code will grow exponentially as they litter it with empty catch blocks and a ton of nullable-non nullable type conversions.

      I think contractual programming is cool, but you need to go all the way. If you want to tell me this parameter can't be null, tell me also that this other parameter can only be in the (0, 100) range, or that other must be missing if the previous one is zero, or tell me that string meets a printf() standard the following parameters must comply. And then make my program fail to compile if it doesn't meet those requirements or crash with an informative error message when it happens in runtime. And *everything* *must* *be* *optional*. It is great if I want to use a third party library, but when I'm in the middle of the process of writing my code, I may be using functions just to split my thinking process, and those forced requirements I may not know about yet are an unwanted distraction. This is the worst sin of Swift's non-nullable types. The default should be *I don't know* and you should be able to send your *I don't know* value to functions requiring either nullable or non-nullable. As it is now, you need to add the cruft in advance. This makes writing software slower and you don't get a lot to gain for it.

    11. Re: Any insight into language design choices? by Anonymous Coward · · Score: 0

      Exactly, but Swift does improve reliability of apps which enhances the value of the overall platform. They sort of make it up to you by taking advantage of the unique opportunity Swift affords them to optimize your runtime code beyond what's practical for ObjC. Combined with bitcode, Apple can even theoretically upgrade apps as it adjusts its chips and APIs (without involving the developer or original source code). iPhone also always supported JavaScript (which accomplishes the same platform objectives), but there was no way of helping the hourly-hacks, cut/copy/paste children and the self/google-trained to not stink up the AppStore with broken apps. (If only they can now do the same for Millenial app business models, like the great Uber scam.)

    12. Re:Any insight into language design choices? by tigersha · · Score: 1

      The new version of JavaScript, ES6 also has var and let. Coming to a browser near you, real soon!

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
    13. Re:Any insight into language design choices? by Anonymous Coward · · Score: 0

      Hey - are you the professor that made me use Swift in the Mobile App Development Class? Then switched back to Objective-C a year later?

    14. Re:Any insight into language design choices? by Anonymous Coward · · Score: 0

      Problem is, sometimes you do have to be explicit about it. At least, in the version of Swift I was using two years ago, before I switched back to Obj-C.

      Sometimes typenames are optional, and sometimes they aren't.

      These "Sometimes's" drive me insane.

    15. Re:Any insight into language design choices? by Schnapple · · Score: 1
      Well I think what he's saying is that right now you have

      var someVariable:Int = 3
      let someConstant:Int = 4

      and you could have done

      var someVariable:Int = 3
      someConstant:Int = 4

      so you just don't have to have a keyword make it be a constant.

      And I'm curious to know too. I think it was probably just a style choice, or perhaps lessening the odds of accidental declarations, but it would be interesting if there was some technical reason for it.

    16. Re:Any insight into language design choices? by BasilBrush · · Score: 1

      Because the :Int is not required because of type inference. So without let, you don't know if:

      someThing = 4

      is a constant declaration or a variable assignment.

    17. Re:Any insight into language design choices? by BasilBrush · · Score: 1

      It's inference. If the compiler can't infer then you're going to have to specify it. It's a convenience, and makes for sparser, easier to read code.

      If you don't like it, then simply always put your types in.

    18. Re:Any insight into language design choices? by Schnapple · · Score: 1

      That's a good point, I bet that's it. They could have type inference or they could drop the let keyword and they chose type inference.

    19. Re:Any insight into language design choices? by Schnapple · · Score: 1

      misreply

    20. Re:Any insight into language design choices? by Schnapple · · Score: 1

      That's a good point, I bet that's it. They could have type inference or they could drop the let keyword and they chose type inference

  28. Re:If this is open source... by carlhaagen · · Score: 1

    It means that the source code is openly available. The end.

  29. Re:If this is open source... by squiggleslash · · Score: 1

    Open source means that the source code is available and you can modify it and redistribute it with minimal conditions.

    It does not mean "portable", which already had a word describing the concept, namely "portable"!

    Most open source software ends up ported to other platforms, because as the source is available, it's relatively easy for someone to do it if the original maintainer doesn't want to, but that doesn't make them the same thing.

    You can read more about open source here. The related concept of Free Software (mostly a matter of emphasis - open source advocates tend to focus on the benefits of a community driven development matter, while free software advocates tend to focus on the right to have and to share knowledge) is described fairly well here. While the two philosophies are frequently considered rivals, software categorized as free software is virtually always also open source, and vice versa.

    --
    You are not alone. This is not normal. None of this is normal.
  30. Re:If this is open source... by Anonymous Coward · · Score: 0

    YOU and the mods may have misunderstood what Open Source means. Even RMS allows GNU software to run on Windows, although he probably does so for pragmatic reasons. Other Open Source license authors care even less, and allow their code to be integrated right into Windows.

  31. Open Source macOS? by jasnw · · Score: 1

    When is Apple going to toss macOS (aka OS X) over to the open source community, drop desktop (and possibly) laptop HW completely, and focus solely on mobile HW, iOS, and very thin cars.

    1. Re: Open Source macOS? by Anonymous Coward · · Score: 0

      Seriously they could probably undo() the 10-year setback that Bill Gates dealt humanity with DOS/Windows dirty tricks back when the gov't had no clue we was (sic) gettin' murdered (RIP Jay Miner).. not to mention save a lot of jobs at HP lol (PS: You know Apple desktops are just laptops without batteries, right?)

    2. Re:Open Source macOS? by Anonymous Coward · · Score: 0

      Congratulations: you've just won the award to the stupidest question.

    3. Re:Open Source macOS? by tigersha · · Score: 1

      Yay for this. I want macOSX on my 28 core/56 thread dual CPU Xeon workstation, please.

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
    4. Re: Open Source macOS? by UnknowingFool · · Score: 1

      Probably never. There will always be a need for code development so this a need for hardware. Also while fewer consumers are using desktops and laptops for all computing, they are still going to need them for some things.

      --
      Well, there's spam egg sausage and spam, that's not got much spam in it.
    5. Re: Open Source macOS? by jasnw · · Score: 1

      Once there's a complete development environment via Xcode and various SDKs (to include iOS simulators) available on non-Apple HW there's no longer any need for Apple to build computers if they so chose. The developer base is already getting mightily torqued in the jaws about HW releases from Apple (or lack thereof) over the past 5-6 years, so having a development platform that is HW-independent would be just fine with many developers. From what I hear, Xcode is pretty much ready to run (if not already there) under Linux, and with MS embracing Linux (well, patting in on the shoulder) the move to that platform may be easier in the future. Just saying.

  32. Inspiration by Anonymous Coward · · Score: 1

    Did you find any inspiration from the Ada programming language? Also, what are your thoughts about the general move away from low-level programming and strong-typing?

  33. Questions, and my best wishes. by Volanin · · Score: 5, Interesting

    Since you're the creator of LLVM, I'd like to know, in your opinion what's the greatest advantage of LLVM/Clang over the tradicional and established GNU GCC compiler. Also, what's the greatest advantage of GNU GCC (or if you'd prefer, any other compiler) over LLVM/Clang, something that you'd like to "port" someday?

    Also, since I work mostly with Linux development, what do you see as the greatest advantages of the Apple developer stack (libraries, xcode, etc) that are sorely lacking in the Linux developing scene, that we should strive to copy/implement?

    By the way, and unrelated, congratulations on the Walnut Dining Table you made. It's amazing!
    https://twitter.com/clattner_l...

    --
    If I clone myself, can I call it a thread?
    If a girl winks to us, can I call it a race condition?
    1. Re:Questions, and my best wishes. by Anonymous Coward · · Score: 0

      Also, since I work mostly with Linux development, what do you see as the greatest advantages of the Apple developer stack (libraries, xcode, etc) that are sorely lacking in the Linux developing scene, that we should strive to copy/implement?

      Consistency. There is nothing more annoying than compiling my code on Linux to find out the admin decided to install install libraries some where else or change the name to something else so CMAKE can't find it.

    2. Re:Questions, and my best wishes. by Anonymous Coward · · Score: 0

      An a back-end (target) implementor of LLVM and gcc: the relative complexity of implementing a new "back end" (target) is about 1-2 orders of magnitude of complexity harder in gcc than in LLVM. I wrote a new custom target in 1 developer-year with LLVM. With gcc, it would have required 3-4 engineers, and taken close to two years. (bfd, binutils, gas, gcc itself). The primary reason is that the implementation of LLVM is much more table driven (C++ templates) than gcc is.

    3. Re:Questions, and my best wishes. by Anonymous Coward · · Score: 0

      details: the target was: 2-wide VLIW, 64 x 64-bit registers, IEEE 2008 FP, some interesting integer instructions.

  34. How much of Swift is based on Groovy? by Foofoobar · · Score: 4, Interesting

    Its been commented on that Swift tutorials look IDENTICAL to Groovy tutorials to the point that you even use the same variable names in examples (http://glaforge.appspot.com/article/apple-s-swift-programming-language-inspired-by-groovy). When created a Python to Swift converter, I responded 'wouldn't it have been easier to do a 'Swift to Groovy' converter??? To which developers replied, well naturally. So how much of Swift was inspired by Groovy? Both come from more high-end language and look and act almost identical.

    --
    This is my sig. There are many like it but this one is mine.
  35. Re:What hardware is used for workstations at apple by fred6666 · · Score: 1

    you forgot the obvious: iPad

  36. Re: Metaprogramming and Swift by Anonymous Coward · · Score: 0

    Do you see Swift emerging to be a language for runtime-based metaprogramming in the near future? Swift is touted as a static, type-safe, systems programming language (and it is, for the most part), but we know it features a rich runtime internally. Will Swift programs shift to a hybrid compiled/interpreted model? I understand that Swift is about compiler smarts, features like high level SIL optimization and WMO optimizations make it a brilliantly performant language; however as the complexity of software increases, would a hybrid model, where certain Swift code is generated, optimized and given the JIT treatment, not be better?

  37. Question about this role by JoeyRox · · Score: 1

    I'll phrase my question in his preferred, more-readable syntax:

    What.Will?.He?.Do?.At?.His?.New?.Venture?

    1. Re:Question about this role by PoisOnouS · · Score: 1

      Nice to see you here on Slashdot, Captain Kirk.

  38. Prog lang projects and Social Justice by Anonymous Coward · · Score: 0

    My questions have to do with prog lang projects and the Social Justice phenomenon that has become so prevalent lately, including within many modern prog lang projects.

    (Please, let's keep the discussion here civil. I'm not interested in debating the merits or lack thereof of Social Justice. I want us to focus solely on the social phenomenon and how it relates to running large prog lang projects with many contributors.)

    1) As a prog lang project leader, do you think that Social Justice needs to be a part of a modern prog lang project?

    2) Are there more divisions now that Social Justice highlights things like race and gender more than ever before, back when we were all just programmers working together and we didnt' care about things like race or gender?

    3) Does it make sense for a prog lang project to focus so much on things like race and gender, especially for open source projects where the contributors are spread around the world and never actually see or directly interact with each other?

    4) Does the focus on social issues distract from important technical issues?

    5) Do harsh Codes of Conduct prevent the passionate, heated and sometimes rough & tumble technical discussions that are needed to create great works of software?

    6) What does your wife, who has also been involved with llvm, think about the role and impact of Social Justice on prog lang projects?

  39. Re: Metaprogramming by Anonymous Coward · · Score: 0

    What are your views on metaprogramming? Do you see us shifting to a hybrid compiled/interpreted Swift code model? Swift is a compiler-smarts language, but is compiler smarts enough?

  40. The Mythical Compiler -VLIW by Anonymous Coward · · Score: 3, Interesting

    Is there any hope for VLIW architectures? The general consensus seems to be that Itanium tanked because the compiler technology wasn't able to make the leap needed. Linus complained about the Itanium ISA exposing the pipelines to assembly developers. What are the challenges from a compiler writers perspective with VLIW?

  41. Re:What hardware is used for workstations at apple by keltor · · Score: 1

    Having been on campus many times and knowing a bunch of hardware people, it's my understanding outside of specific testing, the hardware team, a few special installs, and some servers, nobody has anything other than regular machines. The special installs are no different than the kind of special installs that integrated have already done - like making an iMac 27 into a flush-mounted wall device with a touch screen.

  42. Package Manager by OzPeter · · Score: 1

    This is really an XCode question. But why does XCode not have a native package manager? I've programmed commercial programs with both Visual Studio and XCode and I can say that NuGet is fantastic for C# and really helps boost the C# ecosystem. Why is there nothing like that for XCode.

    Perl and Python also have great external libraries (as probably do other languages that I have never really used)

    Oh and BTW why does refactoring of Swift code suck compared to Objective-C?

    --
    I am Slashdot. Are you Slashdot as well?
  43. What happened to the OSRC? by haruchai · · Score: 2

    Why is the Operating System Resource Center gone from your site on nondot.org/sabre?
    There are a couple mirrors that date back to 2006 but what happened to the main site?

    --
    Pain is merely failure leaving the body
  44. Re:If this is open source... by __aaclcg7560 · · Score: 0

    Most open source software ends up ported to other platforms, because as the source is available, it's relatively easy for someone to do it if the original maintainer doesn't want to, but that doesn't make them the same thing.

    If you're putting out Open Source software for Linux and Mac, a Windows version shouldn't be that difficult. Especially since Apple has Windows development teams on hand to do the work.

  45. Swift for Android and Server Side Programming by Anonymous Coward · · Score: 0

    Hi,

    Do you see Swift bring used for developing Android Apps?

    Do you see Swift being used for server side programming?

    1. Re:Swift for Android and Server Side Programming by Anonymous Coward · · Score: 0

      Do you see Swift being used for server side programming?

      Ow mi gawd, swerva iz soooo fooking harrrd.

      https://github.com/AlwaysRightInstitute/SwiftyHTTP

  46. Re:If this is open source... by shmlco · · Score: 1

    RMS didn't "allow" software to run on Windows, someone ported it to Windows. (Kind of a big difference.)

    You (or someone else) are free to pull the source and do a Windows port.

    Like these guys did....

    http://www.infoworld.com/artic...

    --
    Any sect, cult, or religion will legislate its creed into law if it acquires the political power to do so.
  47. Re:If this is open source... by Anonymous Coward · · Score: 0

    YOU and the mods may have misunderstood what Open Source means.

    Someone doesn’t know the difference between “open source” and “cross-platform.” The source code is open and available to you, so if you want it on Windows, then port it to Windows. Open source doesn’t require that someone else do the work of porting the software to your pet platform; that’s just your own laziness.

  48. Apple commitment to LLVM by ezdiy · · Score: 2

    Let's skip the boring technical details, and ask some juicier insider info.

    Apple has done great things for LLVM/Clang. I believe you were the key conductor in this. Does it mean you leaving we can expect less in this regard in the future, or are you just passing the torch in there, keeping it capable hands (aka there's not much left for you to do)?

    Or some other change of circumstances?

    1. Re:Apple commitment to LLVM by phantomfive · · Score: 1
      He's planning on still having an active role. Quote:

      This decision wasn't made lightly, and I want you all to know that I’m still completely committed to Swift. I plan to remain an active member of the Swift Core Team, as well as a contributor to the swift-evolution mailing list.

      Incidentally, it looks like he's going to Tesla. Not sure what he'll be doing there.

      --
      "First they came for the slanderers and i said nothing."
    2. Re:Apple commitment to LLVM by SuperKendall · · Score: 1

      Not sure what he'll be doing there.

      VP of Autopilot Software.

      Read: Deep Learning Expert. I expect LLVM to come into play here.

      --
      "There is more worth loving than we have strength to love." - Brian Jay Stanley
  49. Re:If this is open source... by __aaclcg7560 · · Score: 1

    Open source doesnâ(TM)t require that someone else do the work of porting the software to your pet platform; thatâ(TM)s just your own laziness.

    If a CORPORATION can put out the Linux and Mac versions, and have Windows developers on staff, porting to Windows shouldn't be a problem.

  50. 30 for 30 by Anonymous Coward · · Score: 0

    I recently watched the ESPN 30 for 30 about you. Do people really still hate you that much?

  51. Where are you going? by O'Dowda · · Score: 1

    Are you joining the US Cabinet, by any chance?

    1. Re:Where are you going? by Anonymous Coward · · Score: 0

      Indeed Trump needs quality advice on how to make billionaires richer and poor people dead.

    2. Re:Where are you going? by BasilBrush · · Score: 1

      He's gone to Tesla, where he's going to be in charge of AutoPilot development.

  52. Re:What hardware is used for workstations at apple by Anonymous Coward · · Score: 5, Informative

    Posting as AC, as I have in the past worked for Apple. Most developers at Apple have both a desktop and a laptop, usually an iMac and then whatever portable that they picked when the joined (for some developers this is primarily a meeting tool). Depending on what that developer does they then have a collection of other hardware (often pooled with people on their team) for development and testing (e.g.: hardware with diverse GPUs or screen resolutions). And then in other cases one or more prototype machine (sometimes in special secure labs).

    There is a real culture of making sure that the developers run on the shipping hardware, so ordering anything custom (even more RAM) is often a difficult thing. At one point there was a lottery to determine who got to use the latest shipping iPhones and who was forced to use the oldest supported model, to make sure that people were feeling the pain of older hardware. A number of managers were except from that lottery... they got the oldest model by fiat.

    The build clusters used to be Xserves but that was moving to clusters of Mac minis and MacPros. There were some Windows machines around (think iTunes and Quicktime), and I know some groups that did chip-level-design used linux, but standard Apple hardware rules the day.

  53. LLVM retrospective and future by Nubbywubwub · · Score: 1

    As a frequent user of several LLVM-based projects I was curious if you could contrast where it stands today with your current vision of it when you first began, and also was curious whether your departure will impact LLVM's development.

  54. Yet another programming language by Anonymous Coward · · Score: 0

    Will there always be a need for general-purpose, multi-paradigm, compiled programming language[s] to be developed or do you think we'll eventually get to a point where the existing list is good enough?

  55. Question mark or... by jasonshortt · · Score: 2

    Do you see these questions as Optionals?

  56. Which do you prefer by Anonymous Coward · · Score: 0

    Boxers or briefs?

  57. Where to now? by Anonymous Coward · · Score: 0

    Thank you for your awesome work on LLVM and Swift. Where are you off to now? Any thoughts on Jai?

  58. SIL in hindsight by smallduck · · Score: 1

    If I have it right, swiftc translates code to Swift Intermediate Language, in which several optimizations occur, which is then translated to LLVM's Intermediate Language, which gets its own optimizations before being translated to an .o file.

    In retrospect, are these 2 similar but separate levels an unfortunate hack/necessary compromise, or still an nice design decision? I'd think it would have been better if swift's optimizations could be done in a single intermediate representation and streamline two compilation phases into one, but perhaps wrong. Do you foresee a future giant refactoring of swift compiler & LLVM that introduces a redesigned IL that obviates the need for a separate SIL??

    Also, what are your opinions on the Mill CPU?

    --
    no sig, no plan, no clue
  59. Re:If this is open source... by Hognoxious · · Score: 1

    Ouch! I just walked into a goalpost.

    I swear it wasn't there before.

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  60. Increment and decrement by Brett+Diamond · · Score: 1

    My biggest surprise with Swift was the removal of the pre and post increment and decrement (++ and --) in Swift 3. These are well defined and commonly used operators — heck, the name of one of the most popular languages is a word-play on the post-increment operator. In fact, you'd be hard-pressed to find another modern language out there that does not have them.

    My real issue is that they are part of the coding part of my brain — when I want to increment, I automatically type "++". Sure, Xcode will offer to "fix" it for me; but that means that Xcode knows what I mean!

    At the center of my issue is there is meaning beyond "add one" or "subtract one" in those operators: increment is a concept that, yes, when applied to a number, is equivalent to adding one to that number; but when the developer (e.g., me) sees the increment operator, there is immediate communication of what is transpiring without having to (visually — again, it's the developer to whom I am referring) parse an equation, then further determine if it is really an arithmetic operation or an increment. For instance, I don't think a language called "c += 1" would have caught on.

    The problem of conflating incrementing and decrementing with addition and subtraction becomes even worse when considering operator overloading. For example, if I am creating a class where it is meaningful to increment or decrement but not to support full-blown addition or subtraction, without ++ and --, I am stuck with implementing addition and subtraction methods that throw runtime exceptions when given values other than 1.

    You may counter that everybody can easily get along without them. Well, if you did, I would respond that, no, I am running into this all of the time and it drives me a bit nuts (ok, a bit more nuts).

    Basically, the solution to encountering these handy, meaningful, and otherwise universally available operators should not be "stop using them" — especially when Swift used to have them!

    So, I guess my question is not "why were they removed?", but rather "what can I do to get them re-added?"

    1. Re:Increment and decrement by Anonymous Coward · · Score: 0

      My biggest surprise with Swift was the removal of the pre and post increment and decrement (++ and --) in Swift 3. These are well defined and commonly used operators — heck, the name of one of the most popular languages is a word-play on the post-increment operator. In fact, you'd be hard-pressed to find another modern language out there that does not have them.

      I can think of two off the top of my head: Python and Ruby.

    2. Re:Increment and decrement by BasilBrush · · Score: 1

      He already gave a full list of reasons why at the time the change was proposed.

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

    3. Re:Increment and decrement by Anonymous Coward · · Score: 0

      The problem of conflating incrementing and decrementing with addition and subtraction becomes even worse when considering operator overloading. For example, if I am creating a class where it is meaningful to increment or decrement but not to support full-blown addition or subtraction, without ++ and --, I am stuck with implementing addition and subtraction methods that throw runtime exceptions when given values other than 1.

      Just write inc() and dec(), or some other similarly named methods. If you need postfix behavior too, add two more methods with appropriate names. This is the same code you'd write if you were overloading ++ and --, but now they're normal methods instead of operator overloads.

    4. Re:Increment and decrement by Brett+Diamond · · Score: 1

      Well, my question was not "why were they removed?", but "what can I do to get them back?". And they were removed -- they were there!

      I have seen the link (back when it was just a proposal), and I cannot find a compelling removal reason in the list of disadvantages. Let's cover each in turn:

      • 1. new users. Add one or subtract one is difficult? I think not. Plus, removing a great feature because it may be difficult for some users to learn is weak — might as well ban regular expressions all together.
      • 2. minimal expressive difference. I could not disagree more. Not only am I saving keystrokes when typing, but it takes me significantly less time to undertand the meaning of x++ than x += 1 when I come across them in code. Again, increment and decrement are concepts apart from full-up addition, and having dedicated operators increases the overall exressiveness of the language.
      • 3. Swift isn't c. This is a truly spurious reason. Neither is Perl, Python, Go, Ruby, JavaScript, Matlab, Mathematica, etc. And yet Swift still has the bitwise operators from c, so this disadvantage can be little more than list padding.
      • 4. Swift has features that replace many of the typical uses of ++ and --. This is true, as far as it goes. However, increment are decrement are used in significantly more instances than as a loop counter.
      • 5. ++ and -- are hard to read and encourage "tricky" code. I believe this is conflating two concerns: confusing and makes for "tricky" code. Well, I cannot disagree with the first more; I assert that the semantics of ++ and -- are well understood and their appearance saves significant time when parsing by the maintainer. As for "tricky" coders — well, they'll screw you no matter what you do (you can write FORTRAN code in any language — or see http://www.mindprod.com/jgloss/unmain.html). Basically, don't hobble the language in anticipation of "misuse".
      • 6. the result of ++ and -- are difficult to predict, even with well defined operator precedence. I don't buy it. But again, there will be jerks that write difficult to understand code. If they really scare you, then follow one of the presented alternatives and remove the pre versions or post versions, but not both! Or, even better, have Xcode flag their convoluted use (or generate a compiler warning for those who don't use/have Xcode).
      • 7. not every data type can use them. Spurious. What about %, ~, |, ^, &, <<, >>, &+, &-, or unary - and +?. Not to mention the logical operators (|| and &&), which had typically supported types removed! Moreover, increment and decrement are useful to add to a class (more so than, say, bitwise or).

      The above list seems seems so negative, I know. What is missing is the positives that increment and decrement provide; I tried to express that before. Sure, I'd love to have the ? : operator, but I'll survive (I hope you like wordy code); but take away my ++ and -- and coding becomes constant frustration that raises my stress level and will eventually lay me low.

    5. Re:Increment and decrement by BasilBrush · · Score: 1

      Fair enough, but those arguments were considered at the time and the balanced choice was made to remove.

      Sure, I'd love to have the ? : operator.

      Swift does have the conditional operator. Some people make the mistake of trying it and concluding it doesn't work. But they've neglected to seprate the ? from the condition with a space, and thus made the compiler think they were trying to unwrap an optional.

      It also has the ?? : nil coalesing operator. Again spaces are required.

    6. Re:Increment and decrement by Anonymous Coward · · Score: 0

      These reasons are insanely stupid. You shouldn't remove a feature from a language just because inexperience programmers might not use it right.

    7. Re:Increment and decrement by jeremyp · · Score: 1

      I agree it was a mistake. This and the removal of the C style for loop sucked away a huge quantity of energy in the early days of swift evolution.

      The good news with ++ and -- is that it is trivial to put them back in.

      prefix func ++(n: inout Int) -> Int { n = n + 1 ; return n }

      postfix func ++(n: inout Int) -> Int {defer { n = n + 1 } ; return n }

      Somebody should do a survey on Github Swift projects to see how many of them define those operators. If it is a lot, we can assume Swift.org made a mistake.

      --
      All I want is a secure system where it's easy to do anything I want. Is that too much to ask ~~ Randall Munroe
    8. Re:Increment and decrement by david_thornley · · Score: 1

      There's two common uses I've seen for ++ and --. One is to serve as a complete statement or equivalent (for (int i = 0; i 10; ++i)), and one is inside an expression. For a complete statement, it's not much of a problem to use += 1 or -= 1. Inside an expression, it makes the expression have side effects, and I don't think that's a good idea in general, particularly when it's not just in one thread.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  61. Any hope for more productive programming? by Kohath · · Score: 2

    I work in the semiconductor industry and our ASIC designs have seen a few large jumps in productivity:
    - Transistors and custom layouts transitioned to standard cell flows and automated P&R.
    - Design using logic blocks transitioned to synthesized design using RTL with HDLs.
    - Most recently, we are synthesizing circuits directly from C language.

    In the same timeframe, programming has remained more or less the same as it always was. New languages offer only incremental productivity improvements, and most of the big problems from 10 or 20 years ago remain big problems. Programmers still have to deal with syntax issues in various languages, and if I want parallel execution in my code, I have to design for it from the beginning.

    Software is helping us design our ASIC circuits from higher and higher level abstractions. But software doesn't seem to be helping us write our software. The abstractions aren't much higher level.

    Do you know of any initiatives that could produce a step-function increase (say 5-10x) in coding productivity for average engineers?

    When I first heard rumors about what became Swift, that's what I was hoping for. But it turned out to be just another programming language.

    1. Re:Any hope for more productive programming? by Anonymous Coward · · Score: 0

      You should have a look at Julia

    2. Re:Any hope for more productive programming? by BasilBrush · · Score: 1

      It's beginning to look to me like Functional Reactive Programming (FRP) is the next big change in the way software is created. And whilst Swift doesn't support that natively, there are a couple of libraries that do support it in as Swifty a way as possible: RxSwift and ReactiveCocoa.

      I can't say any more than that, as I'm early on in learning about this topic.

    3. Re:Any hope for more productive programming? by Anonymous Coward · · Score: 0

      The problem with software is that you don't write your software in a vacuum, it needs to interact with existing libraries, to the point where you may argue most software nowadays is a clutch added on top of existing behaviour.

      Sure, hardware engineers do use a lot of pre-made components, but the differences are vast. It is just like making software with no operating system: you'd have to use existing libraries to handle the low-level stuff, but you still are in control, and very likely you'll need to really know about how those parts work. In modern software all that crap is not only much larger, but also a black box you can't really know about (it is closed, or prohibitively complex).

      I'm not saying that ditching our OS and framework libraries would suddenly increase our productivity (even if I'd jokingly admit that may be the case given the massive amount of crap we have to suffer). What I'm saying is that those paradigm changes may in fact already exist (think about all the rage about functional programming and Lisp) but they don't catch on, mostly because at the end of the day your program needs to work on top of the existing codebase that doesn't follow those paradigms. New serious attempts (including Swift) are doomed to be a new coat of paint that won't change much in practice.

    4. Re:Any hope for more productive programming? by Anonymous Coward · · Score: 0

      yes

    5. Re:Any hope for more productive programming? by Anonymous Coward · · Score: 0

      Aspect-Oriented Programming (AOP) was also supposed to be the Next Big Thing (NBT), but certainly has not trickled down into common use. Oh, you can find aspects (sorry) of it in places, but it's not a core paradigm allowing 5x productivity increases.

  62. Best question ever by slashmydots · · Score: 0

    Will Apple still be around in 10 years?

    1. Re: Best question ever by Anonymous Coward · · Score: 0

      Sure, it will just be starting the process of becoming part of Verizon.

  63. Re:If this is open source... by Anonymous Coward · · Score: 0

    Ouch! I just walked into a goalpost.

    That's no goalpost.

    *zips up pants*

  64. Swift governance by Tough+Love · · Score: 3, Insightful

    Governance of the Swift project is firmly under the control of Apple, as stated here. How can Swift ever be a true community project if Apple controls it? Look no further than Java to see what can go wrong when a corporation controls a language.

    --
    When all you have is a hammer, every problem starts to look like a thumb.
  65. Re:What hardware is used for workstations at apple by Anonymous Coward · · Score: 0

    Clusters of Mac Minis and MacBook Pros must be "fun" to remotely administer with no lights-out management.

  66. HOLY FUCK! He's going to Tesla?! by Anonymous Coward · · Score: 0

    HOLY FUCK!

    I just saw this: https://www.tesla.com/blog/welcome-chris-lattner

    We would like to welcome Chris Lattner, who will join Tesla as our Vice President of Autopilot Software.

    Chris, can you confirm?! Is this true?! Are you going to be working with Tesla?!

    1. Re:HOLY FUCK! He's going to Tesla?! by Black.Shuck · · Score: 1

      Chris, can you confirm?! Is this true?! Are you going to be working with Tesla?!

      I think that was a waste of a question.

    2. Re:HOLY FUCK! He's going to Tesla?! by aquacrayfish · · Score: 1

      Are you really the head of the Kwik-E-Mart?

  67. Tesla? by Anonymous Coward · · Score: 0

    So, how much did Elon cough up to break you loose from Apple? Will the Autopilot software be rewritten in Swift? Do you have an AI background that we never knew about? Fill us in!

    1. Re: Tesla? by Anonymous Coward · · Score: 0

      I'll wait for the One that's written in Swift. The current One can theoretically have an access violation and close while changing lanes between drunks on the 101 lol

  68. Tool to type code fast and accurately by Anonymous Coward · · Score: 0

    Suppose you have a few hundred lines of code to type in, and you're not changing any existing code.

    What tool do you recommend for getting that code typed in, fast and accurately?

  69. Re:What hardware is used for workstations at apple by Anonymous Coward · · Score: 0

    The iWork for the web guys have a stockpile of old XServers and have a KVM port for non-Apple hardware, that is about the only Non-supported OS X usecase you will find.

  70. Is Swift better than Objective-C for anything? by soft_guy · · Score: 1

    I've been writing Mac and iOS apps with Objective-C for a long time. One of my favorite things about Objective-C is the ability to use C and C++ APIs easily from within my app. Why is Swift even needed at all? What about it is actually better than Objective-C from the standpoint of someone who is already highly proficient in Objective-C and C++?

    --
    Avoid Missing Ball for High Score
    1. Re:Is Swift better than Objective-C for anything? by Anonymous Coward · · Score: 1

      "Is Swift better than Objective-C for anything?"

      Been coding in Swift a year now. Hmm, I'd say not having header files is much better. Before I learned Swift I did not realize how much time I was wasting with header issues. Using enums for dictionary keys instead of strings is nice. The closure syntax in Swift is more clear than Objective-C blocks for sure. Creating property observers is a snap. I love using defer and guard. Optionals are nice too. Enums are powerful.

      If I had a critisism of Swift it would be not knowing exactly how it handles value types -- when are they put on the stack versus heap and cow. For instance, I know a struct with two words is going on the stack but if its any larger it will trigger heap activity and locking which is what they rail against with reference types. Then it will be suggested to Box properties in a struct but that seems like a hack. I can get Swift to run as fast as C++ but if I make a single incorrect assumption with the language my performance is highly penalized which for most programmers this might be the default situation.

      These concerns make me question protocol-oriented programming. For instance, a Swift array is really a reference behind the curtain but its a value type simulated. So, when the Apple developers were promoting protocol-oriented at WWDC I had these worries in the back of my mind.

      So, it is better at some things imo.

      Also, using final and whole module optimization seems to get the Swift code to the C++ performance level as promised. But the build time sky rockets.

    2. Re:Is Swift better than Objective-C for anything? by BasilBrush · · Score: 1

      Programming becomes a pleasure again, once you get past the past the hurdle of learning Swifts new features and differences.

      I'll give you 3.

      Swift makes header files unnecessary. Aren't you sick of maintaining both a .h and a .m file for every class?

      Swift makes handling of nulls explicit. In Obj-C any pointer could be nil, and mostly it's not clear if that is actually a meaningful thing, or whether you need to check for nil "Just in case". Swift's optionals mean you always define whether a "pointer" can be nil. And so when you come to use a value, you know whether you should be checking for nil or not.

      object.method() calls are far easier to read when chained than [object method]. The Obj-C variety had one advantage that it required methods with multiple parameters to be named. And that was better than the anonymous parameters of most other languages back in the day. But Swift as a syntax that encourages named parameters without mandating them. Which is the best of both worlds.

  71. Re:If this is open source... by Foofoobar · · Score: 1

    What what I say to the whiners who ask for open source versions for Windows, 'you can find it next to Microsofts open source version of Windows'

    --
    This is my sig. There are many like it but this one is mine.
  72. Tesla Autopilot development by haruchai · · Score: 1

    So why Tesla? What makes you a better choice than say, George Hotz ( except that he may not be sane)?
    Do you have AI dev experience?

    --
    Pain is merely failure leaving the body
    1. Re:Tesla Autopilot development by BasilBrush · · Score: 1

      Chris Lattner creates compilers and languages. So that's doubtless what he'll do at Tesla. Tesla has an NVidea board that is built for running neural networks, and does massive amounts of processing with Intel CPUs ARM cores and GPUs. Seems to me there's ample room for a language and compilers to deal with that, over and above whatever NVidia supply. A language for dealling with multiprocessing, neural networks and for creating AI rules. That sort of thing.

  73. Swift by LunarBase · · Score: 1

    As I see, when you delivered Swift it was headed on a different direction that it is now. What it was simplicity it is now complexity and obscurity. Apple is making Swift confuse and unreadable. What do you think?

  74. Re:If this is open source... by BasilBrush · · Score: 1

    If a Windows version shouldn't be that difficult, YOU do it. That's the point of open source.

  75. Re:What hardware is used for workstations at apple by Anonymous Coward · · Score: 0

    You really missed the whole "do not ask him about Apple" part, didn't you?

  76. questions by Anonymous Coward · · Score: 0

    Do you see yourself creating another language ?

    What problems do you see that new languages still need to address?

    Was the changing focus at Apple part of your reasons for leaving ?

    Thank you for you open source contributions !!!

  77. Re:If this is open source... by Anonymous Coward · · Score: 0

    You're either dumber than an ashtray, or you're a troll.

  78. Your opinion on Julia by Anonymous Coward · · Score: 0

    Swift is a nice and powerful language but I would like your opinion on Julia and why or when should i use Swift instead of Julia (outside of iOS development)?

    1. Re:Your opinion on Julia by hcs_$reboot · · Score: 1

      Oh you're not talking about this Julia http://media.lea-noticias.com/...

      --
      Slashdot, fix the reply notifications... You won't get away with it...
  79. False permise by Anonymous Coward · · Score: 0

    RTFA. It says nothing about Chris leaving Apple. It says he is passing on leadership/responsibility of Swift to someone else.
    Just because I flush my toilet does not mean that Kim Jil Un is in charge of my response to functional programming ( even though defecation does line up with "pure" functional programming styles )

    1. Re:False permise by Anonymous Coward · · Score: 0

      What the fuck is your problem? The mailing list message linked to from the summary clearly contains the following (emphasis added):

      ... a decision I’ve made to leave Apple later this month to pursue an opportunity in another space.

      The "I" in this case refers to Chris Lattner, since he's the one who wrote the goddamn mailing list message!

      Besides, he's apparently going to Tesla.

  80. Leaving Apple by hcs_$reboot · · Score: 1

    Why? Are you retiring? Going to Google (like a lot of competent engineers)? Creating your own structure? ....

    --
    Slashdot, fix the reply notifications... You won't get away with it...
  81. OK, I'll Ask the Question by LifesABeach · · Score: 0

    How many H1B Visa holders replaced you?

    1. Re: OK, I'll Ask the Question by Anonymous Coward · · Score: 0

      They're already turning Swift into a precompiler for Java!

      Seriously when IBM and others cut their oversees divisions to avoid being featured for unpatriotic conduct by the new Administration those subcontinent peeps will finally have to start making money another way than hourly.

    2. Re: OK, I'll Ask the Question by LifesABeach · · Score: 1

      If it happens, that would be good. My current concern is hearing that there is a request to place a hammer and sickle where one sees 50 stars.

  82. Re: Apple by Anonymous Coward · · Score: 0

    I most like their legacy of Steve Job, and most hate their obsession with fags, indo-chimps, and n1ggers.

  83. What excites you about your new Tesla job? by Khopesh · · Score: 1

    I hear you're moving on to work at Tesla as VP of Autopilot Software. Congratulations!

    What three things excite you the most about Tesla?

    --
    Use my userscript to add story images to Slashdot. There's no going back.
  84. Python?! WTF Over by FlyingGuy · · Score: 1

    Why, oh fucking WHY is their Python Code in the repository? Hasn't the world had enough of it, yet?

    --
    Hey KID! Yeah you, get the fuck off my lawn!
  85. ML/AI & Tesla by ari.stipped · · Score: 1

    How involved are you personally with machine learning / AI? And a couple follow-up questions if I may, what do you think made you the primary (and final) candidate for VP of Autopilot Software at Tesla? Finally, is the Autopilot engineering team the same team developing full autonomy (level 4) capability? Thanks for taking the time to answer these questions and best of luck at Tesla!

  86. Re:If this is open source... by Trailer+Trash · · Score: 1

    Where's the Windows version of Swift?

    Waiting for someone who's not a jackass to write it. I'd start with the Ubuntu version:

    https://swift.org/download/#re...

  87. Re:If this is open source... by Anonymous Coward · · Score: 0

    What people say about you

    he's a huge douche nozzle

  88. beware by God+of+Lemmings · · Score: 1

    Expect to be overworked at Tesla... :/

    --
    Non sequitur: Your facts are uncoordinated.
  89. Apple now... by hcs_$reboot · · Score: 0

    What do you think of Tim Cook as Apple CEO, and is it the (real) reason you're running away?

    --
    Slashdot, fix the reply notifications... You won't get away with it...
    1. Re:Apple now... by ruir · · Score: 1

      This should be modded up as insightful.

  90. Does this mean Swift will gain deep learning libs? by SuperKendall · · Score: 1

    Chris, you mentioned you'd continue to be involved with Swift; I've recently been taking some classes involving deep learning / neural networks, and as a result my old dislike of Python is certainly coming to a middle.

    Does your moving to head up the Autopilot Software division provide any indication that deep learning libraries may make their way into Swift so that some of us could engage in deep learning research and trials using that platform as a base rather than Python?

    I fully support languages that are good the job they do rather than just trying to do everything with one language, but still...

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  91. it's the best kind by Anonymous Coward · · Score: 1

    I don't understand why alt-right slashdotters use reference to butt sex in the most derogatory why when in reality butt sex is the most pleasurable of all sexing.

    1. Re: it's the best kind by Anonymous Coward · · Score: 0

      If it is "pleasurable" then yoy are a fucking pervert and need to be put down as a reminder to the rest not to turn into an abomination

    2. Re: it's the best kind by Anonymous Coward · · Score: 0

      What about butt sex with women eh? Got you there!

    3. Re: it's the best kind by Anonymous Coward · · Score: 0

      That means your closeted.

    4. Re: it's the best kind by Anonymous Coward · · Score: 0

      Butt sex is redpilled.

  92. why another curly brace lang? by bzipitidoo · · Score: 1

    Why dud you make Swift a curly brace language, especially as it seems you admire Python? One thing Python shows is that C style syntax is not the ultimate. I suppose you were in a hurry to get to the interesting stuff and just grabbed onto curly brace syntax?

    I'd like to see a real programming language that can be taught to elementary school students, not toy stuff like Logo or Scratch. These days, seems Python comes the closest to that ideal. Some still seriously recommend C/C++ for the kids.

    --
    Intellectual Property is a monopolistic, selfish, and defective concept. It is "tyranny over the mind of man"
  93. Do we need them? by SuperKendall · · Score: 2

    1) is the fact that it seems we NEED them.

    Do we? Why would anyone that is a jerk not simply ignore a code of conduct and do what they liked anyway?

    Is there a concrete example anywhere of a code of conduct stopping anything, ever?

    You could come back and say "it gives us reasons to reject someone". Yes but you could have done that ANYWAY without a COC and treating everyone with the presumption of assholishnes to begin with.

    That's the real problem I have with the whole COC frenzy, is that most of us are adults, and do not need a COC - it is insulting to present something like this as if we need it.

    Kinda like laws.

    It's nothing like a law, because it doesn't mean anything. A real law has a whole structure behind it built around judgement and enforcement of the law. The closest thing any COC has is essentially a kangaroo court that can only handle contention badly, and possibly in ways that are ACTUALLY illegal.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:Do we need them? by AmiMoJo · · Score: 1

      You are missing the point of having a CoC. It's not supposed to magically make people non-jerks or patronise adults. It's there so that everyone is aware of what is expected of them, and if they do decide to be a jerk can't turn around and say "well no-one said I couldn't!" If action needs to be taken the moderators can cite the CoC to justify their actions without it becoming a debate.

      It's the same as having rules in sports. People still cheat or find ways to be an asshat without technically breaking any rules. The only enforcement is the referee and governing body, which is frequently labelled an kangaroo court by people dissatisfied by its decisions. Yet people prefer sports to have rules, if only so all participants know what they are instead of it being some vague and ever-changing social norm.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    2. Re:Do we need them? by TheFakeTimCook · · Score: 1

      That's the real problem I have with the whole COC frenzy, is that most of us are adults, and do not need a COC

      You REALLY like that Acronym, don't you? ;-)

      Just teasing! (So, is that "COC Teasing?")

    3. Re:Do we need them? by SuperKendall · · Score: 1

      You are missing the point of having a CoC. It's not supposed to magically make people non-jerks or patronise adults. It's there so that everyone is aware of what is expected of them

      YOU are missing the point of why I dislike the CoC. It's that all of us ALREADY KNOW what is expected of them. The CoC is an assumption that we are all idiots.

      You know who needs to be told what is expected of them? Gradeschoolers. Professional adults? Not so much.

      It's the same as having rules in sports.

      What is it with all of the people trying to equate a CoC to rule or laws or anything else that is ACTUALLY REAL AND ENFORCED. The CoC is more like the Pirate Code, a guideline if you will that has no meaning compared to the hard and fast rules that exist in sports. There is no neutral party at a conference that can act as a ref. There are the rule makers and the rule followers and that is it, not to mention that the ground the CoC covers is so inherantly anyway that to equate it to a black and white rule from sports is beyond farce.

      --
      "There is more worth loving than we have strength to love." - Brian Jay Stanley
    4. Re: Do we need them? by Anonymous Coward · · Score: 0

      Yep. I'm all for sensible rules, but that is not what these people are pushing. It's a classic case of inventing a problem for their solution. Open source should become politicized by this identity politics shit. They have a long established track record for moving in to communities and leaving them a smoking ruin.

      Sure, adopt a code of conduct on request of the diversity crowd. Just don't be surprised if in a year or two you've lost your good contributors and are finding conversation resembles a Tumblr blog.

  94. C++ winds unreadably award by a mile by SuperKendall · · Score: 1

    Swift is in fact more confusing and convoluted to read than the ubiquitous C++.

    I've done a lot of C++ in the past and a lot of Swift in the present. At its worst Swift is 10x more readable than the average C++ code. Even if for some reason you are looking at the name managed output of class/method names in the debugger just compare that to the multi-page joy that was (is?) template class debugger output...

    Just the fact that Swift does not support multiple inheritance lends it the automatic win.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re: C++ winds unreadably award by a mile by Anonymous Coward · · Score: 0

      I bet you've recently converted and yet to do any real work in stupid Swift. Also you do sound like an apple apologist, so I wouldn't trust your opinion.

    2. Re: C++ winds unreadably award by a mile by Applehu+Akbar · · Score: 1

      (Telltale sound of dripping water indicating Android apologist)

    3. Re:C++ winds unreadably award by a mile by Anonymous Coward · · Score: 0

      Just the fact that Swift does not support multiple inheritance renders it an incomplete tool targeted at complete tools

      ftfy

    4. Re: C++ winds unreadably award by a mile by Anonymous Coward · · Score: 0

      How cute, you took one of the most common accusations aimed at apple fanbois and somehow tried to apply it to people without a preference. PS Android OS is the most unusable pile of steaming garbage of all time - outside the Apple ecosystem.

  95. There are multiple package managers by SuperKendall · · Score: 1

    I know you said native, but for the benefit of others who may not know much about the Xcode ecosystem, you can use the venerable CocoaPods, or the less venerable but more enjoyable Carthage. These both have extremely wide support (CP moreso). CP will generate a whole workspace for you and everything.

    Looking forward, almost certainly Xcode will integrate the Swift Package Manager which is still in early days, but you can see it coming down the pike soon, probably official integration this year at WWDC.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  96. Question on LLVM by Anonymous Coward · · Score: 0

    So if I'm not mistaken you started work on LLVM when you were at the University of Illinois and did much of the initial work as part of your Master's Thesis. My question is thus: Has the it's purpose changed at some point along the way? Is it still what you planned it to be when you were at University or have changes occurred along the way as it's become such an integral part of many commercial products by a myriad of companies. The reason why I'm asking is that a lot of projects and products born in academia go trough some major changes in both purpose and functionality as they mature and expand beyond the realm of academia.

    I do apologize if I come off as a completely ignorant buffoon as I'm personally more of a GCC person and haven't really ever looked into the development history of LLVM.

  97. Slashdot has malicious ads by Anonymous Coward · · Score: 0

    Fix your shit

  98. A Swift Move by Anonymous Coward · · Score: 0

    For everyone.

  99. Your position at Tesla by BESTouff · · Score: 1
    Hi Chris,

    Can you tell us more about your position at Tesla ? What exciting stuff will you do with Autopilot ?

    Do you intend to open-source (parts of) it ?

  100. Rust vs Swift by BESTouff · · Score: 1
    Hi Chris,

    I have my opinion about the respective merits of Rust vs Swift, both being relatively new languages with interesting takes on safety, elegance and performance. What's your take on it ? Retrospectively, what would you have done differently in Swift that Rust got right, and what do you think Rust misses that you put in Swift ?

  101. Re:If this is open source... by Anonymous Coward · · Score: 0

    If you're putting out Open Source software for Linux and Mac, a Windows version shouldn't be that difficult.

    Both Linux and MacOS (as well as iOS) are operating systems derived from Unix. In fact, a program developed against the Unix specification that does not use any platform-specific APIs will instantly compile and run on both systems. Windows is different.

  102. Re:If this is open source... by Anonymous Coward · · Score: 0

    The parent has a point. Open Source has no need to be portable, but at the end of the day popular OS projects are always ported, either because people make them portable, or because people branch the code to make their system-specific version. Since Swift is being massively popular, why is this not happening?

    My bet here is that the language relies on heavy dependencies towards the closed Apple ecosystem, and is thus no better than an 'open source' graphics driver that relies on a massive blob of closed binary code. And then it would be Apple who doesn't understand what "open source" means.

  103. Why are Apple users mainly brainwashed morons? by Anonymous Coward · · Score: 0

    Why are Apple users mainly brainwashed morons?
    And you abuse this situation and profit from this?

  104. Does Apple use Xcode internally? by Anonymous Coward · · Score: 0

    Or other tools?

  105. What has happened to toolchain quality? by Anonymous Coward · · Score: 0

    In the last couple release of Xcode, the overall stability and quality has degraded and the product has become frustrating to use. For example, syntax highlighting on projects with both swift and obj-c is all but broken most the time, clicking into a variable takes you to the wrong place, and the app crashes frequently as a result of "infinite build loops".

    Has the complexity of the monumental task of making this all work together caught up with the ability to deliver a great IDE? When will we see Xcode slide back into shape?

  106. Linux? by Parker+Lewis · · Score: 2

    Do you run Linux in any station? If yes, which distro? Which pros and cons about Linux desktop distros?

  107. Re: If this is open source... by UnknowingFool · · Score: 1

    That's as asinine as saying just because my neighbor has a snow shovel and I do not, he should clear my sidewalk when he clears mine after and snowstorm. No he has generously offered to lend me his snow shovel if I should ask but he's not going to do the work. Expecting someone who open sourced something to put it on the platform of your choice is equally selfish. Why don't you learn Windows APIs, C#, etc and do it yourself.

    --
    Well, there's spam egg sausage and spam, that's not got much spam in it.
  108. Re: If this is open source... by __aaclcg7560 · · Score: 1

    Expecting someone who open sourced something to put it on the platform of your choice is equally selfish.

    How far would Java have gotten if it only ran on Sun SPARC systems?

    Why don't you learn Windows APIs, C#, etc and do it yourself.

    I don't have to. Someone else did a Cygwin port.

  109. Re:If this is open source... by __aaclcg7560 · · Score: 1

    If a Windows version shouldn't be that difficult, YOU do it. That's the point of open source.

    I'm not a CORPORATION with the resources to develop a new programming and put it out on multiple platforms.

  110. Re:If this is open source... by __aaclcg7560 · · Score: 1

    You're either dumber than an ashtray, or you're a troll.

    My question is perfectly valid. No reason to insult me for asking a question.

  111. Re:If this is open source... by __aaclcg7560 · · Score: 1

    Windows is different.

    I used to work in the video game industry when the PlayStation 2 (Linux-based), xBox (Windows-based) and GameCube (probably Linux-based) were current gen consoles. The developers would code on the PlayStation 2, and then port to the other consoles from the same codebase. A generalized bug fixed for the PlayStation 2 got fixed for the other platforms. Nintendo rejected anything that looked like a PlayStation 2 port, which required more work for the GameCube version than the Xbox version. Using a common codebase for multiple platforms with different operating systems was doable. That Apple is unwilling to do a Windows port suggests that they didn't something wrong.

  112. Re: If this is open source... by UnknowingFool · · Score: 1

    In the case of Sun, that was Sun's choice which is the point you are missing. Open source software is under any obligation to port. Did Linus make sure that Linux runs on Windows machines? No he puts out the kernel and other people port to all sorts of hardware. Does RMS ensure that GNU works under Windows? No. Does Canonical make sure that Unity works on OS X or Windows? No. These are choices.

    Secondly using Cygwin is not porting to Windows. That's running Linux in a VM in Windows.

    --
    Well, there's spam egg sausage and spam, that's not got much spam in it.
  113. Re: If this is open source... by __aaclcg7560 · · Score: 1

    In the case of Sun, that was Sun's choice which is the point you are missing.

    You're missing my point. Apple is a CORPORATION just like Sun back in the day. Apple has Windows developers since they put out iTunes for Windows. If Apple want their Open Source language to be successful, they should port it to Windows. They're not lacking the resources like Linus, RMS and Canonical.

    Secondly using Cygwin is not porting to Windows. That's running Linux in a VM in Windows.

    If I can use it on Windows, then its a Windows program. I'm not a purist.

  114. Re:If this is open source... by BasilBrush · · Score: 1

    I didn't suggest you put it out on multiple platforms. I suggested you port it to Windows, just Windows, since you claimed it wouldn't be difficult.

    Now you're saying it is so difficult only a company could do it. Make your mind up.

    As to doing it on your own, if it's too much work for your, get help. GitHub is there for you to both host the code and run the development as a team effort.

  115. When are they going to Fire the Cook? by Anonymous Coward · · Score: 0

    He's a miserable failure.

    And pulling millions of cash from what's left of Apple's fanbase.

    What a shame.

  116. Re:If this is open source... by __aaclcg7560 · · Score: 1

    I suggested you port it to Windows, just Windows, since you claimed it wouldn't be difficult.

    For APPLE this shouldn't be difficult.

    Now you're saying it is so difficult only a company could do it.

    I'm talking about APPLE. A multi-billion-dollar COPORATION with tons of Linux, Mac and Windows developers on staff.

    Apple developed this programming l

    Make your mind up.

    Learn to read.

    As to doing it on your own, if it's too much work for your, get help. GitHub is there for you to both host the code and run the development as a team effort.

    I'll let Apple know that they need help on the Windows port.

  117. Re:If this is open source... by BasilBrush · · Score: 1

    It's not Apple's job to do a Window's port.

    Open source only means that the souce is open, and available for who ever wants to take on the task.

    Clearly you are not up to it. Therefore you'll have to do without.

  118. Re:If this is open source... by EndlessNameless · · Score: 1

    If you're putting out Open Source software for Linux and Mac, a Windows version shouldn't be that difficult.

    If that's true and Apple still hasn't done it, then you can assume Apple doesn't care about the Windows platform. I doubt many people would argue with that assumption.

    Especially since Apple has Windows development teams on hand to do the work.

    I assume those development teams are doing things that are valuable to Apple's bottom line.

    Since it is open source, you can do it if you want. Or Microsoft can do it.

    Anyway, if you want it more than Apple and Microsoft then you can build it yourself. That's what open source gives you---the ability to take the code and run with it however you want.

    You could even look for like-minded developers to help you. That's how open source communities get started.

    But crying on Slashdot? That gets you nothing except ridicule.

    --

    ---
    According to the latest ruleset, this post should be modded as Vorpal Flamebait +5.
  119. Re:If this is open source... by __aaclcg7560 · · Score: 1

    It's not Apple's job to do a Window's port.

    Maybe Microsoft can do it since they're interested in Open Source programming languages. For example, Objective-C for Windows.

    https://github.com/Microsoft/WinObjC/

    Clearly you are not up to it.

    You're right. I only care about Swift as an end user. It's not worth my time as a programmer to do someone else's job to port their programming language to a popular platform.

    Therefore you'll have to do without.

    I'll use the Cygwin port.

  120. Re:If this is open source... by __aaclcg7560 · · Score: 1

    But crying on Slashdot? That gets you nothing except ridicule.

    I asked a question. I don't understand why everyone is acting so butthurt about it.

  121. Re: If this is open source... by BasilBrush · · Score: 1

    Windows is completely irrelevant to the success of Swift.

  122. Re:What hardware is used for workstations at apple by Anonymous Coward · · Score: 0

    Very interesting. Thanks for sharing!

  123. Edsger W. Dijkstra once said by Anonymous Coward · · Score: 0

    It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.
    Edsger W. Dijkstra

    1. Re:Edsger W. Dijkstra once said by Anonymous Coward · · Score: 0

      That quote says more about Dijkstra than it does about BASIC.

  124. In Swift 3.0 Naming... by lloy0076 · · Score: 1

    What does this mean:

    * Prefer method and function names that make use sites form grammatical English phrases. [sic]

  125. Re: If this is open source... by Anonymous Coward · · Score: 0

    Can't it be two things?

  126. Re:If this is open source... by Anonymous Coward · · Score: 0

    > Open source means being available on all platforms (i.e., Linux, Mac and Windows).

    Um... who told you that??

  127. Re:If this is open source... by david_thornley · · Score: 1

    What you seem to be completely missing is that nobody has the obligation to do the port you want done. You may think Apple would be better off if it did a port, but apparently the people running the project at Apple don't agree. Apple has the resources to do the port, but it isn't free for them either, and they can set their own priorities which do not have to agree with yours.

    --
    "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  128. Re:If this is open source... by david_thornley · · Score: 1

    Because you seem to think that Apple should do what you want, and you don't seem to get the point of Open Source. You can reasonably ask questions like "Is there a Windows version?" or "When will there be a Windows version?" or "Why isn't there a Windows version?". You asked "Where's the Windows version?" and then acted like Apple had some sort of obligation to provide one.

    The point of Open Source, here, is that you don't have to rely on Apple to come up with a port. Somebody else can. You can start a project to do it. It doesn't mean anybody has an obligation or made a commitment to do anything with the code.

    --
    "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  129. Re:If this is open source... by __aaclcg7560 · · Score: 1

    You can reasonably ask questions like "Is there a Windows version?" or "When will there be a Windows version?" or "Why isn't there a Windows version?". You asked "Where's the Windows version?" [...]

    Those are all the same question.

    [...] and then acted like Apple had some sort of obligation to provide one.

    If Apple wants Swift to be a successful language, it should be on all the major platforms. Apple doesn't lack the resources to do this, so it shouldn't be unreasonable to ask for a Windows version. It is unreasonable to portray me as the villain for asking the question. Of course, Swift could end up in quiet obscurity like Objective-C and Microsoft can support it for Windows via Open Source.

  130. Re:If this is open source... by Anonymous Coward · · Score: 0

    Apple does want Swift to be a successful language... for developing Mac and iOS apps.

    They're not stupid. They are not about to give the competition any help if they can avoid it.

  131. Re:If this is open source... by __aaclcg7560 · · Score: 1

    They're not stupid. They are not about to give the competition any help if they can avoid it.

    If that was the case, they shouldn't have released Swift as open source.

  132. WHY is it open source...? by Anonymous Coward · · Score: 0

    > If that was the case, they shouldn't have released Swift as open source.

    Very possible. Maybe a good question for Lattner is why did they do that?

    "HEY Lattner! Why did you make Swift open source?"

  133. Re:If this is open source... by david_thornley · · Score: 1

    If that was the case, they shouldn't have released Swift as open source.

    Why not? There are benefits to releasing something as Open Source, and there are disadvantages. Very few people outside the Apple ecosystem cared about Objective-C. My guess would be that Apple is being helpful towards serious Mac/iOS developers, who will have Macs and will be able to run the Apple version, and don't care about anyone else.

    --
    "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  134. Re: If this is open source... by UnknowingFool · · Score: 1

    You're missing my point. Apple is a CORPORATION just like Sun back in the day. Apple has Windows developers since they put out iTunes for Windows.

    Wow you really are dense. Apple has Windows developers. So what?

    If Apple want their Open Source language to be successful, they should port it to Windows.

    That's probably the most idiotic thing you've said. Was Java "ported" to Windows? No. Sun wrote a VM for Java. That's it. Java never was "ported". I don't think you know what "ported" means.

    They're not lacking the resources like Linus, RMS and Canonical.

    Again another idiotic thing you've said. You've missed the point again. Having resources != having the will or desire. Apple doesn't want to do it. That's why they open sourced it. So that others could.

    If I can use it on Windows, then its a Windows program. I'm not a purist.

    Um no. I think your understanding of computer programs is sorely lacking. Running something in Cygwin in Windows is not a "port" of that program.

    --
    Well, there's spam egg sausage and spam, that's not got much spam in it.
  135. Were do you see Swift heading? by Qbertino · · Score: 1

    Were do you see Swift heading?

    Does Swift want to become a modern feasible replacement for other cross-plattform technologies like Qt or is it focussed on Apple plattdorms?

    Were/are there plans to build a full-blown cross-plattform application layer ecosystem for Swift, including IDE and a plattform agnostic standard lib or is this a thing left to anyone wanting to it themselves?

    Thanks for answers. And good luck at and for Tesla!

    --
    We suffer more in our imagination than in reality. - Seneca
  136. Re: If this is open source... by __aaclcg7560 · · Score: 1

    Sun wrote a VM for Java. That's it. Java never was "ported". I don't think you know what "ported" means.

    You can't have Java without the VM. No VM, no Java. Hence, Sun "ported" Java to Windows, Mac and Linux.

    I think your understanding of computer programs is sorely lacking.

    I made the president's list for maintaining a 4.0 GPA in computer programming after I graduated from community college. That took me five years because I was taking two classes per semester, working 60+ hours per week as a video game tester and teaching Sunday school. I'm not a professional software developer. I went into IT support to use my programming background to help users solve difficult problems made difficult by professional software developers.

    Running something in Cygwin in Windows is not a "port" of that program.

    Swift for Cygwin and Windows is called a "port" on the swift-dev list. The Cygwin port requires a hack to compile the binary for distribution. The Windows port requires more effort for a native binary.

    https://lists.swift.org/pipermail/swift-dev/Week-of-Mon-20160418/001790.html

  137. Re:If this is open source... by Anonymous Coward · · Score: 0

    So you think Apple is helping make Swift popular by open sourcing it, yet you say it can't be successful unless they do a Windows version.

    Which is it? Will Swift help the competition or not without a Windows version?

  138. Re: If this is open source... by UnknowingFool · · Score: 1

    You can't have Java without the VM. No VM, no Java. Hence, Sun "ported" Java to Windows, Mac and Linux.

    Again, please learn what the term "porting" means. One of the strongest features of Java was the fact you didn't have to "port" it to different environments. "Write once" was a feature.

    I made the president's list for maintaining a 4.0 GPA in computer programming after I graduated from community college. That took me five years because I was taking two classes per semester, working 60+ hours per week as a video game tester and teaching Sunday school. I'm not a professional software developer. I went into IT support to use my programming background to help users solve difficult problems made difficult by professional software developers.

    So after five years at a community college, you finally graduated. But you don't actually work as a programmer. I guess this explains why you don't understand basic concepts of programming.

    Swift for Cygwin and Windows is called a "port" on the swift-dev list. The Cygwin port requires a hack to compile the binary for distribution. The Windows port requires more effort for a native binary.

    Wow. So much wrong in that understanding. Cygwin is a VM. Please look what that is. Swift is a programming language. Please look that up as well.

    --
    Well, there's spam egg sausage and spam, that's not got much spam in it.
  139. Re: If this is open source... by __aaclcg7560 · · Score: 1

    One of the strongest features of Java was the fact you didn't have to "port" it to different environments. "Write once" was a feature.

    That's misleading. The language is write once. But unless someone ports the JVM, you can't run the language on a different system.

    So after five years at a community college, you finally graduated.

    Because I was working 60 hours as a video game tester and teaching Sunday school. Some people would find it impossible to take two or three classes on top of a schedule like that and still get straight A's for five years in a row.

    But you don't actually work as a programmer.

    These days I write PowerShell scripts to automate InfoSec tasks. I would prefer to use Python but the three-letter government agency I work for is a Windows shop.

    I guess this explains why you don't understand basic concepts of programming.

    As a lead video game tester for three years, I worked closely with developers around the world. Because I was taking classes in computer programming, I was able to narrow the scope of the bug reports to the actual problem. On one occasion I was allowed to look at the code and found a bug that way.

    IT support for Fortune 500 companies was no different. I get tickets, look at problems, talk to users and developers, and find solutions that no one else can. I even walked a CS graduate on how to turn on his workstation over the phone since cubicle farms don't have people standing around to turn on workstations like university computer labs do.

    Wow. So much wrong in that understanding.

    I'll provide the link for the Swift-Windows releases below. Please read through the instructions carefully. Note that you will need to download swift-cygwin-20160913-bin.tar.gz for Cygwin or swift-mingw-20160815-bin.7z for Windows. You won't be able to run Swift the programming language without those binaries.

    https://github.com/tinysun212/swift-windows/releases

    Once you have the binaries installed, you can use swift for immediate mode and swiftc for compiling. If this look familiar, it's similar to java and javac for Java programs.

  140. Re: If this is open source... by Anonymous Coward · · Score: 0

    Go to Java.com. Click download. Click the "see all Java downloads" link.

    You dont see just one installer, you see separate ports for Windows, Mac OS X, Linux and Solaris.

  141. LINQ by cerberusss · · Score: 1

    Once on a conference, I talked to Casey Liss (co-host of the ATP podcast). He's now an iOS developer, but at the time was still a .NET developer. He explained the basics of LINQ to me. Basically, it's an extension of the language for querying the database. In other languages, including Swift and Objective-C, you'll type your query in quotes. The compiler has no idea what's between the quotes, it's just a string for all it cares.

    In C# with LINQ, the compiler offers code completion and type checking for queries and I thought that was great. I know Swift and Objective-C have Core Data, but LINQ is much more integrated. Why doesn't have Swift something like that?

    --
    8 of 13 people found this answer helpful. Did you?
  142. Uncaught exception of type NSException by cerberusss · · Score: 1

    Hi Chris,

    I just wanted to say that it's really great that libc++abi.dylib: terminating with uncaught exception of type NSException
    libsystem_c.dylib`__abort:
            0x18131340c : adrp x8, 149589
            0x181313410 : add x8, x8, #0 ; =0
            0x181313414 : ldr x9, [x8, #8]
            0x181313418 : cbnz x9, 0x181313428 ;
            0x18131341c : adrp x9, 27
            0x181313420 : add x9, x9, #1393 ; =1393
            0x181313424 : str x9, [x8, #8]
            0x181313428 : stp x20, x19, [sp, #-32]!
            0x18131342c : stp x29, x30, [sp, #16]
            0x181313430 : add x29, sp, #16 ; =16
            0x181313434 : sub sp, sp, #32 ; =32
            0x181313438 : add x8, sp, #16 ; =16
            0x18131343c : add x19, x8, #8 ; =8
            0x181313440 : movn w20, #0
            0x181313444 : stp xzr, x20, [sp, #16]
            0x181313448 : orr w0, wzr, #0x6
            0x18131344c : add x1, sp, #16 ; =16
            0x181313450 : movz x2, #0
            0x181313454 : bl 0x1812c254c ; sigaction
            0x181313458 : ldr w8, [sp, #24]
            0x18131345c : and w8, w8, #0xffffffdf
            0x181313460 : str w8, [sp, #24]
            0x181313464 : str w20, [sp, #12]
            0x181313468 : orr w0, wzr, #0x3
            0x18131346c : add x1, sp, #12 ; =12
            0x181313470 : movz x2, #0
            0x181313474 : bl 0x18132880c ; symbol stub for: __printf_arginfo_n
            0x181313478 : orr w0, wzr, #0x1
            0x18131347c : bl 0x181467470 ; __pthread_workqueue_setkill
            0x181313480 : orr w0, wzr, #0x3
            0x181313484 : mov x1, x19
            0x181313488 : movz x2, #0
            0x18131348c : bl 0x18146585c ; pthread_sigmask
            0x181313490 : bl 0x18146a908 ; pthread_self
            0x181313494 : orr w1, wzr, #0x6
            0x181313498 : bl 0x1814673e0 ; pthread_kill
            0x18131349c : movz w0, #0x2710
            0x1813134a0 : bl 0x1812efb3c ; usleep$NOCANCEL
            0x1813134a4 : orr w8, wzr, #0xffffffe7
            0x1813134a8 : str w8, [sp, #24]
            0x1813134ac : orr w0, wzr, #0x3
            0x1813134b0 : mov x1, x19
            0x1813134b4 : movz x2, #0
            0x1813134b8 : bl 0x18132880c ; symbol stub for: __printf_arginfo_n
    -> 0x1813134bc : brk #0x1

    --
    8 of 13 people found this answer helpful. Did you?
  143. Re: If this is open source... by UnknowingFool · · Score: 1

    That's misleading. The language is write once. But unless someone ports the JVM, you can't run the language on a different system.

    No it's factual. You don't seem to understand that your knowledge is lacking. The language is open source which was done by Sun. The VM may not be. Sun is not the only one to put out a VM. Microsoft did. IBM did. Depending on the processor used, VMs for Java were released by other parties. Sun open sourced the language. They also put out a VM that works with Windows. Apple has open sourced Swift the language. They are not releasing VMs for Windows.

    These days I write PowerShell scripts to automate InfoSec tasks. I would prefer to use Python but the three-letter government agency I work for is a Windows shop.

    This still doesn't explain your lack of understanding of programming.

    --
    Well, there's spam egg sausage and spam, that's not got much spam in it.
  144. Re: If this is open source... by __aaclcg7560 · · Score: 1

    This still doesn't explain your lack of understanding of programming.

    I understand programming quite well. It's your argument that's lacking.

  145. Re:If this is open source... by Anonymous Coward · · Score: 0

    > Both Linux and MacOS (as well as iOS) are operating systems derived from Unix.

    MacOS and iOS are derived from Unix.

    Linux is... shall we say, inspired by Unix.