November 25, 2015
On Wednesday, 25 November 2015 at 16:17:45 UTC, Chris wrote:
> On Wednesday, 25 November 2015 at 16:02:18 UTC, Joakim wrote:
>
> [snip]
>
>>> Server Swift might really end up as a niche within a niche.
>>
>> Or it might end up becoming really popular, as a compiled, modern language that can be used on mobile and the server.
>>
>> I don't really care how Swift does or follow it, but it will be competition for D, as it has generics, unlike Go, and doesn't have Rust's unfamiliar syntax or stringent emphasis on memory safety.  It's an up-and-coming competitor for D people to watch out for.
>
> With Apple behind it, it might become popular, but not necessarily in the OSS community. What if Apple started to make their own Apple specific extensions that are not open sourced and have to be backengineered on Linux. Then Swift would end up like OpenStep, wouldn't it?

I don't see Apple doing all that stuff nowadays.  This move to open-source Swift and port it to linux seems driven by the llvm devs, I doubt the company really cares.  Apple open-sourced their ARM64 backend for llvm last year, despite it being better than the incomplete OSS backend being worked on in llvm and providing a competitive advantage for their 64-bit ARM devices, so that I can now use it for Android too.  Of course, there are a _lot_ less Android/Aarch64 devices than iOS.

Apple really had no incentive to do that from a competitive standpoint, other than maybe the llvm devs at Apple not wanting to maintain two Aarch64 backends.  Yet, they did it anyway.  I don't think they really care about keeping Swift to themselves when they're the largest company on the planet and are minting $53 billion in profits a year!  For context, that's only $15 billion less than google's entire revenue over the last year, ie their profits alone are almost all much as all the money google brought in.

I don't think they're sitting around thinking about how to make a couple million off Swift. ;)
November 25, 2015
On Tuesday, 24 November 2015 at 17:59:35 UTC, Joakim wrote:
> A Wired article about Swift coming to the server, particularly after the imminent open-sourcing, that also mentions D as an alternative, especially since it's written by the same guy who wrote about D for Wired last year:
>
> http://www.wired.com/2015/11/apples-swift-ios-programming-language-is-being-remade-for-data-centers/
>
> Will be interesting to see how Swift does, a good natural experiment for those pushing D to focus on one niche before expanding, as Swift is doing really well on one of the most important development platforms today, iOS, before expanding onto the server.  Of course, Apple is unlikely to really push it on the server, other than open-sourcing and accepting patches, so they have a built-in excuse if it doesn't do well. ;)

Maybe we have a good opportunity to compete with Swift at home.

Avoiding XCode, not being tied to a particular SDK, being able to target very ancient systems are some of the pluses I've found when using D with OS X.
I'd bet using D for iOS can entail similar gains, and avoid being tied to an Apple language.
November 25, 2015
On Wednesday, 25 November 2015 at 16:02:18 UTC, Joakim wrote:
> On Wednesday, 25 November 2015 at 10:38:52 UTC, Chris wrote:
>> On Wednesday, 25 November 2015 at 10:24:14 UTC, Joakim wrote:
>>>
>>>
>
> I don't really care how Swift does or follow it, but it will be competition for D, as it has generics, unlike Go, and doesn't have Rust's unfamiliar syntax or stringent emphasis on memory safety.  It's an up-and-coming competitor for D people to watch out for.

Given that .NET now is being available on UNIX, with .NET Native support already announced at the recent Connect() event and features from System C# (Midori OS) are planned to be made available in C# 7.

As example of planned C# 7 features, that D already enjoys:

- ref types on local scope and as return values
- slices
- more are being evaluated

Similarly Java with the upcoming value types, new FFI and AOT compiler on the reference JDK.

I would advise not to look only at Swift.

