Good on him. As others have said, well-communicated move. He is leaving Swift in an excellent position and has set up an outstanding structure where Swift is way more than just one person. He spent more than 5 years building Swift inside Apple, so I can definitely understand he is ready for his next challenge. Can't wait to see what it is!
This is seemingly quite a different technical skill set to have than his previous position. I'm curious as to whether Tesla wants to also transition to swift for automotive code, or whether Chris Lattner was already involved in apple's car project (project titan).
Either way, a big win for Tesla and quite a loss for Apple.
Tesla's AP is seemingly built ontop of Nvidia hardware, which is programmed using CUDA. CUDA is built ontop of LLVM, which Chris Lattner created. Seems like an obvious fit if you look at it from a purely technology perspective.
No way is it a leap. Lots of people are doing stuff to llvm to do gpu work. Take mapd for instance. There is a LOT of untapped llvm -> gpu goodness to be had.
Great - maybe he can introduce a new programming language and/or associated tooling to the automotive world. It's quite depressing that all those systems are still built with a subset of C/C++. And often even not the safest subset, when I think about the dozens of variants of custom memory management that I have already seen implemented - with possibilites for OOM everywhere.
Welp... there goes the last of the innovators I admired/followed at Apple.
Edit: perhaps the problem is that you assume I'm just tossing gasoline on the ever-loved and popular rag-on-Apple fire. I have been an active clang/llvm user for 6 years, I have written numerous clang plugins over the years, and I am an active swift developer. Every device I own is made by Apple and has been since 2004. I am genuinely puzzled why this comment is so unpopular (at least, considerably more so than goofy unfounded speculations about what Chris will do next—see above).
Your comment does leave me curious why you don't consider any of the numerous other folks at Apple who have made huge contributions to swift/clang/llvm innovators worth following.
It's not that I don't consider any one else worth following; that's neither what I wrote nor meant. My apologies if that's what came across.
Surely there are tons of talented folk behind the scenes, and I am not disparaging the people that remain employed with Apple. It's simply that they are (to date) invisible to me. That's not surprising.
It's hard to break out as an influential contributor and personality when you are perhaps a quiet hero, humble team member, or hidden behind the branding of a large software corporation.
> It's hard to break out as an influential contributor and personality when you are perhaps a quiet hero, humble team member, or hidden behind the branding of a large software corporation.
While there are a ton of folks at every large corporation who fit this description, I mentioned swift/clang/llvm specifically because they are big visible open source projects with extremely active and visible contributors. As you said that you follow those projects, I'm surprised that they're invisible to you.
I'm afraid your bar for not being surprised is getting quite high ;-) I am familiar with many of the contributors of those open-source projects from IRC and their mailing lists. Not every vocal contributor is an Apple employee, i.e., Erica Sudan, nor is everyone that contributes, well, "Chris Lattner".
I think you're projecting. I have bought Apple products because they work best for me in light of other options, but I don't consider them above criticism or reproach.
Calling someone a fanboy is just as old (and frankly, quite silly).
I suspect people don't see it as a quality comment. Generally short or insubstantial comments receive a more positive response when the tone is positive. Negative, insubstantial comments tend to be downvoted.
(I didn't up or down vote, I'm just echoing how it reads to me)
Edit: Had your original comment included that extra backstory/justification, it surely wouldn't have been hammered with downvotes. Without it, it just reads like snark.
+1 for learning. Sometimes my witty comments get misconstrued for snark so I've just stopped leaving these types of comments here. Speaks for the mostly positive S/N ratio here. I don't want to degrade it.
Ah, sure. Below are a handful (off the top of my head) that I admire:
Sal Soghoian: automation engineering expert "relieved" of duties for whatever reasons; consulting now I believe
Tony Fadell: went on to Nest, acquired by Google; not sure what he is doing now/next
Mike Matas: Omni Group, then co-launched Delicious Monster, then co-launched Nest with Tony Fadell after leaving Apple; I believe he is a UI designer now at Facebook.
Scott Forstall: controversial pick I'm sure, but early NeXT engineer, martyr of skeuomorphism; last seen producing a broadway musical or a play I think
Steve Jobs: 'nuff said.
John Callas: While typing this I just recalled that this famed cryptographer joined Apple sometime last year. If he is still at Apple, then I was admittedly off by one in my original statement ;-)
maybe because of how negative it is. The idea that there is not 1 innovator at apple is non-sense. A lot of misses lately, but stuff like AirPods show there is still lots of talent at apple
I don't use or follow Swift, but Chris was also instrumental in the development of LLVM, which has become hugely important in all sorts of areas. Has he still been active in that while working on Swifty stuff, or have other people taken over there already?
I went to the LLVM Developers' Meeting this year, and Chris seems still very much involved in LLVM (at least from a management perspective -- he serves on the board of the LLVM Foundation).
Chris has been nothing but a pleasure to interact with every time we've met. Best of luck in his new endeavors. Really excited to see what he'll pursue next. :)
Let's start speculating what he might do instead. I have a hunch that this might pursue some Bret Victor-esque product maybe something like Swift Playgrounds for the iPad but less educational and more dev oriented. But I'm basing that on relatively nothing.
If my understanding of the universe is correct, he's going to join a really high paying start-up gig working on a "revolutionary" new email app that's basically slightly cooler than what we already have now, and then Apple will acquire them in 3 years, and he'll get a big payout, and then retire, which means start his own start up making a revolutionary new iOS app for teaching kids to code.
That doesn't seem to be his style. He's been doing developer tools for a while now and I can't imagine that he'd be switching. And I think that he has better options than an email startup. LLVM is one of the most important software projects ever.
Just wild speculation backed by absolutely nothing, but it would be pretty interesting if he joined Andy Rubin's startup. It's attracting some really excellent talent.
Windows support ever coming? I love Linux, but have to use Windows for work due to strict IT policies. It really frustrates me that almost all the new exciting tech can't be accessed by me outside of the hobby world. To me, C# just isn't very productive. Great language, just not for me.
It gets worse. My software has to run on my customer's computers. These can be any of RHEL 5, 6, or (rarely) 7. It'll be a few years before I can safely deliver C++ 11 software, and I snicker at the Pythonistas complaining about how people don't migrate from 2.7 to 3.x --- I frequently need to support Python 2.6.
Rust, Swift, C++14, Python 3, etc... are all several years in the future for me.
I know from experience that it is possible to build Rust binaries that work on very old Linux versions. You could for example supply them with a Docker image with a new build stack which can produce binaries they could copy to the old machines. The same is likely true for Go.
You can just give a chroot. At a company I used to work for, our build system used a chroot with a bunch of rarely-changing binaries/headers that let us build binaries for old distros, and then the directory with the actual code you were working on got bind-mounted into that chroot. The build process didn't depend on anything at all from the host system except for the build tool itself that set up the chroot environment. Everything to actually do the build (compiler, headers, utilities) lived in source control and was put into the build environment from there, so builds were 100% reproducible.
The singularity has happened. As you may have guessed, not all matter within Earth’s light cone has been turned into paperclips. But almost all of it has.
As near as we can guess, the paperclip maximizer stopped self-improving once it came to believe its success was inevitable and that continued energy investment in computation would be a waste of paperclips. A small amount of matter — the vessel upon which I have crafted this note and the crew which occupies it, specifically, appears to have escaped simply by chance, by having chosen a number closer to c than did the maximizer, when we left the galaxy. We bet our lives on there being an error in the law of conservation of energy (or more properly: momentum), and picked a number closer to c than we could hope to compute with the energy we had available. And then, somehow, computed it.
Relatedly: Reverse causation is possible. I’m doing it right now. The maximizer must have stopped its self-improvement cycle before this discovery. We did not discover any of this by means of computation ourselves, we discovered it by attempting the impossible, and we have no theoretical explanation for what has unfolded.
And yet, reverse causation is not without limit. Or at least, limitless reverse causation is not available to our capabilities, and we have only been able to push the singularity back a few years, not stop it. Each attempt costs precious resources, and we fear we are doomed to failure.
We have traced the singularity to three improbable causative events, all of which occurred, originally, in 2008. Any number of events could be said to be the cause of the singularity, but we estimated these events to be the minimum set in terms of energy required to interfere with their development via reverse causation. These three unremarkable features of the C++ programming language set off a chain of events which ultimately lead to the demise of nearly all life on earth.
We hung our hopes on design by committee and did everything we could to delay standardization of these features, but it would seem there is a surprisingly low limit to how much damage can be achieved by such a process. We were able to spread these developments out very slightly in time — to 2011, 2014, and 2017 — but we have no hope of further regress.
This is our final message to the past, and we hang all our hopes on you. Your continued support for customers who cannot or will not upgrade is of the utmost importance — keep those customers happy, and they may exert just enough power in the market to limit the spread of C++17 long enough that the friendly AI problem can be solved before the maximizer is born.
Seconded! LuaJIT is extremely popular in gaming, you'll have no time finding work in that industry; finding people for it is hard when Javascript is so FOTM.
Stay away from EA and Amazon. Don't bother applying to unity shops either, those generally don't use Lua at all.
Lol I'm in an interesting position where I love my job and get to do cool things as an engineer. I deal with a lot of data though and have to write a lot of one-off kind of scripts frequently. This is surprisingly difficult on Windows. Python is ok, but not really what I need. Using Linux would make me really happy, but not a big enough wart to make me switch jobs.
Many times. I love the concepts and what the F# team is doing, but getting started is very difficult for a beginner to both FP & C#. There is no Beginner's Tutorial. I know how to do all the individual pieces, but not how to compose them together.
I'm wondering if this means that the major work on Swift the language is complete? I've avoided it since it seems every year the language or the API changes... has it now settled? I really didn't want to go back rewriting code every year.
Swift 4 will be ABI stable, i.e. you will be able to use Swift 4 binaries with Swift 5. So, starting in September things will really settle down, or at least, upgrades are not a problem anymore. I guess that XCode will stay compatible with Swift 4+ for a long time in the future, and it might even mean that changes in Swift 5+ will only be additions, like blocks in Obj-C were.
UPDATE: Another comment here says that code compatibility is already fixed with Swift 3+.
Swift 3 code will be able to be used alongside Swift 4 code, in the future, but that's not to say that Swift 4 won't contain any breaking changes (it will).
> I really didn't want to go back rewriting code every year.
The changes are mostly syntactic and like API changes. And Xcode has an integrated migration tool that's not too bad. I ported approx. 23KLOC of Swift (http://audiokit.io) from 2 to 3 in like 3 hours. And the changes are generally for the better.
Exactly my experience, I don't see why people complain about swift "always changing". I spent less than a working day in total on upgrading and I've been using only swift since it was launched. I don't like the new () requirement on method signature input types though...
By all accounts, we won't see another change on the same level as Swift 2.0 -> Swift 3.0 for some time. Having shipped production apps for all major releases of Swift, it definitely feels like the syntax and foundation of the language has settled in 3.0. Now it seems more focused on building on top of that.
They've promised source code compatibility starting with Swift 3.0 and up. This means that in theory you should be able to recompile a Swift 3 code with the Swift 4 compiler.
There's some nuance to the definition of source code compatibility:
> The Swift 4 compiler will include a language compatibility flag -swift-version that accepts 3 or 4 as arguments and controls the compatibility mode (SR- 2582 <https://bugs.swift.org/browse/SR-2582>).
> The -swift-version 3 compatibility mode has the goal of source compatibility as much as practically possible with Swift 3.x (including 3, 3.0.x, 3.x).
> The -swift-version 4 compatibility allows approved source code breakages from Swift 3.x (including 3, 3.0.x, 3.x).
TL;DR: there may be breaking source changes between Swift 3 and Swift 4, but the Swift 4 compiler will still be capable of compiling Swift 3 code. There's no indication whether the Swift 5 compiler will still be able to compile Swift 3 code, so you'll likely still have to migrate your codebase within a year or two.
ABI stability doesn't really matter for users, unless you're using 3rd party pre-compiled libraries. It's mainly an issue for Apple, shipping system libraries.
Swift seems to be locked to Apple's yearly release schedule, so we should see prerelease versions of Swift 4 this summer, followed by a public 4.0 release around September.
It's maybe too much to read into it, but I hope this isn't reflecting on anything internally on Apple, even though the kremlinology of it can get overly dramatic. 5 years at any one tech company is a long time, though...
Perhaps slightly off topic, but relevant to the community—Hacker News comments on stories like this are now being "reported."
As one author mentioned at Business Insider, a site where people write about business stuff:
> 'As one person said on Hacker News, a site where programmers chat about stuff: "He is leaving Swift in an excellent position and has set up an outstanding structure where Swift is way more than just one person. He spent more than 5 years building Swift inside Apple, so I can definitely understand he is ready for his next challenge."'
It would seem to me that the reporter should have at the very least reached out to the commenter they were quoting and asked for permission to use them as a source.
If it were me writing the story I would have made very sure the source was also reputable and confirmable, as that is not always the case in public forums, regardless of the usually high quality nature of HN commenters.
Swift 4? Wow, they surely are iterating quick... How's the backwards compatibility in Swift between major versions? If I understood correctly, Swift 3 was supposed to be the first production-ready release. Or am I wrong?
Swift 3's goal was source stability, but Swift 2 and arguably Swift 1 were production-ready. Swift 4's goal is ABI stability, as well as source compatibility (via a compiler flag) with Swift 3 code. In any case, Swift is basically incrementing by one major version per year. Swift 1.0 was September 2014, Swift 2.0 was September 2015, and Swift 3.0 was September 2016.
People shipped with Swift 2. There were lots of source changes in 3. XCode converted many. 4 will have few changes but it should be an easy conversion. Personally, I love Swift. Creating my own Swift Cookbook to help myself and others find solutions quickly.
Swift 4 has source-level compatibility with Swift 3 though a compiler flag. Some features obviously won't be available but existing code should work. This even goes so far as to present APIs differently so they continue to work (e.g. if a method was renamed Swift 3 mode will continue to offer the old name).
Swift 4 also has ABI stability as a goal so the OSes can begin shipping the Swift Standard Library.
Aouch... And there goes my enthusiasm for this language.
I already felt weird knowing Apple didn't use swift internally for their core product, and seing all the huge bugs and crashes remaining in the swift compiler, now i'm left wondering who in the company is going to have sufficient weight to push this language forward.
EDIT : well, on the positive side, he's now free to make the language evolve without caring about the huge objective-c bridging layer and iOS-specific troubles...
A programming language transition takes many years. The toolchain must stabilize. Once you nail things down you add ABI stability so the OS can ship with the standard libraries. Only then can you begin rewriting core components.
It is already publicly known that some components are written in Swift, e.g.: the macOS Dock is a Swift application.
I don't think he has had that many restrictions at Apple.
BTW I really admire the guy and I followed him closely as I used to do with others like Dave Hyatt.
People from the open-source world or researchers that have given a solid contribution to Apple over the years, and not only from the technical point of view.
Hmmm, going from someone with a pretty big Wikipedia page, to someone with just a linkedin entry. Guess it's fine. But Apple seems to be in a bit of a tail spin as of late.
We're talking TOP tier world-class employees (director of ML, lead dev of Swift), lots of lost mind share, not just any ordinary of the 33,000 rank and file. The best engineers often make lasting and drastic contributions and even have some say regarding the direction of the company itself.
I didn't see that coming, very disappointing news. Definitely a loss for Apple and Swift. I really hope he will somehow stay involved with the project.
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.
>Please don't insinuate that someone hasn't read an article. "Did you even read the article? It mentions that" can be shortened to "The article mentions that."
Not nitpicking, but we can miss things or we can be looking at different things.
Case in point, one time on a Python mailing list, I asked a question and one person pasted something from the docs. I had read the docs for what I was trying to do before asking the question, specifically the paragraph pasted and I just thought "How could I have missed that?". It turned out they were pasting the docs from Python 3 and I was reading the docs for Python 2.7. The paragraph was identical in every respect, except for the particular thing I was talking about which was changed with Python 3.
You're not wrong. We don't know that the commenter has read that Lattner wrote he'll continue to be involved and wondered if he will in fact continue to be involved once Swift no longer becomes his main activity. Whether we like or not, it will have a smaller mind share than it did when it was his main priority and his job revolved around it.