At first though, when I read through I considered "this is exactly what Stallman didn't want to happen with GCC! Companies using the open-source parts to power their own proprietary tools".
And then I read at the end that they intend to submit most of the things they've done back to LLVM/Clang.
Microsoft is actually starting to act like one of the good guys.
Morality doesn't need to come into it - they have real incentives to push changes back to master even without restrictive licenses.
Fast-forward a few years: if people become dependent on the new tool and there's money to be made differentiating their tooling from others, their attitude may change.
The debate about licenses becomes more interesting once a contributor finds themselves in a position of power vs other contributors.
Or maybe they just get tired of having to vet their changes and designs with third parties. Getting code accepted upstream can be a lot of work.
you don't need a reason... but i've not seen much good about the language, just a bunch of apple hype and hand forcing. just like obj-c which the mainstream community realised the flaws of 30 years ago when it was new... and now we have to live with as a necessary evil for the same class of 'reasons'. XD
This is probably more of a, "I'd rather use Visual Studio with my Swift project" instead of "I'd rather use Swift with my Visual Studio project." It's a very nice IDE, and Xcode is not quite as nice.
You can not make an iOS app with VS's Objective-c , and most likely it will be the same way when they add Swift support to VS.
In terms of modernity, I think Swift is between C# and F#. However, Swift is far more mainstream than F#.
(By the way, I have done iOS dev in the past, and Objective-C has grown a lot under Apple's recent guidance from where it was 20 years ago. Again, if there were a free-software runtime supporting modern Objective-C -- last I checked, GNUstep was a bit out-of-date -- I might have considered it as an option for development on non-Apple platforms.)
In my opinion the only thing missing is better reflection (will get better), concurrency a la Go (they're considering), and async/await. There are a couple unfinished bits but the compiler tells you "X feature not implemented YET"
What's wrong with it?
You dont have to worry about the fail VS syntax parser; clang will parse your code exactly the same as it does on other platforms.
By allowing Clang comaptible code with VS, brining open source tools and servers will be much easier for developers which will help MS to retain more developer base for Windows.