--
Paulo
November 26, 2015
On Wednesday, 25 November 2015 at 19:27:12 UTC, Paulo Pinto wrote:
> On Wednesday, 25 November 2015 at 16:02:18 UTC, Joakim wrote:
>> On Wednesday, 25 November 2015 at 10:38:52 UTC, Chris wrote:
>>> On Wednesday, 25 November 2015 at 10:24:14 UTC, Joakim wrote:
>>>>
>>>>
>>
>> I don't really care how Swift does or follow it, but it will be competition for D, as it has generics, unlike Go, and doesn't have Rust's unfamiliar syntax or stringent emphasis on memory safety.  It's an up-and-coming competitor for D people to watch out for.
>
> Given that .NET now is being available on UNIX, with .NET Native support already announced at the recent Connect() event and features from System C# (Midori OS) are planned to be made available in C# 7.
>
> As example of planned C# 7 features, that D already enjoys:
>
> - ref types on local scope and as return values
> - slices
> - more are being evaluated
>
> Similarly Java with the upcoming value types, new FFI and AOT compiler on the reference JDK.
>
> I would advise not to look only at Swift.

I don't consider Java and C# real competitors to Swift or D, as they're much older and won't attract the same users.  Certainly not Java, with how verbose it is, haven't looked at C# too much.  But for those with legacy codebases, those moves towards AoT compilation will certainly help keep those languages relevant, so good for them.
November 26, 2015
On 2015-11-25 17:40, Joakim wrote:

> I don't see Apple doing all that stuff nowadays.  This move to
> open-source Swift and port it to linux seems driven by the llvm devs, I
> doubt the company really cares.  Apple open-sourced their ARM64 backend
> for llvm last year, despite it being better than the incomplete OSS
> backend being worked on in llvm and providing a competitive advantage
> for their 64-bit ARM devices, so that I can now use it for Android too.
> Of course, there are a _lot_ less Android/Aarch64 devices than iOS.

But I also doubt that they will try very hard. The ARM64 backend, as you mentioned, was available and in use by Apple long before it was pushed upstream. Same thing with many other features in Clang and LLVM. Take null-ability and Objective-C generics. Apple had an implementation ready and adopt their whole (most of?) SDK to use these features before they were pushed upstream.

Also, take a look at the Windows support as an example, which was poorly supported by Clang/LLVM. I don't think Apple has tried a tiny bit at all to improve the Clang/LLVM support for Windows.

I'm guessing the only reason why they will release a Linux port is because OS X and Linux are fairly similar, making this small(er) effort.

-- 
/Jacob Carlborg
November 26, 2015
On Thursday, 26 November 2015 at 07:40:13 UTC, Jacob Carlborg wrote:
> I'm guessing the only reason why they will release a Linux port is because OS X and Linux are fairly similar, making this small(er) effort.

Maybe also because of NextStep/GNUStep etc being available on Linux. OS-X gets lots of sofware from the unix world (e.g. macports), so they are better off with a stronger Linux than a stronger Windows.


November 26, 2015
On Thursday, 26 November 2015 at 06:14:47 UTC, Joakim wrote:
> I don't consider Java and C# real competitors to Swift or D, as they're much older and won't attract the same users.  Certainly not Java, with how verbose it is, haven't looked at C# too much.  But for those with legacy codebases, those moves towards AoT compilation will certainly help keep those languages relevant, so good for them.

Much older? c# is only one year older than D. One might argue that D1 doesn't count, but c# has also received various improvements over the years, and is currently at version 6.
November 26, 2015
On Thursday, 26 November 2015 at 07:40:13 UTC, Jacob Carlborg wrote:
> On 2015-11-25 17:40, Joakim wrote:
>
>> I don't see Apple doing all that stuff nowadays.  This move to
>> open-source Swift and port it to linux seems driven by the llvm devs, I
>> doubt the company really cares.  Apple open-sourced their ARM64 backend
>> for llvm last year, despite it being better than the incomplete OSS
>> backend being worked on in llvm and providing a competitive advantage
>> for their 64-bit ARM devices, so that I can now use it for Android too.
>> Of course, there are a _lot_ less Android/Aarch64 devices than iOS.
>
> But I also doubt that they will try very hard. The ARM64 backend, as you mentioned, was available and in use by Apple long before it was pushed upstream. Same thing with many other features in Clang and LLVM. Take null-ability and Objective-C generics. Apple had an implementation ready and adopt their whole (most of?) SDK to use these features before they were pushed upstream.

