Linked by Thom Holwerda on Wed 30th May 2012 08:05 UTC
General Development "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."
Order by: Score:
I know what we need
by twitterfire on Wed 30th May 2012 14:27 UTC
twitterfire
Member since:
2008-09-11

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.

Reply Score: 3

RE: I know what we need
by kaiwai on Wed 30th May 2012 14:52 UTC in reply to "I know what we need"
kaiwai Member since:
2005-07-06

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.

Reply Score: 3

RE[2]: I know what we need
by twitterfire on Wed 30th May 2012 15:15 UTC in reply to "RE: I know what we need"
twitterfire Member since:
2008-09-11

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

Reply Score: 3

RE[3]: I know what we need
by adkilla on Wed 30th May 2012 15:35 UTC in reply to "RE[2]: I know what we need"
adkilla Member since:
2005-07-07

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.

Reply Score: 1

RE[4]: I know what we need
by lucas_maximus on Wed 30th May 2012 17:01 UTC in reply to "RE[3]: I know what we need"
lucas_maximus Member since:
2009-08-18

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/

The .NET framework is also covered by Microsoft’s legally binding community promise.


http://www.microsoft.com/openspecifications/en/us/programs/communit...

If anyone claims otherwise it is pure FUD.

Reply Score: 9

RE[5]: I know what we need
by lucas_maximus on Wed 30th May 2012 21:38 UTC in reply to "RE[4]: I know what we need"
lucas_maximus Member since:
2009-08-18

I would love to know why this got modded down, when it was facts ... oh well this is OSNEWS.

Reply Score: 5

RE[5]: I know what we need
by JAlexoid on Wed 30th May 2012 23:18 UTC in reply to "RE[4]: I know what we need"
JAlexoid Member since:
2009-05-19

It's not unlimited, you know. Under which specification do WinRT and WPF reside?

http://www.microsoft.com/openspecifications/en/us/programs/communit...

Reply Score: 2

RE[6]: I know what we need
by Nelson on Thu 31st May 2012 00:04 UTC in reply to "RE[5]: I know what we need"
Nelson Member since:
2005-11-29

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.

Reply Score: 4

RE[7]: I know what we need
by lucas_maximus on Thu 31st May 2012 07:14 UTC in reply to "RE[6]: I know what we need"
lucas_maximus Member since:
2009-08-18

Thankyou

Reply Score: 2

RE[4]: I know what we need
by zima on Wed 6th Jun 2012 23:55 UTC in reply to "RE[3]: I know what we need"
zima Member since:
2005-07-06

A lot of this would have been solved if Mono used a platform independent API to start with.

Gtk# or Gecko# are there (but anyway, there wouldn't be much point to Mono without some significant portability of code with MS stack)

Reply Score: 2

RE[3]: I know what we need
by moondevil on Wed 30th May 2012 15:40 UTC in reply to "RE[2]: I know what we need"
moondevil Member since:
2005-07-08

Mono uses LLVM as an alternative for its own JIT compiler. It doesn't generate native code.


They also AOT C# code to native.

http://www.mono-project.com/AOT

Reply Score: 5

RE[4]: I know what we need
by henderson101 on Thu 31st May 2012 13:17 UTC in reply to "RE[3]: I know what we need"
henderson101 Member since:
2006-05-30

Except - the licensing on the Mono platform pretty much means that static linking is not allowed. So it's of limited use really.

Reply Score: 2

RE[5]: I know what we need
by moondevil on Thu 31st May 2012 13:37 UTC in reply to "RE[4]: I know what we need"
moondevil Member since:
2005-07-08

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.

Reply Score: 2

RE[6]: I know what we need
by henderson101 on Thu 31st May 2012 15:30 UTC in reply to "RE[5]: I know what we need"
henderson101 Member since:
2006-05-30

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..)

Reply Score: 2

RE[3]: I know what we need
by _txf_ on Wed 30th May 2012 16:01 UTC in reply to "RE[2]: I know what we need"
_txf_ Member since:
2008-03-17

Mono uses LLVM as an alternative for its own JIT compiler. It doesn't generate native code.


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)

Reply Score: 2

RE[3]: I know what we need
by lucas_maximus on Wed 30th May 2012 17:02 UTC in reply to "RE[2]: I know what we need"
lucas_maximus Member since:
2009-08-18

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.

Reply Score: 3

RE[4]: I know what we need
by dsmogor on Thu 31st May 2012 08:17 UTC in reply to "RE[3]: I know what we need"
dsmogor Member since:
2005-09-01

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

Reply Score: 2

RE[5]: I know what we need
by bouhko on Thu 31st May 2012 09:01 UTC in reply to "RE[4]: I know what we need"
bouhko Member since:
2010-06-24

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.

Reply Score: 2

RE[5]: I know what we need
by Nelson on Thu 31st May 2012 17:12 UTC in reply to "RE[4]: I know what we need"
Nelson Member since:
2005-11-29

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.

Reply Score: 3

Great article!
by ebasconp on Wed 30th May 2012 15:32 UTC
ebasconp
Member since:
2006-05-09

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! ;)

Reply Score: 5

RE: Great article!
by zima on Mon 4th Jun 2012 06:07 UTC in reply to "Great article!"
zima Member since:
2005-07-06

why I update my OSnews page several times a day

(emphasis mine) RSS? ;p

Reply Score: 2

The beauty of LLVM/Clang
by dylansmrjones on Thu 31st May 2012 15:12 UTC
dylansmrjones
Member since:
2005-10-02

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.

Reply Score: 2