Live data from Hacker News

Mono Developers start their own company

tirania.org

81–88 of 88 posts

Re: Mono Developers start their own company

#81
post #56

Has something happened since Apple implemented the no interpreters rule? Didn't Apple outlaw MonoTouch?

Thank you for asking this. I came here to ask it. I'm not sure why you were downvoted for it (I assume that's why the comment has been dimmed). Sometimes I don't think I recognize HN. It's a shame, and I hope it doesn't keep you from asking questions here.

I'm speculating here, but I'm guessing the reason it was downvoted (if it was, I never saw it dimmed) was because the whole "section 3.2.2" thing seems to have been settled around a year or so ago. That is, anyone who was concerned about it being a problem should probably know by now that it ended up being resolved and left MonoTouch unaffected. For a lot of folks I presume it's "old news" and some folks may just think euroclydon is trying to spread FUD.

Re: Mono Developers start their own company

#82
post #56

Earlier quoted context omitted.

Thank you for asking this. I came here to ask it. I'm not sure why you were downvoted for it (I assume that's why the comment has been dimmed). Sometimes I don't think I recognize HN. It's a shame, and I hope it doesn't keep you from asking questions here.

I'm speculating here, but I'm guessing the reason it was downvoted (if it was, I never saw it dimmed) was because the whole "section 3.2.2" thing seems to have been settled around a year or so ago. That is, anyone who was concerned about it being a problem should probably know by now that it ended up being resolved and left MonoTouch unaffected. For a lot of folks I presume it's "old news" and some folks may just thi…

No FUD here. I remember the 3.2.2 thing being news that transcended the realm of just iOS developers, but the resolution, I don't remember that at all.

A year, wow, it doesn't seem like that long ago!

Re: Mono Developers start their own company

#83

Earlier quoted context omitted.

I'm speculating here, but I'm guessing the reason it was downvoted (if it was, I never saw it dimmed) was because the whole "section 3.2.2" thing seems to have been settled around a year or so ago. That is, anyone who was concerned about it being a problem should probably know by now that it ended up being resolved and left MonoTouch unaffected. For a lot of folks I presume it's "old news" and some folks may just thi…

No FUD here. I remember the 3.2.2 thing being news that transcended the realm of just iOS developers, but the resolution, I don't remember that at all. A year, wow, it doesn't seem like that long ago!

I don't remember it either, probably because I decided that I would just try to make my website work well on mobile and skip the app altogether. Became convinced of this strategy when A decided to take 30% of my sales through an app also (or did they rescind that also?).

Anyway, downvoting without comment on something like this is poor.

Re: Mono Developers start their own company

#84
post #16
post #7

Any one have any statistics on Mono or know companies that use it, always wondered about Mono usage. What are some use cases?

My first thought is to run ASP.NET on a Linux server. Also, some Gnome apps are written in C#: http://en.wikipedia.org/wiki/Mono_(software)#Software_develo...

> to run ASP.NET on a Linux server

I can understand using ASP.NET on Windows servers. There aren't that many better alternatives (there are a couple, but not that many and most of them would require some tweaking), but Linux, like any Unix-like, server has a whole lot of exquisitely refined web platforms that are superior to ASP.NET in each and every way.

Unless you are already invested in ASP.NET. Linux would be the lesser of the two evils.

Re: Mono Developers start their own company

#85
post #75

Earlier quoted context omitted.

