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.
It's the "Working with the LLVM Community" section.
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.
its obviously the way forward though... i'd still not use swift for it predominantly if i can use a tiny layer of obj-c/swift to interface to sensible code written in C++ that works for every other platform too.
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#.
this is not a bad thing, and certainly is a good thing, but on its own its a tiny benefit compared to writing code that works on all platforms, and which compiles to very efficient use of instructions (i have ample experience removing swift and obj-c code as an optimisation strategy sadly).
(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?
this is damning of the quality of the compiler imo. now that its open source i might make some effort to help this... but it seems unlikely given the utter lack of motivation to use the language to begin with (a tiny thing layer of obj-c is all i need for now - i see no reason to change this - even in light of swift)
to me it seems like apple are solving a problem that doesn't exist because they choose to ignore established and well developed languages and tool chains.
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.