Right, my point was that it was all open-sourced and pushed upstream eventually.

> Also, take a look at the Windows support as an example, which was poorly supported by Clang/LLVM. I don't think Apple has tried a tiny bit at all to improve the Clang/LLVM support for Windows.

Why should they, if they're not using it?  It's a community project, anybody can contribute, and it appears that Microsoft is now doing so.

> I'm guessing the only reason why they will release a Linux port is because OS X and Linux are fairly similar, making this small(er) effort.

Yes, it seems driven by the llvm devs, but who knows, maybe they run iCloud on linux? ;)

On Thursday, 26 November 2015 at 10:17:10 UTC, Thiez wrote:
> On Thursday, 26 November 2015 at 06:14:47 UTC, Joakim wrote:
>> I don't consider Java and C# real competitors to Swift or D, as they're much older and won't attract the same users.  Certainly not Java, with how verbose it is, haven't looked at C# too much.  But for those with legacy codebases, those moves towards AoT compilation will certainly help keep those languages relevant, so good for them.
>
> Much older? c# is only one year older than D. One might argue that D1 doesn't count, but c# has also received various improvements over the years, and is currently at version 6.

I looked that up after I wrote it, as that's what I thought and figured someone might call me on it.  You're right that C# and D were started around the same time, but C# hit 1.0 5 years before D did and was publicized a lot more, so it seemed older to me.
November 27, 2015
Today old languages evolve - Java, C#, C, C++, Python - while D stabilizes. I wonder if it's right strategy or D just needs a period of stabilization to resolve implementation bugs.
December 07, 2015
On Tuesday, 24 November 2015 at 17:59:35 UTC, Joakim wrote:
> A Wired article about Swift coming to the server, particularly after the imminent open-sourcing, that also mentions D as an alternative, especially since it's written by the same guy who wrote about D for Wired last year:
>
> http://www.wired.com/2015/11/apples-swift-ios-programming-language-is-being-remade-for-data-centers/
>
> Will be interesting to see how Swift does, a good natural experiment for those pushing D to focus on one niche before expanding, as Swift is doing really well on one of the most important development platforms today, iOS, before expanding onto the server.  Of course, Apple is unlikely to really push it on the server, other than open-sourcing and accepting patches, so they have a built-in excuse if it doesn't do well. ;)

Pretty much what we guessed: they're expanding the Swift platform but Apple is not going to develop for Windows/Android, though others are free to do so -

"In open-sourcing Swift, Apple has two main goals in mind. The first and most obvious is to make Swift code more portable and versatile, enabling its use in projects outside of apps for Apple’s platforms.

The company’s long-term vision is even more ambitious. “We think [Swift] is how really everyone should be programming for the next 20 years,” Federighi told Ars. “We think it’s the next major programming language.

“A number of developers, including enterprise developers like IBM, very early on as they began developing their mobile applications in Swift, really wanted to be able to take the talents that their developers were developing and even some of the code and be able to deploy it in the cloud, for instance,” Federighi continued. “We thought the best way [to enable that], ultimately, was open source.”

The other goal is educational: when developers put time into learning Swift (or when educators take the time to teach it), Apple wants those skills to be more broadly applicable.

“We’re working with educators, and many professors are very interested in teaching Swift because it’s such an expressive language that’s such a great way to introduce all sorts of programming concepts,” Federighi said. “And enabling it as open source makes it possible for them to incorporate Swift really as part of the core curriculum.”

When we spoke with developers about the first year of Swift back in June, Swift’s teachability was definitely a major selling point. As useful as Swift might be to communicate programming ideas, it’s ultimately more useful to be able to take that knowledge and use it in multiple places."
http://arstechnica.com/apple/2015/12/craig-federighi-talks-open-source-swift-and-whats-coming-in-version-3-0/