www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Swift is coming, Swift is coming

reply Joakim <dlang joakim.fea.st> writes:
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. ;)
Nov 24 2015
next sibling parent reply Jack Stouffer <jack jackstouffer.com> writes:
On Tuesday, 24 November 2015 at 17:59:35 UTC, Joakim wrote:
 Will be interesting to see how Swift does
Considering it won't be available for Windows, I'd guess not very well and it will remain a niche language until it does. There's a reason D shot up in popularity after it started to support windows more thoroughly. Sure you can say that since it will be open source, people can create Windows versions. But without Apple merging changes upstream (which they have never said they would do) I really don't see those efforts lasting long before people realize the effort involved probably isn't worth it.
Nov 24 2015
parent reply Joakim <dlang joakim.fea.st> writes:
On Tuesday, 24 November 2015 at 21:20:41 UTC, Jack Stouffer wrote:
 On Tuesday, 24 November 2015 at 17:59:35 UTC, Joakim wrote:
 Will be interesting to see how Swift does
Considering it won't be available for Windows, I'd guess not very well and it will remain a niche language until it does.
I think it's niche languages that are developed first on Windows, ;) as there's a lot more money going towards new app development for iOS these days. Popular mobile apps like Snapchat do not even bother developing for Windows _or_ the web (I just had to look that up, as I'd never use such an app, just what I'd heard from others ;) ), so that you cannot even _use_ them on Windows. Imagine that!
 There's a reason D shot up in popularity after it started to 
 support windows more thoroughly.
This is a common misconception, but D was initially developed and released _on_ Windows 15 years ago, as Walter is a Windows guy. It did not add linux support till a couple years later: http://www.digitalmars.com/d/1.0/changelog1.html#new063 Yes, Win64 support came later than linux/x64: blame Microsoft's closed toolchain and proprietary, undocumented formats for that. Perhaps they're learning their lesson with their recent open-sourcing of their CV/PDB debug format.
 Sure you can say that since it will be open source, people can 
 create Windows versions. But without Apple merging changes 
 upstream (which they have never said they would do) I really 
 don't see those efforts lasting long before people realize the 
 effort involved probably isn't worth it.
Yeah, I assumed they'd accept patches since they do for llvm/clang, and Swift comes from that umbrella rather than their other open-source projects that tend to just code dump occasionally.
Nov 25 2015
parent Jack Stouffer <jack jackstouffer.com> writes:
On Wednesday, 25 November 2015 at 08:55:28 UTC, Joakim wrote:
 There's a reason D shot up in popularity after it started to 
 support windows more thoroughly.
This is a common misconception, but D was initially developed and released _on_ Windows 15 years ago, as Walter is a Windows guy. It did not add linux support till a couple years later: http://www.digitalmars.com/d/1.0/changelog1.html#new063
I did say "more thoroughly" on purpose :)
Nov 25 2015
prev sibling next sibling parent reply Chris <wendlec tcd.ie> writes:
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. 
 ;)
I don't know Swift well enough to comment on its features or merits, but it is naturally a success on iOS, because loads of people develop for iOS and sooner or later Apple's new favorite child will get everybody's attention. Server side, hm, I don't know. Will it run on Linux? How common are Apple servers? As far as I know, most server systems are Linux/Unix or Windows. That would make Swift a niche language on niche servers, wouldn't it :) It's nice, though, that D was mentioned in an Apple related article.
Nov 25 2015
parent reply Joakim <dlang joakim.fea.st> writes:
On Wednesday, 25 November 2015 at 10:06:14 UTC, Chris wrote:
 I don't know Swift well enough to comment on its features or 
 merits, but it is naturally a success on iOS, because loads of 
 people develop for iOS and sooner or later Apple's new favorite 
 child will get everybody's attention. Server side, hm, I don't 
 know. Will it run on Linux? How common are Apple servers? As 
 far as I know, most server systems are Linux/Unix or Windows. 
 That would make Swift a niche language on niche servers, 
 wouldn't it :)
Apple announced earlier this year that Swift will be ported to linux and open-sourced, so yes, it will.
 It's nice, though, that D was mentioned in an Apple related 
 article.
It also mentions Go and Rust as alternatives.
Nov 25 2015
parent reply Chris <wendlec tcd.ie> writes:
On Wednesday, 25 November 2015 at 10:24:14 UTC, Joakim wrote:

 Apple announced earlier this year that Swift will be ported to 
 linux and open-sourced, so yes, it will.
