“In the last five years, LLVM has evolved from an academic project to the universal back-end of C, C++, and Objective C compilers. The key to its success is its performance and adaptability, both of which derive from its unique design and implementation.”
We need a C# frontend for LLVM. I would love to play with a native C# compiler and even use it for serious stuff and actual work when it is stable enough and it fits the job.
LLVM would be one of the best backends for a native C# compiler.
From what I understand there was work being done by Mono developers using LLVM – IMHO I’d love to see Apple provide a bridge via C#/VB.NET support to encourage developers from the Windows world to actively consider opportunities in the Mac world.
Mono uses LLVM as an alternative for its own JIT compiler. It doesn’t generate native code.
As for Apple and encouraging C#/VB devs to code for Os X/ iOS, the problem is that .NET devs invested too much time in learning MS specific apis like winforms and WPF which Apple can’t legally implement. They can implement C# bindings to Apple specific apis however.
Edited 2012-05-30 15:22 UTC
A lot of this would have been solved if Mono used a platform independent API to start with. Also the APIs and technologies on .NET/WinRT are patented which in itself legally restricts them from being used in other platforms/runtimes.
Microsoft have made a legally binding policy not to use those that use Mono and Infringe on Patents.
http://blog.xamarin.com/2012/05/01/android-in-c-sharp/
http://www.microsoft.com/openspecifications/en/us/programs/communit…
If anyone claims otherwise it is pure FUD.
I would love to know why this got modded down, when it was facts … oh well this is OSNEWS.
It’s not unlimited, you know. Under which specification do WinRT and WPF reside?
http://www.microsoft.com/openspecifications/en/us/programs/communit…
http://www.microsoft.com/openspecifications/en/us/programs/osp/comp…
Includes XAML Open Specification Promises for Silverlight and WPF (WinRT should follow suit rather soon, given that its for all intents and purposes unreleased.)
Couple this with the C# and CLI standards, you can write a free and safe to use implementation of WPF or Silverlight.
Thankyou
Gtk# or Gecko# are there (but anyway, there wouldn’t be much point to Mono without some significant portability of code with MS stack)
They also AOT C# code to native.
http://www.mono-project.com/AOT
Except – the licensing on the Mono platform pretty much means that static linking is not allowed. So it’s of limited use really.
Right, but technically, compiling C# to native code, having it JIT compiled, or running inside a VM is an implementation issue.
Many people without compiler development knowledge tend to mix languages with their usual implementations.
Miguel isn’t stupid. The license was put in place to protect embedded uses. So, for example, you couldn’t create your own version for the iPhone. People have debated this with Miguel in the past, and the stance is very much “If you use AOT and static link with in a commercial product, you pay for a license.” The license fee makes up the bulk of the cost for Monotouch. He’s also gone on record stating that the license for Monotouch is the “cheapest” they have ever offered a static linking/commercial Mono license. This is one of the major reasons I don’t use Mono on anything but desktop platforms. You’d be better off porting the Micro Framework to iOS (though, again, that might not work for the same reasons that Mono needs static linking..)
I do believe the mono guys have a product that allows one to compile C# down to native code for ios (it might even be able to access cocoa apis)
Yes they could implement WPF
http://www.mono-project.com/WPF
The only reason it is not being developed on is because nobody in the Mono community wants it.
Honest question: is it possible to get reasonable performance from would be WPF layered on top of anything other than DirectX?
Edited 2012-05-31 08:17 UTC
I think an OpenGL-based implementation should be able to match the DirectX performances. After all, a lot of game engines use multiple (DirectX, OpenGL and some console specific) rendering backends without huge performances differences.
Sure, the WPF renderer even using DirectX is very naive compared to the one for Metro Style Apps, so a good OpenGL renderer can kick the pants off of the one in WPF.
The problem likely isn’t that, the problem is that compared to WinRT and Silverlight, WPF is absolutely massive. The scope and breadth of that framework is almost overwhelming at times. It literally does everything, ever.
Reimplementing WPF is such a gargantuan task, and not really worth the effort. There was an incredible amount of good in WPF, but there was also a bunch of not so good.
If I were Miguel, and I really wanted to solve the Linux Desktop GUI problem (Because it really is a problem, GTK sucks and Qt isnt far behind), I would implement a lightweight UI stack on top of XAML technologies.
Take the lessons learned from Moonlight, strip out anything you don’t need, and retune it from the Desktop.
They already have a high perf XAML parser with a really good renderer behind it. They’re really, a lot of the way there. Just takes some determined hackers.
Love to see this kind of articles in OSnews.
I know the most of news are patent/Android/iPhone related but articles like this remember me why I update my OSnews page several times a day.
Thanks!
(emphasis mine) RSS? ;p
What I like so much about LLVM/Clang is that the combo works so well with the new Objective-C 2 runtimes, incl. libobjc2-1.6 which I use with GNUstep.