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.
Update: Lattner is joining Tesla.
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.
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.
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.
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.
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.