6 ms·
Clang with Microsoft CodeGen in VS 2015 Update 1
- josteink 11y agoWell consider me surprised. I didn't see that coming. 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.
- moonchrome 11y ago>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.
- ossreality 11y agoEven for weird little side projects, it's always feels safer to me to get changes upstreamed than keep carrying around "special snowflake" vendored copies that diverge.
- to3m 11y agoI can't find the link (though I'm sure it was on HN at the time...), but there was a talk by the Sony PS4 compiler people that touched on this a while ago. They ended up open sourcing as much PS4 stuff as they could, not because they wanted to as such, but because it was taking them too much time to do the merge each time they updated their copy.
- 0x09 11y agohttp://llvm.org/devmtg/2013-11/slides/Robinson-PS4Toolchain.pdf http://llvm.org/devmtg/2013-11/slides/Robinson-PS4Toolchain.... It's the "Working with the LLVM Community" section.
- cptskippy 11y agoYou're right, Microsoft has pushed a lot of changes upstream to projects in the past for it's own selfish reasons. That doesn't mean said changes are bad, a lot of times they're fixing problems that they're tired of having to provide support for to end users.
- jmspring 11y agoIf you look on Github (even Apache), there are Microsoft employees making contributions to open source projects under their own accounts or as part of the organization. Steps under Satya have made engagement with open source across the company generally much better, not just in field/evangelism roles. This is in addition to works like this and open sourcing of things like the CLR, etc.
- moonchrome 11y agoYeah, but you will notice none of those are GPL projects - and my point is OSS works as a business/support/development model even outside of "monetize on support model and force a level playing field with copyleft" (eg. RedHat) - for a large number of cases it makes sense/the incentives are right even with liberal licensing.
- jmspring 11y agoThat is why there are multiple licenses. Companies/individuals contribute under what works for their job/role/interest. Go back an look at history, many companies are evolving towards being more open.
- shanselman 11y agoNot true. Microsoft commits to a number of GPLed software, not the least of which being libGIT2.
- moonchrome 11y agoYes this is true, I meant in the context of the stuff they are opensourcing with CoreCLR, Roslyn, LLILC, ASP.NET, TypeScript and stuff.
- ericseppanen 11y agoA company at a disadvantage may find it in their own interest to act like good guys with respect to open source projects. 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.
- webjprgm 11y agoCool. This might have come in handy about 6 years ago for a C++ OpenGL cross-platform project. (I haven't done a C/C++ project in a long time though ...)
- jheriko 11y agowhy? i seem to have managed many such projects without such tools before and after 6 years ago... i'm not sure what benefit they would realistically have.
- mwcampbell 11y agoCool. Now can we have Swift with Microsoft codegen?
- chaz72 11y agoVisual SwiftSharper. Why not?
- jheriko 11y agowhy would you want to use swift? just curious. 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
- chadzawistowski 11y agoPattern matching and structural types! In terms of modernity, I think Swift is between C# and F#. However, Swift is far more mainstream than F#.
- jheriko 11y agoneither are of great benefit imo. they certainly don't allow me to do anything new... just enable me to do things with less work. 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).
- steveklabnik 11y agoI can't find the tweet, but someone said something like "what do I think of swift? Seeing all of iOS using a language which has features normally reserved for functional languages is wonderful."
- rjbwork 11y ago
- jesuslop 11y agoWould custom clang plugins work?
- jevinskie 11y agoWowza, that would be cool! IIRC Apple's clang doesn't support plugins but that can be worked around (with some/much difficulty) using clang -emit-llvm, custom opt w/ your pass, and llc to lower to assembly/object file. Of course, versioning in this kind of scenario is "fun".
- 80x25 11y agoI think this means that the VS toolchain now has a modern C compiler front-end. The VS C++ compiler has seen good progress as of late, but the VS C compiler was seriously lagging, only supporting bits and pieces of C99(!).
- jheriko 11y agoyes, not having proper c99 has been a pain for a very long time right up to VS 2015
- voltagex_ 11y agoDoes this mean that if I can make a random project build with Clang it's easier to port to Windows? (POSIX bits excepted)
- shadowmint 11y agoyes. 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.
- deleted 11y ago[deleted]
- pritambarhate 11y agoI think MS has realized that desktop era is over and cloud era has taken over. They will be making much more money by renting out infrastructure than just licensing software. So they are trying hard to make sure that oepn source development tools and servers work well on Windows. 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.