My iOS app iCircuit ( http://icircuitapp.com ) was written using MonoTouch. It's the #242 grossing productivity app in the store. I know, I know, #242 doesn't sound like a lot, but it's a big store. :-) I use Mono for the ease of development (powerful language + nice IDE), the nice runtime (GC and type reflection), and the .NET libraries.

Can you say a few words on the performance of the mono runtime on iOS (relative to native ObjC apps)? Do you call out to native Objective-c code for compute intensive tasks? Do you find the mono garbage collector limiting in performance? I assume you're using C#, right?

iCircuit is a performance hungry application so it's completely valid to ask about perf. Some points:

1. The majority (99%) of your app is not perf-circital. It's just setting some properties on UIViews and letting CoreAnimation do the rest, or reading data from the DB, or waiting on a network socket. If something is slow, you just throw it on a background thread with a continuation to resync it with the UI thread.

2. Over the years, I have found that micro-optimizations (like: allocating objects on the stack as in C vs allocation on the heap in C#, no dynamic dispatch in C vs lots of virtuals in C#, etc.) are _all_ that C give you and are not enough to make an app like iCircuit fast.

What you need instead is the ability to easily change and experiment with algorithms. C# gives me this -- programming in a strongly typed OOP language gives me the safequards I need to do this. The GC is what allows me to do this quickly and without pulling out my hair (caches in C/C++ drive me nuts because I have to be so careful about ownership rules of objects).

In a nutshell, I'm willing to trade the small (constant) perf hit in order to have better tools for tackling the hard problems - such as analyzing a 1,000 node circuit.

iCircuit contains one tight loop where it has to factor a very large matrix many times a second. That loop runs fine on .NET on desktop machines (don't even break a sweat), but I used a C function for the iOS version since there was about a 2X improvement of speed for this function. Fortunately, .NET makes it stupid easy to call C functions so I have the best of both worlds.

Re: Mono Developers start their own company

#86
post #75

Earlier quoted context omitted.

Can you say a few words on the performance of the mono runtime on iOS (relative to native ObjC apps)? Do you call out to native Objective-c code for compute intensive tasks? Do you find the mono garbage collector limiting in performance? I assume you're using C#, right?

iCircuit is a performance hungry application so it's completely valid to ask about perf. Some points: 1. The majority (99%) of your app is not perf-circital. It's just setting some properties on UIViews and letting CoreAnimation do the rest, or reading data from the DB, or waiting on a network socket. If something is slow, you just throw it on a background thread with a continuation to resync it with the UI thread. 2…

Thanks for the detailed resposne!

Assuming I want to go this way - Do you find the mono development tools satisfactory (monodevelop) or do you use Microsoft's and later target iOS?

Re: Mono Developers start their own company

#87
post #75

Earlier quoted context omitted.

My iOS app iCircuit ( http://icircuitapp.com ) was written using MonoTouch. It's the #242 grossing productivity app in the store. I know, I know, #242 doesn't sound like a lot, but it's a big store. :-) I use Mono for the ease of development (powerful language + nice IDE), the nice runtime (GC and type reflection), and the .NET libraries.

Can you say a few words on the performance of the mono runtime on iOS (relative to native ObjC apps)? Do you call out to native Objective-c code for compute intensive tasks? Do you find the mono garbage collector limiting in performance? I assume you're using C#, right?

I have a lot of experience using mono on mobile platforms, including webos, ios, and android. We also port to mac/windows and a number of other ARM-based linux platforms.

If you go with mono, the most striking thing you will notice is increased startup time. On iOS with full AOT this effect is less pronounced, but on webos/android even tiny mono apps have 1-3 seconds of black screen at startup since there's a lot of JIT/metadata work to be done.

On darwin platforms, we've found that mono's garbage collector pauses unmanaged threads at inconvenient times and were forced to move audio playback into a separate process to prevent glitches. This only mattered with large numbers of live objects (>500k), but it did come into play. The new SGen collector may fix this, but it still (as of 2.10.2) crashes too often to be used.

Memory usage is noticeably higher than for comparable objective-c apps, but is not the end of the world.

Once your app is up and running, the mono runtime is plenty fast enough for most things. We even do some light DSP in C# on these platforms. It's better than you would think.

On a related note, just because you're using C#/.net doesn't mean that you can code like you're in the desktop/server world. You still need to focus on doing as little work possible per screen displayed to get the snappiest possible user experience.

Re: Mono Developers start their own company

#88
post #55

Earlier quoted context omitted.

I'm not sure you can make this assumption. Attachmate seems most interested in cutting Novell down to the bone and extracting whatever value it can from what is left. I don't see a whole lot of future growth opportunity from that company in the long term. Just because Mono is not necessarily profitable now doesn't mean that it couldn't be cultivated into a profitable company later. Mono seemed to be recently finding…

What do you mean about Unity? Unity Technologies is a separate company. Do they pay (a significant amount) to licence the tech?

Unity uses Mono for scripting in their engine. As it runs on a variety of platforms where replacing the runtime (which is normally LGPL licensed) isn't possible, I believe they have a commercial licensing agreement in place with Novell.

I don't know what the terms are of that agreement.

Post reply on HN