Then I suppose that companies who use Linux servers and also develop for iOS may adopt it. However, there are two factors to be considered. 1) it might not be worth the hassle to use swift on the server. If you also cater for Android etc., you would either lock yourself in or have to maintain two systems. 2) Linux people are naturally skeptical of anything coming from a big company. What if the Linux version always lags behind, because it's not top priority? What if certain new features are Apple only (to give their own servers an advantage)? What if this causes a mess of Linux patches and 3rd party libraries? Server Swift might really end up as a niche within a niche.
 It also mentions Go and Rust as alternatives.
You would expect that alright, but D mentioned together with the marketing giants Apple and Google? That's nice. In this way people will read about Swift and hear "D" as well.
Nov 25 2015
parent reply Joakim <dlang joakim.fea.st> writes:
On Wednesday, 25 November 2015 at 10:38:52 UTC, Chris wrote:
 On Wednesday, 25 November 2015 at 10:24:14 UTC, Joakim wrote:
 Apple announced earlier this year that Swift will be ported to 
 linux and open-sourced, so yes, it will.
Then I suppose that companies who use Linux servers and also develop for iOS may adopt it.
Or just anybody deploying to linux.
 However, there are two factors to be considered.

 1) it might not be worth the hassle to use swift on the server. 
 If you also cater for Android etc., you would either lock 
 yourself in or have to maintain two systems.
Only if you're counting the Android device, you could run Swift on iOS and the server without a problem. And it won't be long before Swift is ported to Android too, as linux support is most of what's needed, so you'd only need Java for the native Android UI and Java-only APIs, ie the frontend of your Android app.
 2) Linux people are naturally skeptical of anything coming from 
 a big company. What if the Linux version always lags behind, 
 because it's not top priority? What if certain new features are 
 Apple only (to give their own servers an advantage)? What if 
 this causes a mess of Linux patches and 3rd party libraries?
I think the linux server crowd is much bigger than that old corporate-doubting handful these days. I doubt Apple has any plans to push it as a server option, beyond porting it to linux, so I don't see them disadvantaging linux. It will be up to third parties like the company mentioned in the article to develop it as a real server alternative.
 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.
Nov 25 2015
next sibling parent reply Chris <wendlec tcd.ie> writes:
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?
Nov 25 2015
parent reply Joakim <dlang joakim.fea.st> writes:
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. ;)
Nov 25 2015
parent reply Jacob Carlborg <doob me.com> writes:
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
Nov 25 2015
next sibling parent Ola Fosheim =?UTF-8?B?R3LDuHN0YWQ=?= writes:
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.
Nov 26 2015
prev sibling parent Joakim <dlang joakim.fea.st> writes:
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.
Nov 26 2015
prev sibling parent reply Paulo Pinto <pjmlp progtools.org> writes:
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
Nov 25 2015
parent reply Joakim <dlang joakim.fea.st> writes:
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.
Nov 25 2015
parent reply Thiez <thiezz gmail.com> writes:
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.
Nov 26 2015
parent Kagamin <spam here.lot> writes:
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.
Nov 27 2015
prev sibling next sibling parent Rikki Cattermole <alphaglosined gmail.com> writes:
I'm too lazy to find a better post to say this about OSX but:
I'm pretty sure Apple no longer make server hardware.

Hint, https://itunes.apple.com/en/app/os-x-server/id883878097?mt=12
It's literally an app now.
Nov 25 2015
prev sibling next sibling parent ponce <contact gamesfrommars.fr> writes:
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.
Nov 25 2015
prev sibling parent reply Joakim <dlang joakim.fea.st> writes:
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/
Dec 06 2015
parent Russel Winder via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Mon, 2015-12-07 at 07:22 +0000, Joakim via Digitalmars-d wrote:
=20
[=E2=80=A6]
 When we spoke with developers about the first year of Swift back=20
 in June, Swift=E2=80=99s teachability was definitely a major selling=20
 point. As useful as Swift might be to communicate programming=20
 ideas, it=E2=80=99s ultimately more useful to be able to take that=20
 knowledge and use it in multiple places."
 http://arstechnica.com/apple/2015/12/craig-federighi-talks-open-sourc
 e-swift-and-whats-coming-in-version-3-0/
They could at least have fully recognized that Python has shown them the way on this. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Dec 11 2015