Forgot your password?
typodupeerror
Android Cellphones Handhelds IOS Microsoft Open Source Programming Hardware

Mono Comes To Android 257

Posted by samzenpus
from the here-have-some dept.
hairyfeet writes "After releasing Monotouch for iPhone which allows c# development on iOS, Novell has announced the availability of Mono for Android. Will this give us the 'one language to rule them all' that Java failed to bring, or will the bad blood between the F/OSS groups and Microsoft make this a dead end?"
This discussion has been archived. No new comments can be posted.

Mono Comes To Android

Comments Filter:
  • Neither (Score:5, Insightful)

    by node 3 (115640) on Wednesday April 06, 2011 @05:05PM (#35738658)

    Will this give us the 'one language to rule them all' that Java failed to bring, or will the bad blood between the F/OSS groups and Microsoft make this a dead end?

    Neither. It will be exactly what it already is today, just one of many programming languages.

  • News that matters? (Score:4, Insightful)

    by MaggieL (10193) on Wednesday April 06, 2011 @05:08PM (#35738700)

    We already can program Android in Java (and Scala) and script it in Python, Lua, BeanShell, Perl, Tcl, JavaScript and Ruby. I hadn't noticed the multitudes crying out for Mono.

  • Re:Neither (Score:3, Insightful)

    by nicholas22 (1945330) on Wednesday April 06, 2011 @05:12PM (#35738730)
    No, it will be less than current *platforms* (as Mono is not a language) and the reason for this is because Microsoft can wipe the floor with it at any point it feels like.
  • by prefec2 (875483) on Wednesday April 06, 2011 @05:24PM (#35738852)

    First, it is mono. Beside any technical argument. There are a lot of people who do not like mono, because it is an incarnation of evil (alias MS). I am not saying that it is, but many people feel that way. So this is definitely one obstacle. Second, Android and iOS are different enough to be different on the low level aka programming language level, which will result either in compatibility libraries which are wrappers and resemble at some point internal DSLs. And they result in another abstraction layer which costs memory and CPU power. When you used an iPhone 3G/3GS you already find your phone to slow. So why torture yourself with slow software. And fourth, there are other cross platform approaches which use external DSLs which do not introduce another layer of abstraction at runtime, only on built time. For example: http://code.google.com/p/applause/ [google.com]

  • Re:Finally (Score:2, Insightful)

    by Locke2005 (849178) on Wednesday April 06, 2011 @05:32PM (#35738904)
    Miguel de Icaza, is that you? Because nobody else really gives a shit...
  • by steveha (103154) on Wednesday April 06, 2011 @05:39PM (#35738932) Homepage

    As I understand it, here is the chief complaint that people have about Mono: Microsoft could have some sort of patents that could apply to Mono; and Microsoft could in the future use these patents to do something bad.

    I have never seen any specific examples given, it's just a general "there could be some patents" argument. In fact, I believe the theory is that these could be "submarine" patents, not known now but lurking invisibly.

    Here's a specific example. This is a long essay [techrights.org] about this very issue. What is the danger if we use Mono? "[C#] was developed inside Microsoft, so it's likely they have many patents to cover different aspects of its implementation." Got that? "it's likely" Microsoft has "many patents". Citation needed.

    This is the 21st Century, and patents are not only public, there are patent search engines. Where are the specific examples?

    The situation is even crazier due to the passage of time. Microsoft introduced .NET in the year 2000. It is now the year 2011. Patents in the USA today have a term of 20 years. Presumably these submarine patents were not filed the same year as .NET was introduced; that would be far too obvious... they were probably filed a year or two ahead of time. So presumably these patents have a maximum life of under 9 years, and probably under 7 years.

    In the past 11 or 12 years, nobody has noticed these deadly patents, lurking. But wait: these could be true "submarine" patents, where the patent was filed but not granted yet, and Microsoft is using sleazy tricks to extend the filing period and delay granting the patents. This implies that the patent must have been filed before 1995, when the US patent system was changed (patent term went from "17 years after patent granted" to "20 years after patent filed", specifically to fix the problem of submarine patents). Thus, a true "submarine" patent would have to have been kept going via sleazy tricks for over 16 years now, and nobody has noticed it yet.

    So, if I understand correctly, we shouldn't use Mono because it could be a trap. Microsoft could have patents nobody has noticed for a dozen years that will expire within the next nine years that could apply to Mono. Or else they could have pending patent applications that have been pending for over 16 years without anybody noticing; those would apply for 17 years after the patent grant finally occurs in the future.

    And if the above turns out to be true, and you wrote a program in C#, what would Microsoft's remedy be? Would you be forced to pay them huge sums of money? Would you be forced to give ownership of your source code to Microsoft? Not likely, and anybody who claims it is likely needs to provide legal precedents showing such a remedy in a similar case. No, the only realistic remedy would be that you would have to choose between buying some sort of licensed version of Mono (to comply with the patent licensing terms), or stop using Mono.

    And the obvious exit strategy is to rewrite your C# app in Java. That would be a pain, granted, but hardly the end of the world.

    And that is even assuming that Microsoft was successful in asserting these hidden patents. After offering C# up as a free standard, and not taking any action for a dozen years, to suddenly assert hidden patents would leave Microsoft wide open to the "unclean hands" [wikipedia.org] legal doctrine. It's hard for me to imagine Microsoft prevailing in this.

    And nobody has yet proposed a motive why Microsoft should do this. How does Microsoft gain by backstabbing the C# community? In the near term they could gain some patent licensing fees, but in the long term they would be alienating people they have been trying to woo. How likely is this, really?

    So, in conclusion: because of this nebulously scary potential situation with possible unknown Microsoft patents, Mono and C# are

  • by caywen (942955) on Wednesday April 06, 2011 @06:03PM (#35739112)

    I never saw multitudes cry out for C# for mobile games development, either, but Unity appears to be a very successful product. You don't need people crying out for a product to make development worthwhile.

  • by SplashMyBandit (1543257) on Wednesday April 06, 2011 @06:41PM (#35739432)
    Actually, it is *terrible* design to use more than one language if you don't have to. Sure, for small, short-lived projects you can mix and match tools, but for huge, long-lived projects you need to be able to replace people quickly (with large numbers of people then staff turnover is inevitable for a multitude of reasons). Having extra languages is a negative with respect to this. This is why the relative simplicity of Java is viewed favorably in the Enterprise and more complex and obscure alternatives (which may actually be better fits for the purpose) are avoided.

    With regard to your "find an excuse to not hang out with after work" comment. Actually, it are pseudo-academic language snobs who are avoided. The kind who love adding layer upon layer of complexity (including switching languages and tools all over the place), and take pride in their l337 skills for doing this. They can be great developers but are shitty *designers* (too bad they're usually so clueless at design they never even see or consider this aspect). Remember, great design is about *removing* stuff. As Einstein said, "As simple as possible, but no simpler" [note: this is actually misquote of what he actually said, but it is commonly enough used and conveys the same meaning in fewer words]. That means *fewer* languages, not more, should be preferred.

  • Re:Neither (Score:2, Insightful)

    by Gadget_Guy (627405) * on Wednesday April 06, 2011 @06:57PM (#35739574)

    ...the reason for this is because Microsoft can wipe the floor with it at any point it feels like.

    The same FUD has been used for the last seven years, and Microsoft is still yet to "wipe the floor". As each year passes without the predicted backlash, your suggestion looks more and more like it should come with a free tinfoil hat!

    There is no indication at all that Microsoft is unhappy with Mono. In fact, Microsoft needs the Mono project to give its .NET platform legitimacy as a cross platform solution. If it tried to stop Mono then it would only serve to scare developers away from .NET completely.

  • Re:Neither (Score:4, Insightful)

    by timeOday (582209) on Wednesday April 06, 2011 @07:21PM (#35739770)
    Microsoft doesn't care about Mono for the same reason as Wine - because it doesn't - and never will - work well enough to be a factor either way. My two most recent encounters with it were: 1) trying to run the Netflix .net video player (doesn't work) and 2) trying to use the (only) free online tax filing site [freefilefi...eforms.com] (surprise! also doesn't work).

    "But that's just because (blah blah blah)!!"

    Exactly.

  • Re:Neither (Score:5, Insightful)

    by jrumney (197329) on Wednesday April 06, 2011 @07:59PM (#35740056) Homepage
    How long did it take Microsoft to start wiping the floor with their VFAT patents? Note the "at any point it feels like" in the GP's statement.
  • by zzatz (965857) on Wednesday April 06, 2011 @08:32PM (#35740314)

    Microsoft could end the patent issue once and for all by granting a royalty-free license for any and all patents needed to implement a C# runtime. They have not done so. That suggests that they reserve the right to use those patents against any competitor who becomes a large enough threat, or any one else with deep pockets.

    IBM has more patents than anyone else, yet they give patent grants in situations like this. Many companies do. Sometimes growing the market by making standards more affordable is better than protecting your share of a smaller market. Microsoft's actions speak louder than their words, and their actions come down on the side of reserving the option of shutting down the use of C# in ways that Microsoft doesn't like. You think that it's silly to fear that Microsoft would do that, I think it's silly for Microsoft to fear that someone might someday use Microsoft's C# patents to harm Microsoft.

  • Re:Neither (Score:3, Insightful)

    by Gadget_Guy (627405) * on Wednesday April 06, 2011 @09:29PM (#35740628)

    VFAT was never covered by Microsoft with a Microsoft Community Promise, have patent grants under MS-PL or Apache2 licenses, be covered by the Microsoft Open Specification Promise, or be directly specified by patent covenants. There are parts of .NET that are not explicity covered by these various patent grants, but 1) you don't have to use them and 2) (AFAIK) they are not used in these versions of Mono for Mobile phones.

    Microsoft never touted VFAT as a cross platform technology like it did with .NET. The decision to licence VFAT was made after people just started using it for themselves. On the other hand, Microsoft actively encouraged the development of other implementations of .NET. It would be a PR nightmare for them to start making legal threats against the very project that they wanted to come about.

  • Re:Neither (Score:4, Insightful)

    by Anthony Mouse (1927662) on Wednesday April 06, 2011 @10:25PM (#35740912)

    The Netflix thing is a bummer, but it's a case of drm not being compatible with open source, as I see it.

    It seems to me the problem is that DRM is incompatible with people owning their personal property. There is nothing stopping you from writing an open source program that encrypts movies while they're in transit over a network etc. And then people will break the DRM in two hours just like they do with the proprietary ones.

    The real incompatibility is in allowing the user to own their computer. Even if you have proprietary software, if the user can attach a debugger to it or can emulate the whole thing in software then the DRM is toast. The only way that DRM can "work" is by eliminating actual property ownership. It literally requires for us all to become renters and trespassers on what was once our own property, so that corporations can own our culture. I mean literally -- it's not an exaggeration.

    DRM sucks, but as far as I can tell, Netflix can't exist without it.

    Over-the-air broadcast TV exists without it. In higher quality than Netflix. So I'm not seeing the inherent reason why Netflix can't exist without it.

  • Re:Neither (Score:4, Insightful)

    by Gadget_Guy (627405) * on Thursday April 07, 2011 @11:48AM (#35746534)

    LMOL....yeah Microsoft needs Mono for legitimacy? From who??

    You answered your own question later when you said:

    FYI .NET has been around since 2000. It has been touted as cross platform and cross language. That has not materialized in the past 10 years.

    The reason Microsoft needs Mono is exactly because they tout their platform as cross platform. You say that it hasn't materialized in 10 years, but here we are talking about being able to use Mono in Linux, iOS and now Android. As for cross language support [dotnetpowered.com], I can't see how you could possibly deny that claim!

    The rest of your post just seems to say that if you only care about running on Windows then you use .NET, but if you want Linux support then you use Mono. That doesn't actually contradict what I said. And if nobody cares about Mono, when why are you bothering to post here about it?

What the world *really* needs is a good Automatic Bicycle Sharpener.

Working...