Microsoft Starts Working On an LLVM-Based Compiler For .NET
An anonymous reader writes Are the days of Microsoft's proprietary compiler over? Microsoft has announced they've started work on a new .NET compiler using LLVM and targets their CoreCLR — any C# program written for the .NET core class libraries can now run on any OS where CoreCLR and LLVM are supported. Right now the compiler only supports JIT compilation but AOT is being worked on along with other features. The new Microsoft LLVM compiler is called LLILC and is MIT-licensed.
The old CEO was shouting developers, developers and pushing them aside. This CEO doesn't make a peep but quietly bringing in the developers
I anticipate Stallman may have a heart attack soon.
karma: ouch!
Wrong question. You should be asking "when will it be included in the systemd project and so depend on systemd init (and a bunch of other crap)?" /pedantic
Great news. I mean, I'm still not into .NET, but this is a nice move and I appreciate it none-the-less. I know a few people that prefer to do their development on and/or for Linux, and also prefer .NET, so I'm sure they will be happy.
I would it expect it to compile svchost.exe. So yes, it will compile systemd.
MS is still evil. Not long time ago we had a story here on Slashdot on locked Windows 10 computers where you can not change the OS anymore.
They are still working in many dirty ways. However, the current MS understands one critical thing that the MS of Ballmer never got. Developers want free and good tools. The more developers they get for their OS, the more apps and the more users as the users go there where they get the apps they want.
It is no secret they have had problems attracting developers for Windows mobile devices and a recent survay at Stack Overflow confirms they have lost a lot of developers.
Unless they get people to develop for their products they are lost. This is why they are giving away for free the development tools in order to get apps also runnable on their platform. For them it is better with cross platform apps than no apps at all.
I am very happy for the free tools they give away but still sad they remain evil. I have seen way too many "Windows only" devices and worse it will become I am afraid.
I would like to believe that Microsoft really has turned a new corner with this more open strategy but it really is hard. We had to put up with so much rubbish from them over the years with Windows. As someone getting into web development it is also just blatantly obvious they tried to sabotage the adoption of a common standard for a long as possible to prevent the web becoming a cross-platform environment (IE6 I am looking at you). And then there was the whole changing Office pointlessly every two years so you had to buy a faster computer and pay them more money.
In the end I think they are just a business business. What I mean by that is they don't really subscribe to any ideology, vision or values other than just dominating at all cost. There is no rule that says they can't do that and plenty of other companies do, so I don't blame them, but in the end unless I start hearing from MS employees that there has been a wholesale change in culture I just think this openness stuff will only last until they get back to a dominate position again.
Having said that they do make some good dev tools and I won't turn my back on them. Because in the end the best thing to keep all the big companies in line is to ensure that none of them can get into a entirely dominate position, even if they promise us they won't be evil...
With LLVM using an intermediate representation of code (LLVM IR) and CLR another : MSIL, now called CIL, does that mean it goes C# -> LLVM bytecode -> .NET bytecode?, does the JIT does both steps at once, why doesn't that mean every single language with a LLVM target can now run on the CoreCLR?, was LLVM modified, was what's in my first question horribly wrong?
I think it's important to understand that the .NET JIT compiler should probably be considered more part of the .NET *runtime*, not necessarily part of the development platform for .NET. Since they want to port .NET to non-Microsoft operating systems, it makes sense to utilize LLVM to target those platforms for the JIT compiler rather than trying to write a new one from scratch. They needed a solid compiler to accompany their open source .NET platform for it to be a more complete open-source solution. Moreover, they've been extending Visual C++'s support for alternative platforms like Android, so it also makes sense that they'd be gaining expertise with LLVM.
It's probably not the end of their proprietary compiler, or even necessarily an indication they're thinking this way, but it may make more sense for them to utilize LLVM so as to target a larger number of platforms. They just recently rewrote their own .NET compiler a couple of years ago and released it as open source, so it's sort of odd to see a new project so soon. I'm guessing they figured it would be more work to extend that project to support all the platforms they're releasing CoreCLR for than using LLVM. Hard to say.
Also, there's still the native compiler, used for C/C++, and they've been sinking an enormous amount of development resources into making it compliant with the recent advances in those languages, so it also seems unlikely they're going to toss that work.
Irony: Agile development has too much intertia to be abandoned now.
...would beg to differ, with this fact from the COBOL wiki:
I would bet you that COBOL environments have had 1/10th, and perhaps 1/100th of the security problems as systems based on C.
There is a couple of open source projects doing this already: http://csnative.codeplex.com/ https://github.com/xen2/SharpL...
Please fire any non-engineers tied to the Windows 8.x UI
Did you have directory delete permissions?
http://savannah.gnu.org/projects/gnucobol
This isn''t the first time Microsoft has contributed to "Open Source." It starts each time with Microsoft contributing code which is actually under an OSI approved license. Over time, Microsoft then attempts to gray the lines between what is Open Source and what is not. Take for example Microsoft CodePlex which they misrepresent as "Project Hosting for Open Source Software." Shortly after it's creation, a Microsoft controlled project called Singularity RDK was added which redefines Open Source as being for only "non-commercial academic purpose" which of course violates the Open Source Definition #6 which "prohibit license traps that prevent open source from being used commercially."
Some people have pointed out that SourceForge also has projects that don't honor the open source definition. However, no one has been able to point to such a project where SourceForge itself is the author of the project. Microsoft has both set the rules and breaks the rules for CodePlex.
Microsoft is still following embrace, extend and extinguish. The latest contributions are back at phase 1 but it won't be long until Microsoft is back again at phase 3.
What better way to no rid themselves of an annoyance than to open source everything? Microsoft's treatment of their own development community over the last decade has ranged from apathetic to clueless to abusive. No automated migration path to move code from one platform to another. Dead ending VB6. Effectively dead-ending Winforms. Basically telling ISVs with established businesses and skill sets that their only option is an expensive recoding project, after they re-educate themselves.
I'm pretty sure this is the beginning of the end. Of developer support, and eventually, of Windows as a desktop OS.
And good riddance. You're a damn fool if you invest in any Microsoft technology at this point.
Please do not read this sig. Thank you.
Microsoft has a history of embracing technologies, extending them, and then killing them.
LLVM just joined the list of endangered species!
Embrace, Extend, Extinguish.
Though they won't achieve the third one because LLVM is BSD licensed they WILL add incompatible extensions that will be only compilable with their version of LLVM. It will happen.
Systemd isn't analogous to svchost.exe. It's more like services.exe, which is a much lower-level process. Svchost.exe is a shim to allow non-service programs to piggyback into the service framework without actually complying with the correct interface specifications.
Still nothing to sneeze at.
Why did Microsoft let go of Qt? It was tons better than DotNet and already had Linux/Mac support.
Microsoft dropped .NET support years ago.
There's like six or seven acronyms in the summary alone. How are people not familiar with Microsoft supposed to understand this?
I see new versions, libraries and more commitment to .NET everywhere... I didn't get the memo they were dropping it.
Today's "Patch Tuesday" & a BIG chunk of 12 updates was .NET (versions 4.5, 4.51, & 4.52) buddy!
APK
P.S.=> Quit being a "FUD" spreading troll man... apk
See subject: Wouldn't affect it - MS bypasses hosts for update servers...
APK
P.S.=> "Onwards & UPWARDS"... apk
Don't believe what Anonymous Cowards say. They are typically clueless. The next version of .NET should be released in the next 1-6 months (I'm guessing around 4).
Right now Microsoft has a JIT compiler running on a few platforms that translates .NET byte code into native code. Instead of reinventing the wheel and writing their own JIT compiler for a bunch other platforms they want to be able to run .NET code on, they are instead using something that already exists in the form of LLVM.
They aren't abandoning anything, just using LLVM instead of rolling their own JIT compiler on certain platforms where doing so makes sense.
See subject: MS Update servers are hardcoded into the OS (unless someone can show me differently) as follows:
http://.update.microsoft.com/
https://.update.microsoft.com/
http://download.windowsupdate....
* Per the Windows HELP system itself, regarding "Windows Update error 80072efd"...
(Still - using WSUS or SMS possibly can 'override' that so you can 'mass deploy' updates to end point user desktop nodes for example, on an internal LAN).
APK
P.S.=> Oddly enough though? Another article MENTIONS hosts files interfering with it per "Windows Update error 80072ee7" so it *MAY* be possible to "override" those above with the WRONG IP Addresses - however, I am *FAIRLY CERTAIN* that's not the case (hence my initial reply regarding hosts affecting it adversely is not possible since MS bypasses hosts for Windows update, afaik)... apk
LINQ originates from functional languages, the concepts are from 1960s or so. It is funny how LISP had lot of features, and only lately 50 years later, other languages are starting to use them.
http://www.paulgraham.com/diff.html
See subject & for SOME reason, the "*" didn't paste from those 2 links (see the Windows Help file yourself for those errmsg #'s I posted to verify it).
APK
P.S.=> The ONLY THING that "threw me" was the 2nd one I posted, seemingly stating you can redirect Windows Update Servers via hosts too though! That contradicts what I said & heard:
E.G. - I've seen/heard tell -> http://www.pcreview.co.uk/thre... on Windows "hardcoding" the Windows Update Servers & that "seconded my motion"(not the BEST 'most reliable' source, far from the worst too though... but there was others I've seen in the past, from 'better sources' (like MS for example), OR I WOULD NOT HAVE SAID IT)... apk