Slashdot Mirror


iPhone Gets .Net App Development

snydeq writes "Novell has announced MonoTouch 1.0, a commercial SDK that allows developers to build iPhone apps using Microsoft's .Net Framework instead of the Apple-designated C or Objective-C languages. The SDK leverages Novell's Mono runtime for running Windows apps on non-Windows systems, allowing developers to utilize code and libraries written for .Net and programming languages like C#. With MonoTouch, the Mono runtime provides such developer services as garbage collection, thread management, type safety, and Web services, said Mono leader Miguel de Icaza."

327 comments

  1. Launch Times? by glennrrr · · Score: 4, Interesting

    Well how long does it take to load the whole Mono framework runtime because every second counts on the iPhone?

    1. Re:Launch Times? by Gwala · · Score: 5, Informative

      Probably not too bad - my guess would be it's using the AOT version of Mono, which compiles the framework into the final application, resulting in much better load times in performance-critical environments (see http://www.mono-project.com/AOT )

      --
      #!/bin/csh cat $0
    2. Re:Launch Times? by Anonymous Coward · · Score: 4, Interesting

      If I am not mistaken and given that Apple bans other execution environments, the last step in building is compiling to native code. So there are no JIT times, I donÂt know about other loading times.

    3. Re:Launch Times? by digitalunity · · Score: 4, Interesting

      I would be more worried about WinForms compatibility. I developed a couple of .NET applications(never again!) and running them with the Mono runtime is markedly different than MS's runtime. Stability wasn't great with Mono and controls didn't always behave the same.

      Although I won't developing any more .NET applications if I can avoid it, it would still be nice if Mono matured to the point where it could replace the MS runtime without noticeable difference.

      --
      You can't legislate goodness. Let each to his own destiny, by will of his freely made choices.
    4. Re:Launch Times? by palegray.net · · Score: 3, Insightful

      My guess is approximately zero seconds, as Apple is sure to kill this.

    5. Re:Launch Times? by Monkeedude1212 · · Score: 1, Informative

      How does this hurt Apple?

      This will only increase the amount of apps they'll have in their store - as just about anyone and their mother can learn C#, or knows it already.

    6. Re:Launch Times? by thetoadwarrior · · Score: 4, Insightful

      Like MS will ever allow that to happen. If .Net and Mono were completely compatible then it would be much easier to port apps to Linux and therefore remove the need for Windows.

    7. Re:Launch Times? by Anonymous Coward · · Score: 0

      I donÂt think there is winforms development inside this environment. Only cocoa. The same way mono works with GTK

    8. Re:Launch Times? by markdavis · · Score: 1

      Exactly.

      Why would anyone get excited about this, I don't know. Sounds like a big mess just waiting to happen.

    9. Re:Launch Times? by poetmatt · · Score: 4, Insightful

      It's no magic that Mono is always a version behind .net or more. It's just that lots of people are not realizing this yet, or the same with silverlight. It's stupid because if it was complete compatible then people would actually have more interest in windows, too.

    10. Re:Launch Times? by Anonymous Coward · · Score: 1, Insightful

      I don't think we have to worry about people developing for Silverlight. Anyone who knows anything about Microsoft's history with the Web knows to stay far away from that technology. I say this as a developer paid to build .NET applications.

    11. Re:Launch Times? by Jon+Pryor · · Score: 2, Insightful

      My guess is approximately zero seconds, as Apple is sure to kill this.

      Why would Apple want to kill this?

      MonoTouch is not significantly different from Unity 3D, which has been used to create over 40 games for iPhone already.

      The primary difference is, instead of needing to create user interfaces purely atop GL, you can use the CocoaTouch libraries and get native buttons, frames, html controls, etc.

    12. Re:Launch Times? by Snap+E+Tom · · Score: 3, Informative

      Because a secret agenda of theirs is to make you use XCode to develop apps. This was made quite clear to my former company on a project. That's why you won't see Java nor Flash any time soon, and the ToS explicitly forbids apps that execute external code. I theorize that by doing this they 1) want control and 2)hope that the iPhone development activity propagates into OS X development activity.

    13. Re:Launch Times? by palegray.net · · Score: 1

      Apple cares as much about control over the application development platform as they do about the number of apps in their store. Look, I don't hate Apple or anything (hell, I'm posting this from a new MacBook Pro), but the truth is the truth.

    14. Re:Launch Times? by Anonymous Coward · · Score: 2, Insightful

      and the ToS explicitly forbids apps that execute external code.

      Actually, the ToS explicitly forbids apps that execute external code from running on the iPhone

      This is an 'app' that runs on your workstation, used to compile code into an executable. The resulting executable, which would not execute any external code just like all the apps out there now, would be perfectly fine to put on the iPhone.

      It's an SDK, not an interpreter.

    15. Re:Launch Times? by SanityInAnarchy · · Score: 5, Interesting

      Actually, there are two large things standing in the way of that:

      1. The best .NET development tool, from what I can tell, is still going to be some form of Visual Studio.
      2. Unlike Java, .NET makes native bindings dirt simple. If you were using a DLL in C++, you can use the same DLL in C# relatively easily.

      #1 means that even if people want to target Mono, they might develop in VS.NET anyway, which is a bunch of VS.NET and Windows sales for Microsoft. #2 means that anyone who doesn't deliberately target Mono is probably going to call a bunch of native win32 code, just because it's so trivially easy to do so.

      Note that both of these exist even with a "100% compatible" Mono, unless it was also combined with a 100% compatible Wine, and we all know exactly how likely the latter is.

      --
      Don't thank God, thank a doctor!
    16. Re:Launch Times? by SanityInAnarchy · · Score: 4, Interesting

      How does this hurt Apple?

      I don't know, how does Google Voice hurt Apple? How does Java hurt Apple?

      I mean, you can sort of come up with a rationale, but it's really, really strained. Basically, it's not about whether it directly hurts apple, as whether it might hurt Apple, and/or whether it lets Apple give up even a tiny iota of control over their platform, and/or whether it hurts Apple's partners.

      In this case, it's probably about control. Apple is going to be very wary of any language which supports eval(), since that means my app could just download new code from the Internet and eval it, thus eliminating the middleman (bottleneck!) that is the Apple approval process for all future updates.

      --
      Don't thank God, thank a doctor!
    17. Re:Launch Times? by Cyberax · · Score: 5, Informative

      Java has quite nice bindings to C++ now in form of JNA ( https://jna.dev.java.net/ ), it's actually about as powerful as .NET interop.

      Of course, managed C++ is even better still.

    18. Re:Launch Times? by Anonymous Coward · · Score: 0

      You do realize that Microsoft is working with Novell on the Mono project right?

      http://www.mono-project.com/FAQ:_General#Mono_and_Microsoft

    19. Re:Launch Times? by yk4ever · · Score: 1

      Very interesting. What didn't you like about .Net?

    20. Re:Launch Times? by tyrione · · Score: 4, Insightful

      Because a secret agenda of theirs is to make you use XCode to develop apps. This was made quite clear to my former company on a project. That's why you won't see Java nor Flash any time soon, and the ToS explicitly forbids apps that execute external code. I theorize that by doing this they 1) want control and 2)hope that the iPhone development activity propagates into OS X development activity.

      Yes. Use our Development Tools on our Platform. Truly it is a secretive agenda. Get real.

    21. Re:Launch Times? by Carbaholic · · Score: 1

      Your plan is to rid the world of windows by using more .Net applications?~

    22. Re:Launch Times? by shutdown+-p+now · · Score: 3, Informative

      Java has quite nice bindings to C++ now in form of JNA ( https://jna.dev.java.net/ [java.net] ), it's actually about as powerful as .NET interop.

      Yeah, there's also J/Invoke.

      The problem is Java language itself. Yes, you can map unsigned ints to signed ones, pointers to longs and structs to classes, and so on - but mappings can get very complicated when API itself is (i.e. lots of nested structs/unions of arrays of pointers, etc). In C#, the type system lets you drop this level of abstraction when needed (or when it is simply inconvenient), and work with raw pointers, C-style fixed-size arrays, structs and unions with exact same memory layout - no marshaling involved. It is faster as well, obviously, since there's no need to copy data back and forth (which can cost a lot for large object graphs).

    23. Re:Launch Times? by samkass · · Score: 1

      They can't kill the project, but they can deny any app written with it from the App Store, which they will almost certainly do as any sort of interpreted code is already a violation of the iPhone SDK licensing agreement. Unless this compiles everything all the way down to ARM machine code, it's already banned.

      --
      E pluribus unum
    24. Re:Launch Times? by RightSaidFred99 · · Score: 1

      Lolzers. You god modded Troll for absolutely no apparent reason.

    25. Re:Launch Times? by Anonymous Coward · · Score: 0

      If .Net and Mono were completely compatible then it would be much easier to port apps to Linux and therefore remove the need for Windows.

      If that were true, why was Sun unable to destroy Microsoft with Java?

    26. Re:Launch Times? by Anonymous Coward · · Score: 0

      If only the majority of the available apps for Windows was written in 100% pure .NET code.

      Most of the relevant Windows apps are still written in C/C++ (Win32 APIs) and even the ones the use .NET are infested with P/Invokes...

    27. Re:Launch Times? by AHuxley · · Score: 1

      'I don't know, how does Google Voice hurt Apple? How does Java hurt Apple?"
      It hurts Apples partners and customers. The telcos ability to use the same device to sell various upgrades and data plans, mins ect.
      Your role as a consumer is to link your bank account to a regional telco and enjoy.
      Java might just eat into battery life just enough to on average change the device from "lasts a long time on a change" to "the battery life is ok".

      --
      Domestic spying is now "Benign Information Gathering"
    28. Re:Launch Times? by Anonymous Coward · · Score: 0

      Er, the reverse kinda happened, MS tried to kill sun Java.

    29. Re:Launch Times? by peragrin · · Score: 1

      except you can't put apps onto the iphone without apples approval.

      while I think they are a bit to restrictive, they do make sure apps don't do stupid things like able to install malware.

      --
      i thought once I was found, but it was only a dream.
    30. Re:Launch Times? by Em+Ellel · · Score: 2, Insightful

      Apple cares as much about control over the application development platform as they do about the number of apps in their store. Look, I don't hate Apple or anything (hell, I'm posting this from a new MacBook Pro), but the truth is the truth.

      I call BS.

      Apple cares far more about control than about number of apps. These are the people who for a year after launch of the SDK forbidden posting of any sample code in public!!! Number of apps is not a priority to Apple - otherwise it would take less than a month it takes now to get an app even looked at, let alone approved and they would not reject applications just because they did not like the loading splash screen. (they objected to one of my submissions because splash screen was a logo instead of a fake screenshot of an application - even though half the apps in the app store use logos or things like that)

      Apple is all about control. Absolute control. If they figure out how, this thing will be dead before the first app is submitted.

      -Em

      --
      RelevantElephants: A Somatic WebComic...
    31. Re:Launch Times? by peragrin · · Score: 1

      well java, and flash on other phones cut battery life by 1/3 or more. not to mention horrible load times. Apples' native apps already cut battery life down.

      --
      i thought once I was found, but it was only a dream.
    32. Re:Launch Times? by Em+Ellel · · Score: 1

      Java might just eat into battery life just enough to on average change the device from "lasts a long time on a change" to "the battery life is ok".

      "lasts a long time on a charge"??? I am not sure what phone you are talking about, but "the battery life is ok" would be a huge improvement for iPhone. My iPhone requires several charges a day - I cannot imagine it getting any worse. My wife uses hers much less, so she usually makes it to the evening hours, but having a charger in any place I spend more than a few hours is a must.

      --
      RelevantElephants: A Somatic WebComic...
    33. Re:Launch Times? by digitalunity · · Score: 2, Informative

      It's extra work to use managed and unmanaged code in the same project. Microsoft's implementation of Winforms is a wrapper for legacy WIN32 controls, leading to a lot of funky behavior when you try to subclass them.

      It's generally just a pain in the ass to use compared to Qt on Windows or Linux, which gives me true interoperability and a slick interface with little work. There are some controls available in .NET that aren't there in Qt, but the reverse is true also. I find Qt's model/view architecture easier to use, although there are a few classes that are a bit contrived.

      --
      You can't legislate goodness. Let each to his own destiny, by will of his freely made choices.
    34. Re:Launch Times? by SanityInAnarchy · · Score: 2, Interesting

      It hurts Apples partners and customers.

      Ok, I'll bite. How does it hurt customers?

      The telcos ability to use the same device to sell various upgrades and data plans, mins ect.

      Um... What?

      Data seems to be much more expensive than minutes.

      Your role as a consumer is to link your bank account to a regional telco and enjoy.

      I don't see how this is improved by letting said telco lock down my phone, or lock me into a two-year contract.

      Java might just eat into battery life just enough to on average change the device from "lasts a long time on a change" to "the battery life is ok".

      ...and Javascript doesn't?

      --
      Don't thank God, thank a doctor!
    35. Re:Launch Times? by SanityInAnarchy · · Score: 1

      well java, and flash on other phones cut battery life by 1/3 or more.

      And Javascript doesn't?

      Apples' native apps already cut battery life down.

      ...so your point is?

      not to mention horrible load times.

      Let's actually try some apps and see if that's true. I doubt it.

      --
      Don't thank God, thank a doctor!
    36. Re:Launch Times? by tgd · · Score: 1

      Its also not a secret that Microsoft has been contributing work to both Mono and whatever the Silverlight port they've got is ...

      So, both you and the GP seem to have missed the boat there.

    37. Re:Launch Times? by Sez+Zero · · Score: 1

      Yes. Use our Development Tools on our Platform. Truly it is a secretive agenda. Get real.

      On the Internet, no one can hear you scream... "sarcasm".

    38. Re:Launch Times? by Anonymous Coward · · Score: 0

      I don't think we have to worry about people developing for Silverlight. Anyone who knows anything about Microsoft's history with the Web knows to stay far away from that technology. I say this as a developer paid to build .NET applications.

      I'm being paid to develop for Silverlight (and only a masochist would do it for free). The whole thing appears to be designed and built around a few demos. Within what they've demonstrated, it can do some very slick stuff... but then as soon as you try to go beyond that, either there's no way to do it without re-implementing everything, or building an awful kludge with the same complexity. And to make it worse, the tools often simply don't work properly... and unlike with open source, you can't easily get in there to fix it or kludge it into working; everything's opaque.

    39. Re:Launch Times? by jcr · · Score: 0, Troll

      It's generally just a pain in the ass to use compared to Qt on Windows or Linux,

      It's worse than Qt? Wow.

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
    40. Re:Launch Times? by digitalunity · · Score: 1

      With 4.5, Qt has really made a lot of improvements in bugfixes, consistency and it's even LGPL now.

      Qt on windows works almost as good or maybe even better than on Linux, most definitely works better than Mono on Windows and Linux and from a developer standpoint beats the pants off .NET from a ease of coding standpoint.

      --
      You can't legislate goodness. Let each to his own destiny, by will of his freely made choices.
    41. Re:Launch Times? by drolli · · Score: 1

      lets you drop abstractions.... i am not sure for which language this is making a point.....

    42. Re:Launch Times? by ekhben · · Score: 1

      There are few languages that are powerful enough to use practically, yet not powerful enough to dynamically load object code into the current runtime. Objective-C certainly supports a whole host of dynamic loading and class rebinding options. I don't think eval() counts for squat.

      There's a large number of reasons to be cautious about investing capital into an iPhone development program, but I don't think choosing C# as your implementation language instead of Objective-C is one of them. (Well, the $399 personal yearly fee for MonoTouch would cut into your profits, I guess).

    43. Re:Launch Times? by gyrogeerloose · · Score: 1

      Yes. Use our free Development Tools on our Platform instead of Microsoft's $300 tools. Truly it is a secretive agenda

      There, fixed that for you.

      --
      This ain't rocket surgery.
    44. Re:Launch Times? by shutdown+-p+now · · Score: 2, Insightful

      lets you drop abstractions.... i am not sure for which language this is making a point.....

      We're talking about directly invoking functions from native shared libraries. Regardless of abstractions, this scenario is inherently unsafe - since anything can happen in native code - so it doesn't matter if you represent a pointer as an int, the function that you're calling will SIGSEGV on a null value anyway, and may quietly corrupt memory if you give it a wrong non-null value.

      An abstraction level here doesn't really buy you any safety, and only serves to map native constructs (such as pointers) to the limited subset of those constructs that the language/runtime in question supports. C# supports a larger subset - in effect, it has direct representation of everything in standard C: unsigned integral types, raw pointers, fixed-size non-bounds-checked arrays, stack-allocated arrays and structs, unions, function pointers; and with Microsoft __arglist language extension (which Mono supports), non-boxed varargs.

      Of course, this is all strictly opt-in. You don't have to deal with these things if you don't deal with native APIs (and, in many cases, you can avoid dealing with them even if you do), and the language requires you to be very explicit about your intentions when using "unsafe" features - pointers and pointer arithmetic can only be used inside unsafe { ... } blocks, for example, and the compiler will also demand "/unsafe" command line switch when compiling such code. I really don't see how one would reasonably argue against such things, unless we're talking about a language specifically dumbed down to the point where you can't "shoot yourself in the foot" - which is something, the attraction of which I never understood.

      Even Pascal had reinterpret_cast...

    45. Re:Launch Times? by gyrogeerloose · · Score: 1

      My iPhone requires several charges a day - I cannot imagine it getting any worse.

      How much do you use it? I use my iPhone G3 as a music player roughly six hours a day, make a few phone calls, send lots of text messages and perhaps an hour or so of Web browsing and I generally have a least a half-charge left at the end of the day. Sure, I've had phones with better battery life but they didn't do nearly so much. It's a trade-off, for sure.

      --
      This ain't rocket surgery.
    46. Re:Launch Times? by bay43270 · · Score: 1

      You don't like .NET because of Winforms? Thats like not liking Java because AWT components suck. If you don't like Winforms, use something else, like WPF or GTK#. This is completely off topic anyway as CocoaTouch doesn't use Winforms. It uses Cocoa components.

    47. Re:Launch Times? by Anonymous Coward · · Score: 0

      I'm pretty sure it's actually all about the app store & the revenue that generates them (as soon as you allow a VM or anything like that it becomes a lot more difficult to prevent someone from releasing an app store competitor).

    48. Re:Launch Times? by diamondsw · · Score: 1

      Java and Flash hurt Apple because they open the door to even shittier apps and hellishly non-native interfaces. We've seen what Flash is on Mac OS X - frighteningly slow, CPU-intensive, and the source of 90% or so of Safari crashes (I have no data, but plenty of developers who deal with Safari do from the crash logs). Java is *still* slow, non-native, and would open the door to "easy cross-platform compatibility" - meaning lowest common-denominator shit. Can you imagine if we had "normal" cell phone programs on the iPhone instead of people taking the time to do native versions?

      --
      I don't know what kind of crack I was on, but I suspect it was decaf.
    49. Re:Launch Times? by Em+Ellel · · Score: 2, Interesting

      How much do you use it? I use my iPhone G3 as a music player roughly six hours a day, make a few phone calls, send lots of text messages and perhaps an hour or so of Web browsing and I generally have a least a half-charge left at the end of the day. Sure, I've had phones with better battery life but they didn't do nearly so much. It's a trade-off, for sure.

      I do use it a fair deal more than an average user and while I would agree that it is really pretty decent on battery when you listen to music, any time a screen is on you can just SEE the battery drain. I mostly use phone, email, calendar and SMS and while most of those use screen (and thus drain battery) I think also at fault is the very poor radio inside my G3. I pretty much do not get any reception inside most buildings (which is sad, cause I spend most of my time in downtown SF - if you can't get reception there....) - I did find that if I spend most of my day outside with strong reception - the battery life is significantly better (But then again, I am using the phone significantly less when I am outside)

      --
      RelevantElephants: A Somatic WebComic...
    50. Re:Launch Times? by digitalunity · · Score: 1

      On 99% of devices using .NET, Winforms is the only reasonable option.

      I'd rather walk on a mixture of razor blades, hot coals and nails than use WPF. Maybe my aversion to WPF is illogical, but the whole concept seems to be a mediocre solution in search of a problem.

      --
      You can't legislate goodness. Let each to his own destiny, by will of his freely made choices.
    51. Re:Launch Times? by EastCoastSurfer · · Score: 4, Informative

      I don't know, how does Google Voice hurt Apple?

      It hurts ATT and thus hurts Apple. The reason for the Google Voice rejection became clear when ATT announced their 'a-list' program to start on the 20th of this month. As long as you have a plan costing $59+ (most iphone plans) you can put 5 numbers on your a-list that will not count against your minutes. Add the Google Voice number to your a-list and boom, unlimited talk time.

    52. Re:Launch Times? by Vahokif · · Score: 1

      But it isn't a version behind, especially not the important parts. It even has stuff Microsoft .NET doesn't, like SIMD support.

    53. Re:Launch Times? by Vahokif · · Score: 1

      Mono got a development license from them legally.

    54. Re:Launch Times? by rennerik · · Score: 1

      Yes. Use our free Development Tools on our Platform instead of Microsoft's $300 tools. Truly it is a secretive agenda

      There, fixed that for you.

      No, you broke it.

      Visual Studio Express is free, and has everything you need that comes with Visual Studio, save for VSS support, some refactoring support, and a couple of other features that, to most freelance amateur developers, would not be missed. Most professional developers can afford the $300 price tag. Students can also get the professional edition for a fraction of the cost.

    55. Re:Launch Times? by 0ld_d0g · · Score: 0

      What hes saying is, if you write Java apps now, you don't need windows, but it automatically works on all platforms. Yet, I don't see too many desktop apps written in Java.

    56. Re:Launch Times? by 0ld_d0g · · Score: 0

      So in short you just spewed some random vague crap like "funky behavior" "needs extra work" and "Generally a pain" which one could say about any part of any API on any platform.

      Here.. list any technology on the Linux platform and I can find more than 50 things that are horribly wrong and fucked up with it without resorting to vague language like you. Actually its so easy a child could do it using Google :p

    57. Re:Launch Times? by UnknownSoldier · · Score: 2, Informative

      > Visual Studio Express has everything you need that comes with Visual Studio

      No it doesn't. No resource editor for one.

    58. Re:Launch Times? by Tensor · · Score: 1

      So reading the actual MonoTouch page was too much trouble ?

      To begin using MonoTouch, you will need to have:

              * Apple's iPhone SDK 3.0 or higher, available from Apple's iPhone Dev Center (http://developer.apple.com/iphone/).
              * An Intel Mac computer running MacOS 10.5 or 10.6 (Leopard or Snow Leopard).

      So ... where are the VS.NET and Windows licenses to be sold by the truckload ? Not to mention where would you get the win32 libraries that are dirt simple to bind...

      All MonoTouch does is
      1) allow apps to be coded in C#
      2) use .Net STYLE binding of the native iphone apis.

      This is extremely useful to those that want to make apps for the iphone and are experienced in C#

    59. Re:Launch Times? by gbjbaanb · · Score: 1

      its a XML solution to .. whatever you want. XML is the ultimate, holy grail of all solutions in the .NET world so its not surprising that the fancy 'chuck out the old' GUI is implemented in a super complex XML structure that pretty much requires MS Expression Studio to work.

    60. Re:Launch Times? by gbjbaanb · · Score: 2, Informative

      Of course, Visual Studio Express doesn't come with any mobile development tools, which might be useful to someone wanting to write for mobile devices (not that this applies to the iPhone).

    61. Re:Launch Times? by tiedemann · · Score: 1

      I'm working in the .NET world and haven't had to do XML in quite a while.
      I haven't used Winforms or WPF either.

      What I am using is anomymous types, lambda expressions and other sweet stuff that makes coding a fun thing to do for a living.

    62. Re:Launch Times? by CisJokey · · Score: 1

      Omg, full ACK. This is something that generally annois me when developing with the criple studio 2008 under windows. All those "integrated" and "out of the box" tools are developed for some kind of MS northwind-sample "Adress Management". If you have a little more advanced needs, you just get slapped as in Hitchhikers Guide. Right to left support in Silverlight 3? --> Slap Drag and Drop support in Silverlight 3? --> Slap Using Grids with more than 500Elements in Silverlight 3 --> Slap

    63. Re:Launch Times? by Rockoon · · Score: 1

      As if there arent enough free ones available...

      --
      "His name was James Damore."
    64. Re:Launch Times? by Rockoon · · Score: 1

      This agenda isnt a secret.

      Over 20 years ago they were the same way.. spawning demo groups such as the Free Tools Association. Apple developers have been bitching at Apple for over 2 decades now about their horse-shit over-protectiveness of their development tools.

      This
      Is
      Not
      New

      --
      "His name was James Damore."
    65. Re:Launch Times? by Anonymous Coward · · Score: 0

      Every second counts? Why, if your iPoop game takes 5 instead of 3 seconds to load what happens? Does the world end?

    66. Re:Launch Times? by Anonymous Coward · · Score: 0

      How long will it take Apple to disable the runtime application is the key question.

    67. Re:Launch Times? by segedunum · · Score: 1

      This isn't a surprise. The most reliable way of doing this is to use Wine. install the proper .Net framework and you'll have something that works better.

    68. Re:Launch Times? by segedunum · · Score: 1

      Unlike Java, .NET makes native bindings dirt simple. If you were using a DLL in C++, you can use the same DLL in C# relatively easily.

      The biggest problem with that is error trapping and such like. If your native library throws an internal error or something unexpected then the .Net or Mono application is left out in the cold. It isn't easy at all. That's why Microsoft has put such effort into wrapping COM and Win32 effectively so that errors that get thrown there throw decent exceptions in .Net - most of the time. The notion that you can easily wrap a piece of native code with Mono is totally bogus and potentially insecure, but that's less of a problem versus getting it working reliably.

    69. Re:Launch Times? by yk4ever · · Score: 1

      Ah, I see.
      The project I have worked on used neither WinForms nor unmanaged code, so C# made a very good impression on me.

    70. Re:Launch Times? by MrCrassic · · Score: 1

      You mean the same thing that T-Mobile already introduced with MyFaves well over a year ago...at cheaper rates, even with data?

      Talk about being late.

    71. Re:Launch Times? by 0110011001110101 · · Score: 1

      amen to that... I've been in the same world, xml hasn't crossed my mind in years. And don't forget things that aren't quite as new but still make coding fun, like generics, delegates, extension methods, nullable types, linq (in some of its forms)... the list goes on and on.

      --
      Don't anthropomorphize computers: they hate that.
    72. Re:Launch Times? by Malc · · Score: 1

      Qt does not make a good UI on Windows, and is certainly worse than WinForms. I'm driven to distraction by Qt's quirkiness everyday. Maybe it's ok on more heterogeneous platforms, but it's irritating on Windows. I've yet to see a cross-platform toolkit that really works as well for the user as native apps. Who gives a shit how easy they make it for the the programmer, unless you don't care about the end-user or they're the kind of people who use Linux everyday?

    73. Re:Launch Times? by hesaigo999ca · · Score: 1

      >so it doesn't matter if you represent a pointer as an int, the function that you're calling will SIGSEGV on a null value anyway, and may quietly corrupt memory if you give it a wrong non-null value.

      Any programmer worth his salt would have validated for nulls before calling sigsegv...no?

    74. Re:Launch Times? by RingDev · · Score: 1

      #1 means that even if people want to target Mono, they might develop in VS.NET anyway, which is a bunch of VS.NET and Windows sales for Microsoft.

      MS has the "express" versions of Visual Studio available for free (as in beer). They aren't all-in-one products like Visual Studio Enterprise, but they do contain all of the functionality you would need to develop and release production quality code.

      Sharp Dev has also come a long way and is not a bad tool, especially if your primary development platform is Linux.

      #2 means that anyone who doesn't deliberately target Mono is probably going to call a bunch of native win32 code, just because it's so trivially easy to do so.

      In the case of the iPhone, they are likely using the compact framework, which greatly limits access to native functionality in both Mono and .Net.

      Honestly, there is a lot of crazy FUD going on in this thread. I know it's /. and we're all suppose to HATE all things MS has ever touched. But really .Net is one of MS's shining stars, and Mono is a great OPEN SOURCE implementation of it that could use more developers to get it caught up with the current version of .Net.

      -Rick

      --
      "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
    75. Re:Launch Times? by poetmatt · · Score: 1

      it has nothing to do with contributing or not. Nobody can say they aren't contributing. However, slowing things down (in terms of development releases) to break compatibility, they are indeed doing. I don't really get your point.

    76. Re:Launch Times? by hesaigo999ca · · Score: 1

      You may be right, as I heard there was a commodore64 emulator for the iPhone, which Apple asked that certain things like basic compiler be disabled, using some flags,which can be easily bypassed...to be able to write is basic again....ah the memories come flooding back!

    77. Re:Launch Times? by hesaigo999ca · · Score: 1

      agreed..they are control freaks, worst then M$

    78. Re:Launch Times? by EastCoastSurfer · · Score: 1

      I never said it was new, just that the motivations of blocking the google voice app from the app store were finally clear. Before it didn't make sense because you still paid for talk minutes even when using google voice, now, not so much.

    79. Re:Launch Times? by outZider · · Score: 1

      Except now the tools are free, as opposed to 25 years ago. At the core, it's just GCC (well, now clang and llvm).

      --
      - oZ
      // i am here.
    80. Re:Launch Times? by Anonymous Coward · · Score: 0

      Java has never come pre-installed and ready to go on Windows computers.

      As such it does not "automatically works on all platforms". It automatically works on Solaris and Mac.
      Not windows. You need to go download the JRE. Oh and not that one. I know what you are thinking but you want the Sun JRE not the MS JRE.

    81. Re:Launch Times? by Anonymous Coward · · Score: 0

      No they wont. This doesn't execute arbitrary code (like a JVM or a flash run time would) and break the sandbox/approval process, but stays as it's own standalone application. Apple is totally fine with people developing with C#, javascript, scheme or whatever. If not, something like unity for iphone, which exclusively uses C# & javascript to develop games wouldn't exsist with over 250 apps published.

    82. Re:Launch Times? by Anonymous Coward · · Score: 0

      I'm with you all the way, my fellow tinfoil-hat-wearing brother.

    83. Re:Launch Times? by SanityInAnarchy · · Score: 2, Informative

      they open the door to even shittier apps and hellishly non-native interfaces.

      So does any turing-complete language with a decent graphics API. In other words, so does Objective C.

      I don't see why another language is a problem as long as Apple requires native UIs using Cocoa, and actively polices the app store.

      Java is *still* slow,

      Citation needed.

      lowest common-denominator shit.

      Which iFart isn't?

      Can you imagine if we had "normal" cell phone programs on the iPhone instead of people taking the time to do native versions?

      We'd actually have portable apps! What a novel idea! Someone would be able to develop an iPhone app, and then after Apple rejects it for some bullshit reason, they can actually go deploy it on Blackberry, Symbian, Palm, or Android!

      --
      Don't thank God, thank a doctor!
    84. Re:Launch Times? by godefroi · · Score: 1

      And when I download the JRE (Sun's) I get to install the Yahoo! toolbar! Thanks, Sun! Oh, and I get to watch ads for Sun's other software! It's such a fantastic experience.

      Seriously, Sun should be ashamed.

      --
      Karma: Poor (Mostly affected by lame karma-joke sigs)
    85. Re:Launch Times? by palegray.net · · Score: 1

      You're right; upon further consideration, I consider the number of apps available in the App Store pretty impressive considering their attitude regarding platform control (impressive in the "wow, I can't believe so many people actually jumped through all those hoops" sense).

    86. Re:Launch Times? by timbck2 · · Score: 1

      Some tips: turn off 3G if you aren't using it (if your iPhone supports 3G), turn off Bluetooth if you aren't using it, turn your screen brightness down, use the button at the top to turn the screen off when you aren't using it, etc.

      Or perhaps you just have a bum battery (or your battery is almost worn out). There are battery replacement services that can install a higher capacity battery than the original one, if you want to go that route.

      iphonebatteryrepair.com

      ipodjuice.com

      welovemacs.com

      --
      Absurdity: A statement or belief manifestly inconsistent with one's own opinion. -- Ambrose Bierce
    87. Re:Launch Times? by shutdown+-p+now · · Score: 1

      Any programmer worth his salt would have validated for nulls before calling sigsegv...no?

      How many functions in the Standard C library that validate arguments for NULL do you know?

      What about POSIX functions?

    88. Re:Launch Times? by chrish · · Score: 2, Interesting

      Doesn't the EULA also forbid you from distributing executables made with Visual Studio Express editions?

      --
      - chrish
    89. Re:Launch Times? by Wildclaw · · Score: 1

      Doesn't the EULA also forbid you from distributing executables made with Visual Studio Express editions?

      No. There are no restrictions on what you can do with programs developed with the express editions.

    90. Re:Launch Times? by Abcd1234 · · Score: 1

      from a developer standpoint beats the pants off .NET from a ease of coding standpoint.

      I'm detecting more than a wiff of unsubstantiated dogma, here...

    91. Re:Launch Times? by digitalunity · · Score: 1

      Not really unsubstantiated dogma considering I have direct experience with both Qt and .NET/Winforms on windows.

      What I say is only substantiation to the extent that you trust anonymous software developers on the internet. If you don't trust direct users of the software, the only way to substantiate what I say is for you to get off your ass and start coding in them both to see what I'm talking about.

      If you're not a software developer at all, then just don't comment on the topic since you don't know what you're talking about.

      --
      You can't legislate goodness. Let each to his own destiny, by will of his freely made choices.
    92. Re:Launch Times? by digitalunity · · Score: 1

      I develop with Qt on Windows, so you can toss your Linux anti-user suppositions out the window.

      Ease of coding is important for the developer because it allows them to use more logically use the API with less platform specific code. The experience for the end user is a more consistent interface across platforms, which is important when your product might be used by a single user on multiple platforms.

      I'd be interested to hear of any specifics you have to offer about Qt 'quirkiness' on Windows.

      --
      You can't legislate goodness. Let each to his own destiny, by will of his freely made choices.
    93. Re:Launch Times? by Lehk228 · · Score: 1

      I can get a prepaid unlimited talk and text plan from walmart for $45/month.

      --
      Snowden and Manning are heroes.
    94. Re:Launch Times? by Kalriath · · Score: 1

      And now it'll try to pawn you a crappy, expensive, database engine.

      --
      For a site about things like basic rights, Slashdot users sure do like to censor "dissent".
    95. Re:Launch Times? by Kalriath · · Score: 1

      If the app appears not to respond to the user for x amount of time (no-one actually knows what x is) then the OS terminates it.

      --
      For a site about things like basic rights, Slashdot users sure do like to censor "dissent".
    96. Re:Launch Times? by Abcd1234 · · Score: 1

      Not really unsubstantiated dogma considering I have direct experience with both Qt and .NET/Winforms on windows.

      I'm sure you do. But the idea that Qt is somehow "pants off .NET from a ease of coding standpoint", despite being based on a relatively low-level language that lacks even a GC, suggests to me that either a) you don't actually have that much experience with .NET/winforms, or b) your ideology vis a vis languages (eg, perhaps you're a C++ bigot or biased against high-level garbage-collected languages) or vendor (eg, perhaps your an anti-Microsoft zealot) causes you to come to a conclusion that isn't actually backed by evidence.

      Now, I could be wrong. Perhaps you could enlighten us all on how Qt is somehow "beats the pants off" C#/.NET. Because, on it's face, the very idea is absurd... I mean, I suppose I could come to believe they're equivalent... but I'm extremely skeptical of your particular claims.

      BTW, in the interest of fairness, I should point out that I have a distinct distaste for C++, specifically, and lower-level languages in general, preferring to work in languages like Lisp, Smalltalk, Haskell, and so forth. As such, I'm immediately skeptical when anyone makes the claim that either C or C++ can compare to higher-level languages in terms of overall developer productivity, as my experience, and the experience of most researchers in the area, suggests precisely the opposite.

    97. Re:Launch Times? by digitalunity · · Score: 1

      Thanks for the more complete reply. I was a bit skeptical you were anything but a troll who knew nothing of software development.

      In truth, MS Visual Studio is light years beyond any other development environment on Windows, including Eclipse and Qt Creator. I'm not strictly anti-Microsoft, although I'm not a big fan of their abusive market practices. If I could effectively use Visual Studio to code Qt applications, I would be a happy camper.

      As to languages, I'm not against GC in practice. I think it's a great idea. I just don't think GC alone is a reason to choose an application framework, GUI toolkit or language.

      Yes, IMO Qt beats the pants off .NET/Winforms in developer productivity and ease of coding. The only exception being the contrived model/view architecture in Qt, specifically with using view item delegates to handle changes in model data. I'm not against subclassing QStyledItemDelegate - it's just very tiring to do it over and over and over and the number of classes needed to do this is asinine.

      It's not all roses for Winforms though. The fact that it remains to this day a fancy wrapper for GDI controls is it's Achilles heel. When you reimplement classes like RichTextBox or ListBox, you often have to resort to passing WIN32 messages to your controls to get information you need. It's quite ridiculous that the API doesn't encapsulate the functionality of the control entirely.

      Try creating a syntax highlighting rich text box in Qt. It's really a much easier proposition as document contents, syntax highlighting and text rendering are each handled in a separate, simpler class.

      I have to sleep now, but maybe I'll post more gripes later.

      --
      You can't legislate goodness. Let each to his own destiny, by will of his freely made choices.
    98. Re:Launch Times? by Abcd1234 · · Score: 1

      As to languages, I'm not against GC in practice. I think it's a great idea. I just don't think GC alone is a reason to choose an application framework, GUI toolkit or language.

      No, but the lack of a GC is a strong strike against any modern language, IMHO... memory management is *the* place where most major bugs crop up. After all, the minute the language requires you to do something like 'new' or 'malloc', you suddenly have to deal with invalid pointers, bounds checking, and a whole raft of other issues that simply don't existing in a higher-level language where memory is managed for you.

      Additionally, C++ lacks proper anonymous methods/closures, which I find a major strike against any language when developing event-based applications. Not to mention nullable types and other syntactic sugar (getters and setters, for example).

      Yes, IMO Qt beats the pants off .NET/Winforms in developer productivity and ease of coding.

      Again, you haven't explained why. You've already admitted the C#/.NET tooling is far better. C#, as a language, offers everything C++ does and a few things it doesn't (again, like proper anonymous closure support). So the only thing I can figure is it comes down to the actual toolkit model, which brings us to...

      The fact that it remains to this day a fancy wrapper for GDI controls is it's Achilles heel. When you reimplement classes like RichTextBox or ListBox, you often have to resort to passing WIN32 messages to your controls to get information you need. It's quite ridiculous that the API doesn't encapsulate the functionality of the control entirely.

      That may be true, but ask yourself: how often do you actually find yourself subclassing controls (or anything else, for that matter), rather than just composing them together? If the answer is "often", I would contend you're doing something wrong. And from an external API standpoint, the Windows controls are fairly clean and straightforward to use, a fact made even easier by the superior tooling MS provides.

      Incidentally, I also should point out that, traditionally, I haven't been either a Windows programmer or an IDE user (even today, for personal projects, I tend to fall back on good ol' Vim + bash on my Ubuntu-powered Thinkpad)... but VS and C# really are an incredibly powerful pair. Heck, intellisense alone put VS lightyears ahead of most IDEs on the market today (including Vim, unfortunately... omnicomplete doesn't even come close).

    99. Re:Launch Times? by Malc · · Score: 1

      I use Perforce every day. Every day it irritates me.

      I used it once on Mac OS X. It annoyed me there. It clearly wasn't a Mac app. Most of the time I use it on Windows. I couldn't care less whether it's identical on all platforms or not. I care that it feels and behaves like a native to the platform, especially as I rarely work on the other platforms.

      Perforce has a discontinued native Windows client. Some of my colleagues still use that because they can't stand the newer cross-platform version. Maybe it's because it's not a native app. Maybe it's because it has a UI designed by somebody who knows nothing about UIs.

    100. Re:Launch Times? by binarylarry · · Score: 1

      It's going to be hard to tell the difference. I highly doubt they pay advanced developers to decompile/blueprint submitted apps, in an attempt to determine what compiler was used to create the executable.

      --
      Mod me down, my New Earth Global Warmingist friends!
    101. Re:Launch Times? by thetoadwarrior · · Score: 1

      Yes, if you're too stupid to opt out of it. Sun in no way hides the fact it would like to install Yahoo toolbar nor does it make it hard to opt out.

    102. Re:Launch Times? by godefroi · · Score: 1

      Explain to me why I need to opt out of Yahoo's crapware when I install Sun's JRE?

      Microsoft OWNS the crapware, they have plenty of that stuff, and they never tried to install any of it when I installed the .NET framework.

      See the difference?

      --
      Karma: Poor (Mostly affected by lame karma-joke sigs)
    103. Re:Launch Times? by thetoadwarrior · · Score: 1

      But MS did install a firefox plugin without asking and with no easy way to remove it until enough people bitched. That is worse than having to untick a box.

      I would rather have no toolbar in there but I know why they did it. It's easy money and unfortunately stupid people seem to like toolbars and Sun isn't exactly rolling in the cash yet they still gave an option unlike MS.

    104. Re:Launch Times? by godefroi · · Score: 1

      The only addon that's ever been installed in my Firefox is the .NET Framework Configuration Assistant. That's a damn far cry from a search toolbar. One is made to help you. The other is made to get money for Sun. One is a tool. The other is an ad.

      Your comparison fails.

      --
      Karma: Poor (Mostly affected by lame karma-joke sigs)
    105. Re:Launch Times? by thetoadwarrior · · Score: 1

      Except for the fact that I, like many others, didn't want that add-on. Which would be fine other than the fact you didn't have full control over your own computer and remove it.

      Many people find toolbars useful otherwise they wouldn't seek out toolbars on their own or opt to install them along side java.

  2. Why CLR (.NET mono) and not JVM (Java)? by Old97 · · Score: 1

    Anyone know why Apple would allow one and not the other? Does Mono not multitask or something?

    --
    Very often, people confuse simple with simplistic. The nuance is lost on most. - Clement Mok
    1. Re:Why CLR (.NET mono) and not JVM (Java)? by pavon · · Score: 4, Insightful

      MonoTouch compiles the code into a native executable, rather than shipping with a VM. Apple has no reason to disallow that.

    2. Re:Why CLR (.NET mono) and not JVM (Java)? by Anonymous Coward · · Score: 0

      So does GCC -- hell, you can even get native-compiled Eclipse if you really want it.

    3. Re:Why CLR (.NET mono) and not JVM (Java)? by kalirion · · Score: 4, Insightful

      Since when has it needed a reason?

    4. Re:Why CLR (.NET mono) and not JVM (Java)? by asdf7890 · · Score: 3, Informative

      Anyone know why Apple would allow one and not the other? Does Mono not multitask or something?

      No one has said that they would. The article itself states:

      Mono is associated with the LGPL (GNU Lesser General Public) license used for distributing free and open source software, Novell with MonoKit is distributing Mono under commercial terms. The LGPL requires that users can replace an LGPL library with their own version of a library, a conflict with App Store requirements, according to Novell.

    5. Re:Why CLR (.NET mono) and not JVM (Java)? by Anonymous Coward · · Score: 0

      It even simplifies MultiTouch down to a single finger; in keeping with Apple design philosophies.

    6. Re:Why CLR (.NET mono) and not JVM (Java)? by SanityInAnarchy · · Score: 3, Informative

      As the AC says, so does gcj.

      But the problem is, Apple has explicitly disallowed "frameworks" -- and this definitely sounds like a framework.

      Which is another way of saying, Apple is strongly discouraging if not outright banning one of the best ways to re-use code. Can anyone tell me why Apple is against code re-use on the iPhone?

      --
      Don't thank God, thank a doctor!
    7. Re:Why CLR (.NET mono) and not JVM (Java)? by Bill,+Shooter+of+Bul · · Score: 2, Informative

      So, Apple would also allow applications that were compiled with a gcj like compiler as well. I think that's the point the GP was making.

      code running on a virtual machine => not allowed
      Code not running in a virtual machine => allowed

      --
      Well.. maybe. Or Maybe not. But Definitely not sort of.
    8. Re:Why CLR (.NET mono) and not JVM (Java)? by Xtravar · · Score: 2, Insightful

      Because they don't just want crappy ports of crappy applications. They want stylish applications designed specifically with the iPhone in mind. And guess what? It's working!

      --
      Buckle your ROFL belt, we're in for some LOLs.
    9. Re:Why CLR (.NET mono) and not JVM (Java)? by PixelSlut · · Score: 1

      Can you give a link to support this? I have never heard before that they ban frameworks.

    10. Re:Why CLR (.NET mono) and not JVM (Java)? by loufoque · · Score: 1

      Mono and CLR are different implementations of the CLI.
      Mono is *not* CLR.

    11. Re:Why CLR (.NET mono) and not JVM (Java)? by icepick72 · · Score: 2, Informative

      I'm unsure the mechanism used by Mono but when programming .NET on Windows there is a utility -- named ILMerge -- which allows multiple assemblies including Framework assemblies (dlls) to be compiled into one executable file; allowing a .NET app to without the need for a Framework's file to be spread about, kind of erasing the fact a Framework exists.
      (I.E. http://research.microsoft.com/en-us/people/mbarnett/ilmerge.aspx )

      Also on the Windows side the Common Language Runtime (CLR) of the .NET Framework is always needed to interpret the Microsoft Intermediate Language Code (MSIL) "byte code" which is the result of explicit compilation of any .NET application's source code files (C#, VB.NET, COBOL.NET, IronPython, etc). This is a sort of on-the-fly compilation or translation to machine code that occurs as needed.

      Even when a native executable for the Windows machine is generated by the ngen.exe utility, in order to bypass MSIL translation at runtime,
      (I.E. http://msdn.microsoft.com/en-us/library/6t9t5wcf(VS.71).aspx ) ...the CLR is still required to manage the native executable (memory management, garbage collection, security, type enforcement, etc).

      Much C# code is compiled in managed mode (requires management by the CLR) and I'm sure the C# implementation for the iPhone would express this simplified programming model too. However I'd be interested to know what Novell/Mono team does with the CLR in the iPhone given the fact Apple does not like frameworks, interpreters or compilers. Does Mono compile the CLR feature into iPhone app, or get rid of it in favour of C# on top of a different concept, or something else?

    12. Re:Why CLR (.NET mono) and not JVM (Java)? by tyrione · · Score: 1

      As the AC says, so does gcj.

      But the problem is, Apple has explicitly disallowed "frameworks" -- and this definitely sounds like a framework.

      Which is another way of saying, Apple is strongly discouraging if not outright banning one of the best ways to re-use code. Can anyone tell me why Apple is against code re-use on the iPhone?

      Yes Mono Frameworks are a POS compared to Cocoa Frameworks. See how substantial your arguement is and how I counter with an equally weighted view? In this case, it's true, but it's just as weak of me to proclaim it simply to defend one or the other. Bottom line, Cocoa Frameworks are unified down to the kernel. Mono would be a second-rate solution.

    13. Re:Why CLR (.NET mono) and not JVM (Java)? by ClosedSource · · Score: 1

      I don't think there's much of a desire on anyone's part to port legacy applications to the iPhone. The value comes from being able to use a language you already know which for most people isn't Objective-C.

    14. Re:Why CLR (.NET mono) and not JVM (Java)? by ceoyoyo · · Score: 1

      Actually, it's not even that. The TOS state that you can't run external code. If you want to write an app that includes an interpreter, VM or whatever that runs code included in the app then that's fine.

      The Commodore emulator that was approved on the app store the other day was such a program. It was pulled because it was found that it was trivial to get user access to the basic interpreter (thus running outside code). When they patch it up so that you can't do that, it'll probably get approved again.

    15. Re:Why CLR (.NET mono) and not JVM (Java)? by ceoyoyo · · Score: 1

      Me either. As far as I know there's no problem using a framework provided it's embedded in the .app bundle. The iPhone NSBundle class seems to provide the same framework support that the Mac NSBundle class does, except for the obvious filesystem restrictions.

    16. Re:Why CLR (.NET mono) and not JVM (Java)? by pavon · · Score: 1

      But the problem is, Apple has explicitly disallowed "frameworks" -- and this definitely sounds like a framework.

      No, they haven't. They disallow (and don't provide any mechanism for) the installation of shared libraries that more than one application uses and they disallow the inclusion of any type of interpreter, or VM that could allow people to run applications that haven't been blessed by Apple and sold through the iPhone App Store.

      I know that java can be compiled, and there is absolutely no reason that someone couldn't write a Java->Cocoa wrappers and submit a compiled version of a java app if they wanted. AFAIK, no one has tried*. What Apple refused to include was Sun's port of the Java VM, which breaks both the rules above.

      * I don't blame them. I wouldn't want to waste my time developing anything for the iPhone given their approval policies.

    17. Re:Why CLR (.NET mono) and not JVM (Java)? by ClosedSource · · Score: 4, Informative

      "MS fooled a generation of 20 and 30 somethings into buying its code books and learning how to code in their walled garden."

      Well, it was a much bigger garden than Apple's and the gardeners were well paid.

      "Once touched by MS you are not used to learning any new skills"

      Whatever you think of Windows, it could hardly be argued that developing for it didn't require learning "any new skills" (C, Win32,C++, MFC, COM, ATL, COM+, SQL Server, ASP, .NET framework, C#, ASP.NET, ADO.NET, DirectX, WCF, WPF, WWF, LINQ ...)

    18. Re:Why CLR (.NET mono) and not JVM (Java)? by SanityInAnarchy · · Score: 1

      Because they don't just want crappy ports of crappy applications.

      Seems to me that discouraging code reuse is a great way to get lots of crappy applications reinventing the wheel.

      --
      Don't thank God, thank a doctor!
    19. Re:Why CLR (.NET mono) and not JVM (Java)? by naasking · · Score: 2, Informative

      Re:ILMerge, the Mono linker does it too, and better. It can remove unused code for instance.

      Re: CLR on the iPhone, IIRC, it generates a native executable with all the needed code linked in, including GC, and any necessary runtime support (excluding JIT which is outlawed on the iPhone).

    20. Re:Why CLR (.NET mono) and not JVM (Java)? by SanityInAnarchy · · Score: 1

      I don't know that they do, but I do know that there was a specific framework -- can't remember the name, but one man's ebook was rejected when it was built in this framework, yet sometimes accepted when he hid the fact that he used the framework.

      It isn't so much that they banned the framework explicitly, as that the use of this framework led to an app not being approved, yet the exact same app, once it had been scrubbed of obvious references to that framework (seriously, changing variable names), was approved. This has happened repeatedly.

      --
      Don't thank God, thank a doctor!
    21. Re:Why CLR (.NET mono) and not JVM (Java)? by SanityInAnarchy · · Score: 1

      In other words, it discourages any kind of preprocessor. Nice.

      --
      Don't thank God, thank a doctor!
    22. Re:Why CLR (.NET mono) and not JVM (Java)? by SanityInAnarchy · · Score: 1

      Yes Mono Frameworks are a POS compared to Cocoa Frameworks. See how substantial your arguement is and how I counter with an equally weighted view? In this case, it's true,

      Actually, no, it's not. As the AC says, Mono Touch wraps Cocoa anyway. This is about Apple not allowing people to build frameworks, even if said frameworks cooperate with their precious Cocoa.

      It really looks like you're confusing an API with a language.

      Bottom line, Cocoa Frameworks are unified down to the kernel. Mono would be a second-rate solution.

      Actually, it looks like you don't know the difference between an API and a language. If you're the competition, maybe I should get into iPhone development, because damn.

      --
      Don't thank God, thank a doctor!
    23. Re:Why CLR (.NET mono) and not JVM (Java)? by SanityInAnarchy · · Score: 1

      VM that could allow people to run applications that haven't been blessed by Apple and sold through the iPhone App Store.

      Except their own, of course. JavaScript has eval(), which does work on the iPhone, AFAIK. It's up to Apple to reject apps that use it to download code from the Internet.

      So really, this is a complete bullshit argument.

      I wouldn't want to waste my time developing anything for the iPhone given their approval policies.

      Agreed.

      --
      Don't thank God, thank a doctor!
    24. Re:Why CLR (.NET mono) and not JVM (Java)? by RalphSleigh · · Score: 1

      No No No

      Javascript has eval yes, but the only way you can run javascript on your iphone is inside the web browser, . Native apps on the other hand that run on the hardware itself are not allowed to eval, so your app in the appstore can't just be a wrapper that downloads new code each time it is run and evals it. Same is true of any other mechanism for running non-approved code in your apps. You can't have a java VM/.NET.mono runtime, but if you compile your app+mono down to one executable, so the framework bit you can only run your app, that might be ok.

      --
      Come as you are, do what you must, be who you will.
    25. Re:Why CLR (.NET mono) and not JVM (Java)? by SanityInAnarchy · · Score: 1

      Javascript has eval yes, but the only way you can run javascript on your iphone is inside the web browser

      Not true. Last I checked, you're allowed to use webkit (Javascript and all) as part of your app, and have it talk to native code, so long as none of the scripts are coming from the Internet.

      Native apps on the other hand that run on the hardware itself are not allowed to eval

      It's possible Apple is that stupid. But no, see above -- they just aren't allowed to eval things that have been downloaded/input.

      You can't have a java VM/.NET.mono runtime

      See, this makes no sense -- they already review apps like I described (webkit widgets) to ensure they don't eval anything from the Internet. Why not do the same to Java/Mono/etc?

      if you compile your app+mono down to one executable, so the framework bit you can only run your app, that might be ok.

      Except it isn't, always -- from the same article (which was on Slashdot)...

      Ok, I finally went and found that article:

      I chose to build my application on... PhoneGap.... You write your application in HTML and JavaScript.... While Apple doesn't explicitly forbid the use of PhoneGap, it's clear they reject many -- but not all -- projects that use it.... PhoneGap is an "external framework" and those are forbidden.... The men and women behind the curtain only look at the linking tables to see the names of the objects. So someone wrote a Python script that would replace the word "PhoneGap" with your own made-up package name. Voilà -- it often works.

      So no, it seems doubtful that if you wrote an "external framework" that compiled Mono down to binary, that your app would be approved, at least unless you hide the fact that you used such a framework.

      Isn't the iPhone is starting to sound like the most anti-developer environment ever?

      --
      Don't thank God, thank a doctor!
    26. Re:Why CLR (.NET mono) and not JVM (Java)? by Goaway · · Score: 1

      That's linking to internal system frameworks that are not meant to be used, and may change in ways that break apps that use them on any system upgrade. It should be obvious why Apple doesn't want that.

    27. Re:Why CLR (.NET mono) and not JVM (Java)? by PixelSlut · · Score: 1

      What does that have to do with any of this? MonoTouch is using AOT compiling, it's not using the Mono VM at all. There is no external code. It builds the Mono libraries you're using into native code and includes them in the executable, sort of like static linking. As such you lose a lot of the dynamic features of C#/.NET (.e.g, no reflection). The Commodore emulator had a built-in BASIC interpreter. There was a way to feed it external code and have it run that code. There is nothing like that in MonoTouch.

    28. Re:Why CLR (.NET mono) and not JVM (Java)? by ceoyoyo · · Score: 1

      Care to elaborate?

    29. Re:Why CLR (.NET mono) and not JVM (Java)? by ceoyoyo · · Score: 1

      Well, the GP said:

      "code running on a virtual machine => not allowed
      Code not running in a virtual machine => allowed"

      And I said:

      "Actually, it's not even that. The TOS state that you can't run external code. If you want to write an app that includes an interpreter, VM or whatever that runs code included in the app then that's fine."

      See the connection?

      I understand mono is compiling everything and not using a VM. However, using a VM is not against Apple's TOS so you COULD use, a VM or interpreter if you cared to port it. As you point out, this could gain you some of the dynamic features.

      Do you even read the posts you reply to (never mind the posts they're replying to)? Your second last sentence actually restates almost word for word my second last sentence.

    30. Re:Why CLR (.NET mono) and not JVM (Java)? by SavvyPlayer · · Score: 1

      ILMerge doesn't manage complexity -- it merely hides it. What's really needed is a process capable of merging only the IL needed for a given app, à la OSGi.

    31. Re:Why CLR (.NET mono) and not JVM (Java)? by icepick72 · · Score: 1

      Thanks.

    32. Re:Why CLR (.NET mono) and not JVM (Java)? by SanityInAnarchy · · Score: 1

      It should be obvious why Apple doesn't want that.

      It's obvious why they don't want people using that API -- but not obvious why they don't just expose the API.

      It's especially not obvious why apps created with PhoneGap were rejected, yet the exact same app, when you meticulously s/PhoneGap/Blargh/, were approved.

      --
      Don't thank God, thank a doctor!
    33. Re:Why CLR (.NET mono) and not JVM (Java)? by modmans2ndcoming · · Score: 1

      Mono not multi-task? WTF... multitasking is an OS feature not a framework feature you doof.

    34. Re:Why CLR (.NET mono) and not JVM (Java)? by SanityInAnarchy · · Score: 1

      Well, you're saying, no problem with a framework as long as it's embedded in the bundle. What if I want one that preprocesses something?

      PhoneGap was an example of this -- it generated code to use UIWebView. Apple claimed the issue was UIWebView, and rejected many PhoneGap apps -- yet if you took the same app, replaced the text "PhoneGap" with anything else throughout, and resumbitted it, you might get approved.

      I'm not entirely sure what the current policy is, but that's evidence that points to them disliking frameworks in general.

      I do kind of hope you're right, though.

      --
      Don't thank God, thank a doctor!
    35. Re:Why CLR (.NET mono) and not JVM (Java)? by Old97 · · Score: 1

      Doof? CLR and JVM are not frameworks. They are virtual machines that run on a host O/S.

      --
      Very often, people confuse simple with simplistic. The nuance is lost on most. - Clement Mok
    36. Re:Why CLR (.NET mono) and not JVM (Java)? by ceoyoyo · · Score: 1

      I still don't understand. The requirement is that if you want to use a framework it has to be either a) one of the ones provided by the system or b) included in your app bundle. Basically you can't a) install a framework to /Library/Frameworks (/usr/local) or b) download one from the Internet.

      I'm not sure what you mean by preprocessing, or how not being able to install shared frameworks would affect that.

    37. Re:Why CLR (.NET mono) and not JVM (Java)? by modmans2ndcoming · · Score: 1

      and the host OS does the fucking multitasking.

    38. Re:Why CLR (.NET mono) and not JVM (Java)? by dunkelfalke · · Score: 1

      Yeah. iFart is a work of a real genius, all applications on other platforms suck donkey balls compared to it.

      --
      "It's such a fine line between stupid and clever" -- David St. Hubbins, Spinal Tap
    39. Re:Why CLR (.NET mono) and not JVM (Java)? by Anonymous Coward · · Score: 0

      Damn right. It's much harder than when I code on Unix. And it pays a LOT better, especially if you know the low level workings, which almost no one seems to. (helps to have worked in Win16 hehe)

    40. Re:Why CLR (.NET mono) and not JVM (Java)? by grouchomarxist · · Score: 1

      They don't believe they ban frameworks, it is just that the tools don't let you build frameworks, just static libraries. I would also think that if you use a static library, you'd need to submit the sources of the library as when you submit your application for approval.

    41. Re:Why CLR (.NET mono) and not JVM (Java)? by Homburg · · Score: 1

      That's how all current JVMs work, as far as I know, but FWIW early versions of Java implemented multitasking in the virtual machine.

    42. Re:Why CLR (.NET mono) and not JVM (Java)? by Old97 · · Score: 1

      What you aren't getting is that iPhone O/S does multi-task. Apple just won't allow applications to use its multi-tasking. So, if you want to install a VM or an application that requires use of the O/S multi-tasking, they won't let you do so.

      And may I complement you on your people skills and your ability to impress others with your knowledge? I bet you have lot's of friends just like you.

      --
      Very often, people confuse simple with simplistic. The nuance is lost on most. - Clement Mok
    43. Re:Why CLR (.NET mono) and not JVM (Java)? by bonefry · · Score: 1

      Yes but crappy applications come along with increased popularity.

      The quality is high on the iTunes Store compared to the crappy Java apps we are used to, but that's only because the iPhone has been a luxury for people with money (and the hardware specs are also higher than your average Java-enabled phone). But now that it's growing in popularity you can already see how the average quality is going down fast.

      Your argument is also the same elitist bullshit "raise the bar to entry to raise the quality" -type I've heard countless times before. Well, guess what, the people in PHP/Basic/Delphi/Java communities (although I hate them all) have given birth to some of the best applications around (being more results-oriented, rather then being clever).

    44. Re:Why CLR (.NET mono) and not JVM (Java)? by CisJokey · · Score: 1

      Is this not a problem when it comes to size on disk and memory usage?

    45. Re:Why CLR (.NET mono) and not JVM (Java)? by yabos · · Score: 1

      Actually, this is what the agreement says since I just copied it right from the document:
      "No interpreted code may be downloaded or used in an Application except for code that is interpreted and run by Apple's Documented APIs and built-in interpreter(s)."

      It says you can use the built in interpreters such as the javascript interpreter in Safari. It does not say you can include any other interpreters in your program. Sometimes these programs get by the review process but it does not mean that they really allow it.

    46. Re:Why CLR (.NET mono) and not JVM (Java)? by yabos · · Score: 2, Insightful

      Programming Objective-C is not difficult. If you can program in any other language you can program in Objective-C. The hardest part about it is learning which frameworks and APIs are required to write your app.

    47. Re:Why CLR (.NET mono) and not JVM (Java)? by yabos · · Score: 1

      Their problem is not with frameworks. A framework is just a library of code. Their problem was with people using PhoneGap to create programs in HTML and javascript. They want you to use the native GUI libraries to keep the look fairly consistent. While this is good in some ways, it's not good in other ways, but I can understand both sides.

    48. Re:Why CLR (.NET mono) and not JVM (Java)? by yabos · · Score: 1

      The reason they don't expose a lot of the APIs is because they're not finished. The internal APIs change quite a bit and once an API is published, they are under a lot of obligation to support it. Once the APIs are flushed out and supportable, they are usually moved to public APIs. Of course they try and restrict linking to some APIs that are used to control the phone hardware because IMO an app should generally not have any reason to mess with the phone's modem or anything that low.

    49. Re:Why CLR (.NET mono) and not JVM (Java)? by xouumalperxe · · Score: 1

      They disallow you from installing a standalone framework in the iPhone -- but that doesn't stop you from developing your application using said framework, and then statically linking the whole shebang. What Novell is offering is the toolchain necessary to produce binaries with .NET built-in.

    50. Re:Why CLR (.NET mono) and not JVM (Java)? by SanityInAnarchy · · Score: 1

      If that was the problem, why were PhoneGap apps approved, so long as they removed the string "PhoneGap" from the app?

      --
      Don't thank God, thank a doctor!
    51. Re:Why CLR (.NET mono) and not JVM (Java)? by yabos · · Score: 1

      Because Apple doesn't dig that deep most of the time into what the app actually uses. If they are running strings on the binary and looking for PhoneGap then they obviously don't want people using it for whatever their reason is. They don't examine every bite of your app though because that would take way too much time.

    52. Re:Why CLR (.NET mono) and not JVM (Java)? by AntiRush · · Score: 1

      There are actually applications on the iphone app store right now that are written in java. With xmlvm a similar strategy to this one compiles java to native code (with an objective-c middle man in the xmlvm case). http://www.xmlvm.org/iphone/

    53. Re:Why CLR (.NET mono) and not JVM (Java)? by SanityInAnarchy · · Score: 1

      They don't examine every bite of your app though because that would take way too much time.

      "bite" -- heh heh.

      But seriously, they could've been a lot more accurate -- just ask for source code, grep through that for UIWebView. Or they could've mentioned UIWebView in the rejection, instead of talking about "external frameworks".

      --
      Don't thank God, thank a doctor!
    54. Re:Why CLR (.NET mono) and not JVM (Java)? by ceoyoyo · · Score: 1

      That statement is at best poorly worded. If they really mean that you can't use interpreted code in your application then the first part is redundant.

      From what I can tell, the general consensus is that the "or" in that statement is enforced more like an "and," which makes the whole sentence make much more sense.

    55. Re:Why CLR (.NET mono) and not JVM (Java)? by Kalriath · · Score: 1

      You NEVER need to submit the source of your application.

      --
      For a site about things like basic rights, Slashdot users sure do like to censor "dissent".
    56. Re:Why CLR (.NET mono) and not JVM (Java)? by modmans2ndcoming · · Score: 1

      fuck you dick.

  3. Mono by girlintraining · · Score: 0

    Isn't Mono the KISSing disease? ;)

    --
    #fuckbeta #iamslashdot #dicemustdie
    1. Re:Mono by jd2112 · · Score: 1

      Isn't Mono the KISSing disease?

      I think their groupies probably have worse diseases than mono...

      Sorry, Wrong KISS.

      --
      Any insufficiently advanced magic is indistinguishable from technology.
    2. Re:Mono by visualight · · Score: 2, Interesting

      I seem to recall that Mono is/was justified by Miguel de Icaza by virtue of .Nets inevitable popularity (Linux distros would _need_ it). When I read this article I can't help but think that the motivation here is to help make .Net more popular, and by extension, Mono more popular. I already abandoned Gnome, but I won't be surprised when I'm eventually trapped into installing Mono. .Net, C#, Java, I can't point to technical deficiencies and say "That's why I don't like them," but I have _never_ liked an app written in one of those languages. Buggy dependency ridden crapware has been my experience. I realize that an applications overall suckiness isn't necessarily a reflection of the language, but experience has set that expectation for me.

      I really hope this project goes nowhere, because the last thing I want is more .Net apps in the world, on any platform.

      --
      Samsung took back my unlocked bootloader because Google wants me to rent movies. They're both evil.
    3. Re:Mono by jcr · · Score: 4, Insightful

      I think you may be prejudiced by your previous experience.

      If his position is based on experience, then by definition it's not prejudice.

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
    4. Re:Mono by girlintraining · · Score: 0

      If his position is based on experience, then by definition it's not prejudice.

      That's only one definition of prejudice. Another is: "Irrational suspicion or hatred of a particular group, race, or religion". Prejudice has to come from somewhere, it doesn't spring from nothingness, therefore it must be based on prior experience. The test is not whether it's based on previous experience, but whether the opinion or belief formed from those experiences is a rational one. If I observe that every black person I've met is larger than me, then it's not prejudice to say "Black people are big!" It would be prejudice however to conclude that "black people are evil" because of this observation; Even if past experience has demonstrated a connection between a larger physical build and negative behavior. This is because the correlation is broken, and it's thus a logical fallacy. Prejudice is often created because the human mind is prone to seeing patterns and correlations where none exist.

      --
      #fuckbeta #iamslashdot #dicemustdie
    5. Re:Mono by jcr · · Score: 1

      That's only one definition of prejudice. Another is: "Irrational suspicion or hatred of a particular group, race, or religion

      Picking up on the context of the discussion at hand isn't your long suit, I take it?

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
    6. Re:Mono by Anonymous Coward · · Score: 0

      Like Mac and former NeXT users completely ignoring all of Apple's failings while tripping all over themselves to praise and thank them for their lock-in?

      How much do you get paid for posting? All that shilling over the years has got to amount to quite a bit.

      And if you're not paid, well, that's too sad to contemplate.

    7. Re:Mono by girlintraining · · Score: 0, Flamebait

      Picking up on the context of the discussion at hand isn't your long suit, I take it?

      I'm about as good at it as you are at being tactful and diplomatic.

      --
      #fuckbeta #iamslashdot #dicemustdie
    8. Re:Mono by Anonymous Coward · · Score: 0

      Hope you really are a girl, because you'd make a really stupid guy.

    9. Re:Mono by Anonymous Coward · · Score: 0

      If his position is based on experience, then by definition it's not prejudice.

      Aaah, but you left an important word here. Previous

      Prejudice means making a judgement about something before you experience it. You most certainly be prejudiced about an upcoming event, based on your experience of prior events.

      As an example, I am prejudiced against whining mac fanboys, based on my experiences with them being hopelessly stupid in the past. My prejudice may be misplaced however - it is possible for the mac fanboy to have something intelligent to say.

    10. Re:Mono by tkinnun0 · · Score: 1

      [citation needed]

    11. Re:Mono by gbjbaanb · · Score: 1

      I can give you one reason to hate them - bloat. There was a recent case where VMWare changed their small, lightweight GUI console to a web-based one written in Java that required installation using Tomcat.

      As people rightly pointed out, this thing took up 500Mb RAM, that's enough to run another VM guest. People were not happy. This is the reason I dislike those framework apps, there's too much required just to get the smallest little application running.

      This doesn't count the actual memory usage of apps written in the languages, its not so much a language failing as a design intention. You have a GC, you're told (and the frameworks use it a lot) to use memory as much as you like, throw it away when you're finished with it and the framework will tidy up after you. Obviously this has the effect of requiring much more memory in use at any time. It may be easier to program in, but its not easier on the end-user computer.

      There's a few more bits that relate to 'making things easier and safer' for the programmer, which end up costing CPU and RAM, which are equally good reasons to dislike the languages/frameworks.

      'Suckiness' is just a common subjective view, the above is more objective reason to hate the useless crap :)

    12. Re:Mono by 99BottlesOfBeerInMyF · · Score: 1

      I think you may be prejudiced by your previous experience.

      If his position is based on experience, then by definition it's not prejudice.

      You are completely wrong. Prejudice is prejudging a person or thing. If I experience watching a news program where an african american punches a cop, and then the next time I meet an african american I conclude that african american is likely dangerous and violent, I've pre judged them by taking a correlation (well one data point) and assigning a causation.

      An experience can lead to a person prejudging based upon illogical assumptions about said experience. Just because you've had an experience involving elm trees doesn't mean you can accurately predict everything that will happen around some other elm tree. That is prejudice based upon experience.

    13. Re:Mono by jcr · · Score: 0, Troll

      I'm about as good at it as you are at being tactful and diplomatic.

      I'm very good at being tactful and diplomatic. If you felt insulted by my remark, then I accomplished my purpose.

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
    14. Re:Mono by jcr · · Score: 1

      Mac and former NeXT users completely ignoring all of Apple's failings

      Excuse me? I've been very frank about Apple's failings. They kept Carbon going for way too long, for one.

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
  4. Violates the developer agreement by TejWC · · Score: 2, Insightful

    I am pretty sure that adding your own runtime violates the developer agreement. The article didn't say if this "app" ever got approved but I highly doubt it would (this would also raise concern about the lack of Java on the iPhone).

    Also, using C# is not THAT much better than the native objective-c. According to the article, it seems that "mono-touch" is really just C# bindings for cocoa-touch and I have had very bad experience using C# bindings for just about any kind of C code (allocated memory not getting garbage collected, bindings/function names being outdated, unmanged heap space limits, etc.). It sounds fun to play around with but I definitely wouldn't invest a large amount of time/money on it yet.

    1. Re:Violates the developer agreement by CodeBuster · · Score: 2, Insightful

      Also, using C# is not THAT much better than the native objective-c

      Excuse me? C# and .NET take the same approach as Java which is to provide the most powerful general purpose programming language + massive class library of common functionality possible (C# and .NET which allows any language to compile to the CLI assembly are arguably even more powerful than Java right now). C# and .NET are definitely MORE powerful than objective C in a general purpose sort of way (objective C might have more depth in specific targeted areas like GUI widgets, but the breadth of massive frameworks like C# and Java is truly vast). As for the memory management in C# and .net languages, you have to know a bit about garbage collection, finalization, and the IDisposable interface (which enables the "using" keyword syntax) when dealing with "unmanaged" resources (which require manual destruction, usually because they are outside the managed heap maintained by the .NET framework).

    2. Re:Violates the developer agreement by daBass · · Score: 2, Insightful

      Just because a platform has a greater number of frameworks doesn't mean it is more powerful. You could even turn it around and say that the number of 3rd party frameworks being developed indicates the language is missing some important stuff and everybody is trying to solve it in their own way, with lots of redundant, very similar frameworks.

      You are probably comparing your desktop/server experience wth those languages to a mobile platform. I program Java and .Net for server apps every day and iPhone by night. The two are a completely different world. In my dayjob I am using all the frameworks and libraries that make me more productive. For the iPhone I don't even go looking for them because everything I need is right there. (The only exception to that I could see is 2D/3D animtaion and games, for which there are several great frameworks for iPhone. But that is not something I Do.)

      Fifty thousand apps in just over a year on a niche mobile platform can't be argued with. The Objective-C/Cocoa Touch platform is inmensly powerful.

      Ask any mobile developer that has done Windows Mobile in .Net, Java ME or Android and see which platform they create their best looking, best function, most reliable apps on and which one is the fastest to develop for. Yes, that would be iPhone.

      Maybe Mono Touch will bring that kind of quality and productivity using C# to the iPhone platform, but I am sceptical.

      There is a reason why there is so much quality software for iPhone - and for the Mac platform for that matter - and that reason are the Apple SDKs and Objective-C.

    3. Re:Violates the developer agreement by ceoyoyo · · Score: 1

      The Objective C/C libraries apple provides are pretty extensive too. I'm not really familiar with .NET though. Does it provide a good hardware accelerated/optimized FFT for example? Distributed object system? GPU accelerated image and video processing?

    4. Re:Violates the developer agreement by Santana · · Score: 2, Interesting

      C# and .NET are definitely MORE powerful than objective C in a general purpose sort of way (objective C might have more depth in specific targeted areas like GUI widgets, but the breadth of massive frameworks like C# and Java is truly vast)

      Having more libraries doesn't make a language more powerful; in any case, it would make it more productive.

      The hard link you have in your mind between Objective-C (or the libraries available to it, since you seem to interpret it as the same thing) and GUI widgets is just supported by your ignorance.

      Besides, I don't get what's the big deal about learning Objective-C. It's a real C superset and heavily inspired by Smalltalk. Ruby programmers would feel at home. Who wouldn't like to think of Smalltalk or Ruby while writing real world solutions at close-to-the-metal speed.

      --
      The best way to predict the future is to invent it
    5. Re:Violates the developer agreement by CodeBuster · · Score: 1

      I will grant you that the iPhone certainly has attracted a lot of attention from consumers and developers (unusual for an Apple platform), but one must be careful not to confuse popularity with ease of development. The iPhone may be easy to develop for (don't know personally), but that doesn't prove that popular == easy to develop for. The PlayStation platform, for example, has historically been both popular AND difficult to develop for. In fact, Sony went so far as to tout "difficulty of development" as a feature because it created barriers to entry for hobbyists and other less "qualified" (in Sony's opinion) developers. This both prevented lower quality titles for PlayStation (mostly) AND limited the total number of titles. Some people thought that was a good thing, but others had the opposite opinion. Apple has historically been more like Sony in this regard, limiting who can write for their platform AND what they can publish. Also, something to remember about mobile platforms in general and iPhone in particular: they generally have a more limited and defined feature set because everyone has essentially the same hardware device (or with only minor variations).

      Contrast this with generic platforms, such as the PC, which make no such guarantees making them both more flexible and powerful; albeit somewhat more difficult to develop for in that a third party has not already made most of your choices for you. Some people like that and others don't. Finally, the Mac platform is way behind the Windows and probably Linux platforms in number and variety of applications (many of them are crap yes, but Apple could learn a thing or two from Microsoft about treating developers right). The Apple enthusiast rejoinder to that is usually something along the lines of, "Yes, but Mac apps are always high quality so we don't mind having fewer". How many people do you know who are interested in general purpose computing and choose to run MacOS? They usually choose a PC which they have built for themselves and run Linux or (gasp) Windows (especially if they are at all into PC gaming).

    6. Re:Violates the developer agreement by daBass · · Score: 2, Interesting

      but one must be careful not to confuse popularity with ease of development. The iPhone may be easy to develop for (don't know personally), but that doesn't prove that popular == easy to develop for.

      Absolutely, but in this case, from my experience it is true. I find it very easy and there are numerous stories of people new to programming making some very good and popular apps.

      Apple has historically been more like Sony in this regard, limiting who can write for their platform AND what they can publish.

      This is only try for the iPhone. ("historically" thus only going back 14 months!) There is not a single limation on the Mac platform; you can write anything you like and publish it any way you like. All without paying Apple anything, of course.

      Also, something to remember about mobile platforms in general and iPhone in particular: they generally have a more limited and defined feature set because everyone has essentially the same hardware device (or with only minor variations).

      You should try mobile development! :) To support the majority of Java ME phones that are technically capable of running your app you should really make hundreds of builds! Windows Mobile isn't much better, with wildly varying hardware inside.

      Apple could learn a thing or two from Microsoft about treating developers right

      This is a gripe you have with iPhone, not the Mac platform. MS charges hundreds for Visual Studio where XCode is free, for example. They do have a paid developer program which gives early access as well as good discounts on hardware. But you don't need to pay them anything to develop or get their approval for anything on the Mac.

      How many people do you know who are interested in general purpose computing and choose to run MacOS?

      An ever growing number around me, actually! People buy computers very much on price and "what I already know". Luckily more and more people are realising there is something better than Windows and switching is easy.

    7. Re:Violates the developer agreement by jcr · · Score: 1

      Ruby programmers would feel at home.

      On an historical note, Ruby started out on NeXTSTEP.

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
    8. Re:Violates the developer agreement by Santana · · Score: 1

      Wow, I'm surprised. But it actually explains some things.

      I can't find a reference about it. Do you have link?

      --
      The best way to predict the future is to invent it
    9. Re:Violates the developer agreement by PixelSlut · · Score: 1

      It may not be THAT much better than native Objective-C. But if you're a new developer who has been using C# for a long time and doesn't know Objective-C yet, this could be a great tool to help you write an iPhone app really quickly and comfortably. This isn't intended to be anything revolutionary, it's just a C# binding for people who care about that.

    10. Re:Violates the developer agreement by theolein · · Score: 1

      It honestly sounds like you're somewhat unhappy about the iPhone having so many applications in so short a time. However, comparing the iPhone's SDK and the Cocoa frameworks to Sony's very expensive and very difficult to use SDK is somewhat disingenuous, because the Playstation's SDK is far more expensive and the learning curve is far steeper. Also, you attempt to try and state that the number of apps is limited, and I'll call you on that one. How exactly do you get to the feeling that some 75000 apps in two years is in any way limited? That really sounds like envy or denial, and *that* is usually Apple territory...

      There are so many apps for the iphone *because* the device is popular. This was the case for Windows and all the popular game consoles. Except that even though the vast majority of apps are written for PCs and Windows, it really isn't cool at the moment, partly because Microsoft is so terrible at marketing and branding, and partly because Apple is much better at keeping its devices and OS in an integrated package both physically and visually and above all keeps them as simple as possible.

      MS might at some point eventually fire that moron, Ballmer and get a boss who realises how important, integration, simplicity and unified branding is, as opposed to heavy handed bullying, but I'm not holding my breath.

    11. Re:Violates the developer agreement by theolein · · Score: 1

      I need to reply to your last paragraph: "How many people do you know who are interested in general purpose computing and choose to run MacOS? They usually choose a PC which they have built for themselves and run Linux or (gasp) Windows (especially if they are at all into PC gaming)."

      About two years ago, laptops overtook desktops in absolute numbers of computers sold. The number of people who actually build computers themselves from components these days is extremely small compared to the overall market.

      I'm an admin for a company that has about 80% Macs and 20% Windows (note, I say Windows, because almost all of those are Macs running Windows). The only real reason we need Windows is for CAD. The other few people who are still on Windows complain about it continuously. No one likes it, with two exceptions in the company.

    12. Re:Violates the developer agreement by Anonymous Coward · · Score: 0

      Well, I've wrapped a very large native C API with Platform Invoke and it works very well. The IDisposable interface works very well for managing native resources like memory, files, network connections, etc. Plus, you can hardly blame the .Net framework for the unstable API of a native library.

    13. Re:Violates the developer agreement by bonefry · · Score: 1

      I doubt they'd have a problem of approval. There are already games developed with Unity3D (http://unity3d.com/), which is a toolkit for iPhone games running on top of Mono.

      Using C# may not be much better, but learning yet another programming language, that's just another variant of C, with its own libraries and ways of handling events and with its own tools ... gets really tiresome sometimes. And learning is only half the battle, you'd also have to rewrite all those code-snippets and utilities you've grown quite fond of.

    14. Re:Violates the developer agreement by bonefry · · Score: 1

      You could even turn it around and say that the number of 3rd party frameworks being developed indicates the language is missing some important stuff and everybody is trying to solve it in their own way, with lots of redundant, very similar frameworks.

      No you can't :) It's in the nature of our profession to be redundant (as it is with other fields of endeavor as well).

      If a platform doesn't have redundant libraries, then it's either not popular, or it is tightly controlled.

    15. Re:Violates the developer agreement by jcr · · Score: 1

      Not handy, but you I'm sure you can find some of the first discussions of Ruby on the comp.sys.next.* usenet archives.

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
    16. Re:Violates the developer agreement by Anonymous Coward · · Score: 0

      There is a big difference between "some of the first discussions of Ruby on the comp.sys.next.* usenet archives" and your original assertion that "Ruby started out on NeXTSTEP."

    17. Re:Violates the developer agreement by jcr · · Score: 1

      Look, I don't care if you believe it or not. If you ever meet Matz, ask him yourself.

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
    18. Re:Violates the developer agreement by Anonymous Coward · · Score: 0

      I have met matz - and he told me that Ruby was NOT developed on next.

    19. Re:Violates the developer agreement by badkarmadayaccount · · Score: 1

      All of the above are dependent on the JIT engine, maybe a wrapper library on top.

      --
      I know tobacco is bad for you, so I smoke weed with crack.
  5. Unity by tylersoze · · Score: 4, Informative

    Unity, www.unity3d.com, which uses Mono, has been available on the iPhone for some now.

  6. XOR to iPhone SDK? by pak9rabid · · Score: 1

    So...is this an alternative to Apple's iPhone SDK, or does it work with it? (in other words, could developers not have to pay the Apple tax to write iPhone apps?)

    1. Re:XOR to iPhone SDK? by tlhIngan · · Score: 0

      So...is this an alternative to Apple's iPhone SDK, or does it work with it? (in other words, could developers not have to pay the Apple tax to write iPhone apps?)

      Unless this thing compiles to native code, a runtime interpreter isn't allowed by Apple's SDK. So I suspect .net apps, just like free iPhone development, will require jailbroken phones. (Jailbroken phones don't require the $100/year membership).

      Other than that, I don't see how in the world will Apple allow it.

    2. Re:XOR to iPhone SDK? by ZackSchil · · Score: 2, Informative

      No, you'll still need to compile with XCode and sign the apps through Apple's $100 development program to try them out on a real phone. This just offers different UI libraries to link to when making your app rather than using cocoa.

      If they crash or misbehave, Apple will reject your app though. So hopefully they're pretty solid. I imagine this is mostly to help enterprise customers port their Windows Mobile apps to the iPhone.

    3. Re:XOR to iPhone SDK? by Plug · · Score: 3, Informative

      It compiles to native code. It just allows you to use C# to do it.

    4. Re:XOR to iPhone SDK? by harlows_monkeys · · Score: 1

      Unless this thing compiles to native code, a runtime interpreter isn't allowed by Apple's SDK.

      That's not really quite correct. Apple has approved apps that use a runtime interpreter. They key is that the app cannot allow any means of downloading "outside" code to run on the interpreter. If you want to implement your app as an interpreter for language Foo, which is only used to interpret the Foo code you include as part of the app, that should be OK.

    5. Re:XOR to iPhone SDK? by PixelSlut · · Score: 1

      It's basically a language binding. That's it. But if you're fluent in C# and don't feel like spending the time to learn Objective-C, it looks like it's totally worth it.

  7. Must be app-store approved... by zentechno · · Score: 1

    Even before we get to the performance issue, there are at least two others that could run blocking. 1) I wonder if this is the sort of thing Apple would approve. Recent rants would seem to indicate if it allows any sort of a shell, no way. Otherwise, who knows? 2) Apple enforces it's look-and-feel rules religiously. Last I saw there was NOTHING .Net that looked at all Aqua. The stuff at unity3d.com looks cool, and would seem to *imply* Apple's OK with however their stuff looks, but I couldn't find a screen shot that showed me e.g. a typical config panel so I could compare it to iPhone's native bits.

    --
    âoeThe wall between art and engineering exists only in our minds.â -- Theo Jansen
    1. Re:Must be app-store approved... by Plug · · Score: 5, Informative
      1. It's not a "shell" or a "runtime", it is ahead-of-time compiled down to native code.
      2. This is a wrapper around native Apple UI objects, it's not using any Windows or .NET UI objects. You use the Apple Interface Builder just like you would if you were using Objective C.
    2. Re:Must be app-store approved... by Aurisor · · Score: 1

      Ahead-of-time compiling? Isn't that just regular compiling?

  8. Re:And voila! Programming for monkeys. by Anonymous Coward · · Score: 1, Informative

    Unless you write directly in machine code then you have no place to talk little nooblet.

  9. don't buy an iphone by Anonymous Coward · · Score: 0

    if you buy an iphone you're a sucker

  10. Re:And voila! Programming for monkeys. by Anonymous Coward · · Score: 0

    Troll

  11. No it doesn't. by Plug · · Score: 4, Informative

    MonoTouch is not a runtime or an "app", it's a library with which you compile your own apps. It's ahead-of-time compiled, so you end up with a binary that runs on the iPhone.

    It opens up iPhone development for millions of .NET developers, many of which may not have any interest in Objective C. And as far as I can tell, C#/Mono is garbage collected, and Objective C (on the iPhone) is not. That alone would make me interested in checking it out.

    If you're not interested, that's great, move along.

    1. Re:No it doesn't. by Shados · · Score: 1

      I'd be curious about the garbage collection stuff though. Its ahead-of-time compiled, there's no runtime, and you usually need a runtime for the garbage collection, unless the compiler includes a pseudo-runtime to run the app or something. I'd assume it works the same as Java native compilers...how do those work, i never looked?

    2. Re:No it doesn't. by shutdown+-p+now · · Score: 1

      I would imagine it works in the same way Boehm GC (libgc) for C/C++ works. GC doesn't require a "runtime", it just requires a, well, GC, running on its own separate thread, started from main(). Of course, one could say that such a GC constitutes a "runtime", but that's stretching it.

    3. Re:No it doesn't. by Anonymous Coward · · Score: 0

      Just so long as there is a warning so I won't accidentally install one of these apps.

    4. Re:No it doesn't. by naasking · · Score: 1

      Every language has a runtime, except assembly, it's just that some runtimes are statically linked with the final executable. This is the case here.

    5. Re:No it doesn't. by codepunk · · Score: 1

      Chances are you already have installed one, nearly all the unity built games "zombiville" etc are built on it.

      --


      Got Code?
    6. Re:No it doesn't. by Anonymous Coward · · Score: 0

      When did assembly stop getting compiled? There's no substantive difference between data and code. Some file viewers/interpreters just happen to be Turing complete. Did you know that MS Word code is Turing complete? That is to say, the data the MS Word program interprets can cause MS Word to perform an arbitrary computation. A .doc file is as much a program as the .exe file that interprets it.

    7. Re:No it doesn't. by Greenisus · · Score: 1

      Objective-C does have garbage collection, but it's not available for use on the iPhone (at least not yet...maybe when the vast majority of iPhones are at least 3GS speed they'll allow it?)

    8. Re:No it doesn't. by PixelSlut · · Score: 1

      It probably just hooks into the reference counting mechanisms. This is basically what the bindings for gtk# do. GObject contains its own reference counting scheme, and when you're finished with an object you call g_object_unref() on it. When you're using the C# binding then it does this internally and you don't ever worry about it. When a variable changes its reference or when it falls out of scope or whatever, then gtk# unrefs the object.

    9. Re:No it doesn't. by Anonymous Coward · · Score: 0

      As if there wasn't enough garbage on the App Store, now we have to deal with the output of "millions of .NET developers".

    10. Re:No it doesn't. by Anonymous Coward · · Score: 0

      Assembly was never compiled, it was assembled. Thus the use of assemblers and not compilers.

    11. Re:No it doesn't. by bonefry · · Score: 1

      AOT compiling has nothing to do with having a runtime or a garbage-collector. AOT refers to code being translated directly in machine code, instead of an intermediate byte-code language. When you're using an intermediate language you can do neat tricks like generating and manipulating the code at runtime, and that's why JIT-ing is disallowed.

      For a garbage collector to run, you have to keep some state at runtime, like a global count of the number of references an object has or local counts of references (on each object) to construct a graph of objects that are still in use, but that's not code evaluation at runtime.

      There will be disadvantages of Mono on top of the iPhone though. Because JIT-ing and eval-ing are forbidden, you can't use libraries that rely on runtime bytecode manipulation.

  12. Re:Left fuckers by RyuuzakiTetsuya · · Score: 0, Troll

    At what point will libertarians contempt for humanity end?

    --
    Non impediti ratione cogitationus.
  13. ...but does it run Linux? by filesiteguy · · Score: 1

    :P

    Okay, so now we have a .net runtime (mono) on the iPhone. Can we safely assume that the plethora of mono apps can be ported? (http://www.mono-project.com/Software)

    Hmm - I could see playing Donkey.NET (http://www.microsoft.com/downloads/details.aspx?FamilyID=990D0EC1-23EA-4408-898D-1FD5727A8890&displaylang=en) playing on the iPhone.

    1. Re:...but does it run Linux? by Plug · · Score: 1

      No, you do not have a .NET runtime. You have a way of using .NET to build apps using the Apple UI objects, and compiling them to native code. The "plethora of Mono apps" you refer to are generally written using Gtk#, and would have to be re-architected to use the iPhone UI.

    2. Re:...but does it run Linux? by filesiteguy · · Score: 1

      Darn - I was hoping to have the ever-helpful beagle running on the iPhone.

      LOL

  14. Finally! by Anonymous Coward · · Score: 0

    It's nice to see Novell dumping the dead end that is Linux development for more fertile grounds.

  15. So... what is Apple going to do? by jmerlin · · Score: 0, Troll

    They love their exclusitivity, lock-in, etc. We saw them destroy an awesome C64 emulator because you could program in BASIC for it. From glancing over the article, it appears developers will be able to use .NET to produce iPhone apps while not using OSX (!!!) -- I don't think Apple would stand for this. "You must pay $3,000 for a crappy mac to write software for our iPhone, and even then your chances of getting your app on our 30% royalty fee store is highly unlikely!"

    1. Re:So... what is Apple going to do? by bananamanners · · Score: 1

      You still need a Mac with OSX and the iPhone SDK and be a registered iPhone developer in order to use Mono-Touch. So if anything, apple will be getting a larger developer base.

      --
      "I'm just exhausted 'cause I've been up all night drinking." - Peter Griffin
    2. Re:So... what is Apple going to do? by assassinator42 · · Score: 1

      Apple doesn't really want a larger developer base. If they did, they'd release an SDK and allow development on Windows and Linux.

  16. C++/CLI by Anonymous Coward · · Score: 1, Funny

    Managed Extensions to C++ is old.
    Newer versions of .NET have C++/CLI now.

    C++/CLI is great for interop with legacy applications that will not interop via web services or COM.
    I created a wrapper library in C++/CLI that wrapped .Net class libraries I wrote in C#. In this c++/CLI library, I exported functions as C functions using the stdlib calling convention. This allowed a lot of legacy applications on Windows to interop with .net libraries.

  17. Owner of iPhone and several macbpros by Anonymous Coward · · Score: 0

    Not really a hardcore apple person, but my experience since leaving MS is very pleasant. I also enjoy several Linux boxes. The only issues I have with Apple are games (though WoW, Wii and the Ps3 solve much in this regard) and Quickbooks (payroll).

    Once Intuit finishes Quickbooks for Macs, only games are left. I just have no care to deal with MS unless absolutely needed.

    These days I could even avoid lockin with Linux but My Apple experience has been very nice. My wife, an architect in Java and .Net, differs with her Apple experience. Though she has enjoyed her mac she finds it frustrating at times as a dev. So much so that her next will dual boot MS and Linux. However, she always takes Java projects over .Net because she finds Java much further along. Guess I am saying that both of us would love Java on the iPhone; we wouldn't bother with .Net.

  18. Mono? by webdog314 · · Score: 0, Troll

    Now you can have all the security and stability of .Net and Microsoft right on your Apple iPhone! Oh wait...

    1. Re:Mono? by avandesande · · Score: 1

      I have had the JVM crap out on me multiple times when programming in JAVA- I have never encountered a failure or SINGLE runtime bug in .NET.

      --
      love is just extroverted narcissism
    2. Re:Mono? by RightSaidFred99 · · Score: 3, Interesting

      Are you being double-backwards redundantly hilarious? .Net and Microsoft are stable now. Let's see on what platforms the largest growth for remote exploits over the last year have been, shall we?

    3. Re:Mono? by Anonymous Coward · · Score: 0

      Due to an actual Java runtime bug, or your crappy code overburdening the garbage collector?

    4. Re:Mono? by Anonymous Coward · · Score: 0

      Obviously you don't write enough code.

    5. Re:Mono? by Anonymous Coward · · Score: 0

      The one with the most developers & applications?

  19. Never happen by YerTalkingKrap · · Score: 1

    Novell may have "announced" this, but I don't think there's much chance of it appearing on the iPhone anytime soon. Sun tried to write a JRE for the iPhone and Apple todl them outright there was no way it was going to allow it, so I seriously double they'd be fine with .Net

    1. Re:Never happen by codepunk · · Score: 1

      Mono based apps have been running on the iphone for over 6 mos, in fact we are talking hundreds of them. Go have a look at Unity3d I have
      been building iphone games for months with it.

      --


      Got Code?
  20. Shame : Article is FUD from MS-zealots :( by testman123 · · Score: 0

    AFAIK,

    #1 No it is not managed code, nothing like IL and will never be so ! Simply because it is forbidden by Apple license. This is the same rule that prevent Java VM or that should prevent full Flash from beeing granted. The reason ? If a VM (JVM or CLR) is pushed to the iPhone the code control will escape from Apple validation ;-) Be sure this will never happen. So this is FUD.

    #2 Nothing you can not do already using Java using ahead of time compilation or C++ or any cross compilable language. Nothing new, so this is FUD.

    #3 Article is misleading as Mono is not Microsoft .net compatible. Anybody seen a test compatibility suite at Microsoft to ensure compatibility ? No way ... this thing is best effort "should work" code. Not mono fault ... a MS choice my darling. Again and again FUD.

    Is it me or two much of Android phone launched has made MS-fan crowd wake up & start again the FUD machine over /. ?

    Guys, if you need to make iPhone apps, you got to build it using ObjectiveC. If you want to code using more recent languages, you can go to other mobile platform such as Blackberry and Android...;

    1. Re:Shame : Article is FUD from MS-zealots :( by codepunk · · Score: 2, Interesting

      "Guys, if you need to make iPhone apps, you got to build it using ObjectiveC"

      Those games I have been programming and distributing using mono C# in Unity for the last 6 mos must be a figment of my imagination.

      --


      Got Code?
    2. Re:Shame : Article is FUD from MS-zealots :( by PixelSlut · · Score: 1

      Mono has always been very up front about the incompatibilities that exist. And whenever you're building AOT applications you have to expect that certain features (like Reflection) will not work. So who cares? It's still a fantastic platform.

    3. Re:Shame : Article is FUD from MS-zealots :( by testman123 · · Score: 1

      Â Mono has always been very up front about the incompatibilities that exist. Â

      Having good will to follow a road runner does not mean are acutally catching it.

      In other words, there are no proof that it is fully compatible.

      IE, you can spend your hobby time on it but you'd better never bet a whole businessplan :(

      This comment also applies to any other reimplementation without all the specs (think to Wine for instance).

      As said on the original comment, it is MS choice not to have full open the platform but a core and not have brought a TCK. This is maybe their best strategical choice to prevent Windows to suffer from Mono ;)

    4. Re:Shame : Article is FUD from MS-zealots :( by Kalriath · · Score: 1

      Greetings Apple FUD machine!

      --
      For a site about things like basic rights, Slashdot users sure do like to censor "dissent".
  21. Other languages? by MattBD · · Score: 1

    Correct me if I'm wrong, but although Mono is largely based around C# it does support other languages such as IronPython, VB.NET, and Boo, and the MonoTouch website implies that you can use other languages as well. That could potentially mean being able to use MonoTouch to write applications in these other languages, which could be handy.

    1. Re:Other languages? by PixelSlut · · Score: 1

      Depends on the features of .NET that the language uses. IronRuby and IronPython depend upon the DLR, which probably can't be used in an AOT environment like MonoTouch needs because things like Reflection don't work. Remember, when you compile native code with AOT you drop the runtime so there is some give and take in terms of what you get out of it. It's faster, but you lose some runtime features.

    2. Re:Other languages? by Anonymous Coward · · Score: 0

      On Windows, .NET has a runtime, the CLR. Programs running on the CLR exist in their own language, the CIL.

      When you build a .NET app, it compiles from whatever language you use (VB .NET, C# .NET etc.) into CIL. Mono, afaik, is just a port of the CLR that runs CIL bytecode, so a program written in say C#, compiled into CIL can just run on any runtime that supports all the features used in that app.

      C# is a language definition by itself, that is, whilst it's nearly always used on .NET to compile down to CIL for the .NET/Mono platforms, there's no reason someone couldn't create a C# compiler that compiles C# straight down to x86/x64 compatible assembly, much like C compilers do.

      What I'm not sure about is what the Mono team have done here - if they've created a compiler for C# that compiles directly into iPhone compatible binaries then it'll only work for C#. If however they've created something that converts, say, CIL into native iPhone compatible binaries then any .NET language will (in theory) work.

      Of course, throughout this be aware that not all CIL is the same - different versions of the CLR support newer features in the CIL.

  22. Re:Big Difference Between The Two by tylersoze · · Score: 3, Informative

    Haha! That's a good one. Although I'm sure the developers of the 250 games that have shipped with Unity probably care somewhat. :)

  23. Informative links from Miguel's blog by Anonymous Coward · · Score: 0

    Recent post: http://tirania.org/blog/archive/2009/Sep-14.html
    This one's almost a year old, but contains more details: http://tirania.org/blog/archive/2008/Nov-05.html

    To those that say Apple won't accept this to the App Store, it is not intended to be accepted because it is not an iPhone app. It is a really just compiler that gets run ahead of time; so it is not a runtime for the iPhone like the JVM was.

  24. Eww by Anonymous Coward · · Score: 0

    Seriously. Gross. Now, if only someone would port DirectX and the Windows Registry...

    1. Re:Eww by agnosticnixie · · Score: 1

      I miss Explorer.exe and hdll so much...

  25. What a Pig by curmudgeon99 · · Score: 0, Troll

    Can you imagine how terribly apps on this combo will perform? I would be waiting with great skepticism.

  26. Re: Why not? by Anonymous Coward · · Score: 0

    Mono touch wraps the objective C frameworks directly, and isn't intended as a replacement. It uses interface builder to build the UI, loads XIB files, and runs with NSApplication, UIView, etc.

    Since monotouch is binary compiled, it is not using a framework or a JIT compiler. Basically there shouldn't be any difference between a mono app binary and an objective C binary other than one is compiled via the objective C toolchain and the other is compiled via the mono-touch toolchain.

    The advantage of mono-touch would be that it allows C# programmers to write iphone apps without having to learn objective C, and it allows corporate .net developers to port their in house apps to the iphone more easily.

  27. Average Star Rating 2.6 by glennrrr · · Score: 1
    The 40 games listed on the above link have an average rating of 2.6, and range from a rating of 1 star to 4 stars, which is not bad, but not particularly good either. But at least it is possible to get as high as 4 stars with Mono; I'm actually surprised by that.
    • Downhill bowling 4
    • Billiards 2
    • Space Pig 1
    • Age of Curling 3.5
    • DuskTreaders 2.5
    • X-Razer 2.5
    • Invinciball 3
    • SlidePop 2
    • FuguMaze 2
    • Monkey Diving 2.5
    • Ball-X 3
    • Fugu-Tilt 2
    • Pizza Dash 2
    • Debris 2
    • Trash It! 2.5
    • Asteroid Strike 2.5
    • Crazy Snowboard 3.5
    • Bubble Bang 2.5
    • Bounce Pop 2.5
    • FuguBall 2
    • SpaceRace 2.5
    • iDrone 2.5
    • Mars Explorer 3.5
    • Christmas Spell 3.5
    • Alpha Blocks 3.5
    • Cricket 2
    • Rock em Blocks 3
    • Pealagic Tones 3
    • Average = 2.6
    1. Re:Average Star Rating 2.6 by harlows_monkeys · · Score: 1

      The 40 games listed on the above link have an average rating of 2.6, and range from a rating of 1 star to 4 stars, which is not bad, but not particularly good either

      Actually, it is pretty good. For some reason, there are a lot of idiots rating iPhone apps, and apps that perform exactly as the developer claimed, flawlessly, get a lot of low ratings. I've seen a lot of reviews that go like this: "This app does what it is advertised to do, perfectly. It's very useful. But I wish it also did (function that makes no sense for this app)" and they rate it 1 star.

    2. Re:Average Star Rating 2.6 by glennrrr · · Score: 1

      Well that may well be, but if you don't maintain a star rating at or above 3.5, you can pretty much forget profit. (Speaking as someone who gets absolutely massacred star-wise by the "rate on delete" method for my free app.)

  28. Re: Why not? by jcr · · Score: 2, Insightful

    The advantage of mono-touch would be that it allows C# programmers to write iphone apps without having to learn objective C

    That is not an advantage. Go native, or don't bother.

    -jcr

    --
    The only title of honor that a tyrant can grant is "Enemy of the State."
  29. Excuse me too ... by testman123 · · Score: 1

    You said  C# and .NET which allows any language to compile to the CLI assembly are arguably even more powerful than Java right now Â

    Wrong, "any" language can not compile to CLI. Any .net language flavor can. There is a huge difference, when you code VB on .net, this is no more VB but an ersatz of C# : same structure, same paradigms, same API. Same for Cobol.net ... this is not Cobol my friend ! By the way when working on .net everybody ends up doing C#. Like everybody does it on Windows thru the .net and not Mono ... and people ends up doing MS SQL Server sometimes ;)

    About C# beeing "more powerfull", this remember a "I got a bigger one than yours" story so I am not even discussing the question. The question is not the size or power, but how clean it is and what you do with it. At the end of the day, most people think theirs are the more powerfull ;-)

    About lang, there half a dozen of language that could blast C# and Java in each of their alleged "power" domains. But none are used and none have reached the masses.

    If C# was not made by MS, it would have already died, because the clone is too close from the original to survive.

    But fortunatly for you MS is still spending some cash and giving some to Novell to try to make people dream of an hypothethical .net outside an MS OS.

    Guys, wake up : this will never happen for obious strategical reasons. Do you think that MS will kill windows biggest platform advantage for nothing ? C'm'on, MS does cool things but this whole .net story is realy a self-trap for MS : they did not managed to lock Java (remember the JDirect/RNI/WFC) and could not let it go alone or it could have swallow all their developers (do you liked MFC ?)... so they decided to go the dolly way : go & clone that thing :)

    Now they are in a no-no situation : no, we can not make it really cross platform and no we can not get rid of it. Funny situation isn't it ?

    I would really like to know how this would end : portability and windows killed or .net killed by MS to prevent harm to Windows... who knows ;)

  30. Simple by Anonymous Coward · · Score: 0

    Which is another way of saying, Apple is strongly discouraging if not outright banning one of the best ways to re-use code. Can anyone tell me why Apple is against code re-use on the iPhone?

    They do not want third party apps using fourth party libraries using Nth party foo on their platform. Code reuse and the deployment implementation are completely separate issues.

    1. Re:Simple by SanityInAnarchy · · Score: 1

      They do not want third party apps using fourth party libraries using Nth party foo on their platform.

      Uhm... Why not?

      Code reuse and the deployment implementation are completely separate issues.

      Except that they tend to avoid even apps which have had some of their code generated by a third-party tool, so it seems that "deployment implementation" or not, Apple's policy is effectively blocking some forms of code re-use, for no good reason.

      --
      Don't thank God, thank a doctor!
    2. Re:Simple by poopdeville · · Score: 1

      Uhm... Why not?

      Because using application bundles avoids DLL hell.

      They don't care if you use QT in your app. They just don't want people linking outside of their tree.

      --
      After all, I am strangely colored.
    3. Re:Simple by SanityInAnarchy · · Score: 1

      Because using application bundles avoids DLL hell.

      There are other, more efficient ways to avoid DLL hell. And while that may make sense on a desktop, it seems truly moronic on a mobile platform, where space, bandwidth, and RAM are scarce.

      They don't care if you use QT in your app.

      Some of the rejection stories coming out suggest otherwise -- that they dislike any "external framework".

      --
      Don't thank God, thank a doctor!
    4. Re:Simple by Goaway · · Score: 1

      Uhm... Why not?

      Because that leads to dependency hell, and that leads to horrible user experience.

    5. Re:Simple by SanityInAnarchy · · Score: 1

      Because that leads to dependency hell, and that leads to horrible user experience.

      Hurry, better tell Valve! And maybe Microsoft, too, while you're at it! Or Apple, for that matter -- they love frameworks, as long as it's one they shipped with the OS.

      Seriously, Linux has solved this dependency issue with package managers for decades. Contrary to popular belief, it's trivial to support multiple versions of a library. And with the App Store, no one can claim installation as a problem -- the App Store can easily be thought of as a package manager that only supports the official Apple repository.

      --
      Don't thank God, thank a doctor!
    6. Re:Simple by Goaway · · Score: 1

      I'm not sure what you're arguing against. Apps can include local copies of frameworks just fine on the app store, and the iPhone OS provides frameworks that apps use. It wouldn't work at all without those.

      What is specifically not allowed is using external frameworks distributed separately, or internal OS frameworks.

    7. Re:Simple by SanityInAnarchy · · Score: 1

      external frameworks distributed separately,

      Sounds like at least one very misleading rejection. The author I mentioned had an "it's an external framework" rejection about their generated app -- which very clearly wasn't relying on any external framework installed on the device, only one to use the generated code -- when what they meant was "you're using an internal framework."

      Add to this the fact that they rejected an app that contained the name of the framework, but accepted the exact same app with that name replaced with something else.

      --
      Don't thank God, thank a doctor!
    8. Re:Simple by poopdeville · · Score: 1

      There are other, more efficient ways to avoid DLL hell. And while that may make sense on a desktop, it seems truly moronic on a mobile platform, where space, bandwidth, and RAM are scarce.

      Space is scarce? Really? Do you think 80 or 100MB of QT are going to fill up a 16 GB drive? Do you think 30 or 50 QT applications are going to fill up a 16 GB drive, even if they all bring their own QT libs?

      Apple has already chosen their way of avoiding DLL hell, and it doesn't include a package manager for dealing with random application libraries.

      Some of the rejection stories coming out suggest otherwise -- that they dislike any "external framework".

      It's not "external" if it's in your app. You can link to any library you want, as long as you include a copy of it in your application bundle.

      --
      After all, I am strangely colored.
    9. Re:Simple by SanityInAnarchy · · Score: 1

      Apple has already chosen their way of avoiding DLL hell,

      It is, however, neither the only nor the most efficient way of avoiding DLL hell.

      If nothing else, it's a bit more delay and an unnecessary waste of battery if those Qt libs have to be loaded from that drive with each app -- to say nothing of if Apple ever allowed background apps.

      It's not "external" if it's in your app.

      Better hope Apple interprets it the same way. Or, assume that the person Apple has reviewing your app interprets it the same way. Because they've definitely filtered out individual apps by targeting specific frameworks.

      --
      Don't thank God, thank a doctor!
  31. Re:Left fuckers by Anonymous Coward · · Score: 0

    tl;dr

  32. Have been doing this for months. by codepunk · · Score: 2, Interesting

    I have been programming games in unity which uses mono for the iphone for over 6 mos now. Since it compiles to
    native code it runs blistering fast and is very stable. No there is not a problem with violating the apple sdk requirements
    as it is compiling to native code.

    --


    Got Code?
  33. Re: Why not? by SanityInAnarchy · · Score: 1

    That is not an advantage.

    Yes it is.

    Or do you want to have an actual discussion? Why isn't it an advantage?

    Go native, or don't bother.

    Why?

    --
    Don't thank God, thank a doctor!
  34. Hard to compete with Objective C ???? by ptr2004 · · Score: 2, Informative

    According to this http://monotouch.net/Documentation/Debugging There is virtually no debugging support for developing C# application on MAC OS X. No breakpoints and only Console.Writelines !!!!

  35. Re: Why not? by jcr · · Score: 2, Insightful

    Hey, if you want to use half-assed ports, knock yourself out.

    -jcr

    --
    The only title of honor that a tyrant can grant is "Enemy of the State."
  36. Re: Why not? by SanityInAnarchy · · Score: 1

    half-assed ports

    And why does another implementation language automatically imply half-assed ports?

    Your ignorance is showing.

    --
    Don't thank God, thank a doctor!
  37. Re:And voila! Programming for monkeys. by Anonymous Coward · · Score: 0

    Writing in C is a very efficient way how to get control in how machine code is produced, isn't that right big monkey?

  38. Re: Why not? by PixelSlut · · Score: 1

    It's not a port. It's a language binding. There's really not much difference between this and calling your system's open() syscall from Ruby or Python. Also, quit being an asshole.

  39. ketchup and mustard by zojas · · Score: 1

    isn't this sort of like putting ketchup on chocolate cake?

    1. Re:ketchup and mustard by trouser · · Score: 1

      Nah, it's more like putting hot English mustard on your cock and shoving it hard up the ass of your sworn enemy.

      --
      Now wash your hands.
    2. Re:ketchup and mustard by nonsequitor · · Score: 1

      I wish I had mod points right now to mod you funny before you get (erroneously) buried as a troll.

    3. Re:ketchup and mustard by trouser · · Score: 1

      It's the thought that counts, cheers.

      --
      Now wash your hands.
  40. .Net, Eh? by Aphoxema · · Score: 1

    "Yeah, but can it run Windows?"

    --
    "Most people, I think, don't even know what a rootkit is, so why should they care about it?"
  41. As a beta user of this, let me clarify by rabtech · · Score: 3, Interesting

    Let me clarify how this works:

    1. Yes, it is compiled ahead-of-time so there is no violation of the iPhone Developer SDK ToS rules; this also means a lot of the powerful Reflection stuff doesn't work because you can't do runtime inquiry on a type and create an instance dynamically. It also means the DLR is unlikely to ever run on the iPhone.

    2. Much of the types map to Objective-C types, UI Kit, etc, and so does the only GUI library. (Note that types like System.String map to NSString, etc as well.)
    You actually still do your GUI in Interface Builder, but MonoDevelop picks up changes to the XIB and auto-generates partial classes to represent the XIB actions and outlets. This step alone eliminates a lot of the boilerplate crap you have to do with Xcode that we Visual Studio developers are used to having the computer take care of automatically. Events can be handled via the C# obj.Event += handler syntax, MonoTouch takes care of hooking it up behind the scenes.

    3. You can import Apple frameworks with DllImport and call any of the Foundation functions. There are also helpers that take handles (pointers) from those functions to Objective-C objects.

    4. Most of the glue is automatic by decorating your classes/methods with the proper attributes (eg: make a class implement a protocol, then mark the methods as to what message in the protocol it handles). It really is a very slick package and a joy to use.

    5. Garbage Collection! This rocks, it was very disappointing to see Apple fail to bring their GC over to the iPhone.

    6. Most of your libraries aren't going to work because they require reflection, framework classes, etc that don't exist or aren't statically linkable into your executable. Besides, that isn't the point. For me, the point is to use a language I am used to (avoiding the @synthesize, -/+, and [[[[[[[ crap that makes Objective-C annoying to use). It is impossible to overstate how much the automatic hookup with XIB files makes developing a GUI so much easier to do. I only wish IB would automatically make all controls Outlets, then I'd be set. I find that you spend way too much time spitting out boilerplate code and doing repetitive boilerplate actions in IB when the computer could just as easily figure all that out for me (like Visual Studio does with a WinForms app).

    --
    Natural != (nontoxic || beneficial)
    1. Re:As a beta user of this, let me clarify by Anonymous Coward · · Score: 0

      Re: reflection & monotouch - you can reflect over types, create instances via Activator.CreateInstance() etc - this works like a charm. What won't work is dynamic code-generation, i.e. System.Reflection.Emit.

  42. Hmm...would that be Icaza by codefungus · · Score: 0, Troll

    the sell-out?

    --
    -- A cat is no trade for integrity!
    1. Re:Hmm...would that be Icaza by trouser · · Score: 1

      Would that be codefungus, the asshole?

      --
      Now wash your hands.
    2. Re:Hmm...would that be Icaza by am+2k · · Score: 1

      He's the first person I've heard of bringing the old art of doublethink to perfection, being both a Microsoft shill and Linux developer...

  43. Re: Why not? by jcr · · Score: 2, Insightful

    And why does another implementation language automatically imply half-assed ports?

    It shows that the implementor is unwilling to learn.

    Your ignorance is showing.

    No, that's my experience. I've seen quite a few half-assed ports to the Mac in my time, and I sure as hell don't want to see them on the iPhone.

    -jcr

    --
    The only title of honor that a tyrant can grant is "Enemy of the State."
  44. Re: Why not? by jcr · · Score: 1

    It's not a port. It's a language binding.

    It's a language binding that will be used by people who are unwilling to write native iPhone apps. IOW, it will facilitate half-assed ports.

    -jcr

    --
    The only title of honor that a tyrant can grant is "Enemy of the State."
  45. OMG... by hotfireball · · Score: 1

    OMG, no... Actually, C# is way more better than Objective-C by syntax. But I would be much more happy to see Java instead of Mono.

    $399 and no trial version and even not Cocoa interface and no Cocoa result? How much does it takes memory? How much time it needs to start?..

    Nah, no. I'd better continue with what I already have: Objective-C SDK from Apple.

  46. Cool by slashdotwannabe · · Score: 1

    All in all, I think this is rather nifty. I love C#. I wonder if Apple will allow these apps to be deployed through the app store? I wonder if the SDK has all of the available functionality that is exposed by Apple's SDK.

    --
    This comment is my opinion and does not represent an official position of Donald Trump or others I do not work for
  47. Not more extensive by SuperKendall · · Score: 2, Insightful

    Excuse me? C# and .NET take the same approach as Java which is to provide the most powerful general purpose programming language + massive class library of common functionality possible

    NeXT was taking that same approach probably before you were even programming.

    The Objective-C language itself is not quite as modern as newer languages (though I personally think with blocks and GC it's pretty much there, though those will take a bit to translate over to the iPhone). But Objective-C has a huge set of libraries as well.

    I've done extensive Java development prior to switching to iPhone development full time. Really there's not anything missing when you look across the NS and CF class libraries - rich collection classes, string handling with deep unicode support, internationalization, complex date/time formatting, good tools for introspection, RegEx support, etc. etc. etc.

    A few of the Mac frameworks are curiously missing for the iPhone (the most curious to me being the one supporting SOAP) but there are good quality third party wrappers that fill those gaps.

    And then of course, Objective-C has really useful frameworks like CoreData, and CoreAnimation which are richer than what you can get with other platforms (party because CoreData does not make the pretense at being an OR mapper, just a tool for managing object graphs that happens to support a database as one kind of store). I would say the existence of some of these frameworks especially makes it more useful and productive for application development than either C# or Java currently - especially since after using decades of different UI coding models, Interface Builder is the first IDE GUI development tool it makes sense to use over hand coding elements.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  48. Disallow "Frameworks" - news to me by SuperKendall · · Score: 1

    But the problem is, Apple has explicitly disallowed "frameworks"

    That is absurd. There are a ton of different frameworks in play today, from Cocos2D (game framework) to Unity (commercial game framework that supports scripting in Mono or Javascript) to even the C64 emulator...

    Apple disallows interpreters, and even that they are somewhat relaxing with the C64 thing. But they've never disallowed Frameworks - that would be basically impossible since they just get an executable they test!

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  49. Should have used HTML5 by gig · · Score: 2, Interesting

    If this was an HTML5 target the app would not require Apple's approval to run on the iPhone, and it would also run on other platforms. This could be a target that makes an app to run on all smartphones, since they all have WebKit.

    If these apps look generic they won't get approved for App Store. You have to design your way into app Store as well as engineer. With HTML5 you can do what you please.

    1. Re:Should have used HTML5 by cerberusss · · Score: 1

      A website is not the same as an app. For many things, an app is infinitely preferable to some generic website.

      --
      8 of 13 people found this answer helpful. Did you?
  50. Re:Hard to compete with Objective C ???? by Vexorian · · Score: 1

    There's no support yet.

    Hmnn as a developer, which of these could you live without: Garbage collection or breakpoints? Wow, that sounds like the subject of a new geeky flamewar.

    --

    Copyright infringement is "piracy" in the same way DRM is "consumer rape"
  51. Why everything an outlet? by SuperKendall · · Score: 1

    Everything being an outlet sounds rather unpleasant to me. I almost never want outlets for controls because usually I'm just wiring actions to them. I need outlets for some elements to set values (like labels and so on) but I wouldn't want every container view to automatically have an outlet... it seems to me like you are programming against the model a bit there.

    Making things easier is the presence of things like macros/user scripts in objective C that take care of boilerplate for you.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:Why everything an outlet? by Sam+Ritchie · · Score: 1

      Because he's used to Winforms, which (by default) generates a private instance variable in your form subclass for every control you've dropped onto the designer. IMO it's an ugly carryover from the 'put all your code in the UI' VB6 days - I much prefer the arms length interaction between controller & view in Cocoa, notwithstanding it requires more manual connections.

      --
      This sig is false.
  52. Slightly OT: AOT by Vexorian · · Score: 1

    May I question why don't they use AOT for the Mono apps inside Linux distros?

    --

    Copyright infringement is "piracy" in the same way DRM is "consumer rape"
  53. Re:Give it up. by Anonymous Coward · · Score: 0

    M$ i$ never going to play nice, the $ooner you realize thi$ the le$$ time you will wa$te. They $crewed the IBM develop team with an inferior API that their own developer$ hated. They ba$tardized Java to $crew $un. They "contributed to" WI$E many moon$ ago to $crew all of Unix. How many time$ to you have to $ee other "partner$" get treated like pawn$ and one night $tand$ before you get the picture? To quote an internal memo,

    all through thi$ pre$entation previou$ly I talked about how youre u$ing the pawn$ [developer$] youre going to $crew them if they dont do what they want, and da-da-dah. You cant let them feel like that. If they feel like that, youve lo$t from the beginning. It$ like youre going out with a girl; forgive me ... it goe$ the other way al$o. Youre going out with a girl, what you really want to do i$ have a deep, clo$e and intimate relation$hip, at lea$t for one night. And, you know, you ju$t cant let her feel like that, becau$e if you do, it aint going to happen, right. $o you have to talk long term and white picket fence and all the$e other wonderful thing$, or el$e youre never going to get what youre really looking for.

    Welcome to the back $eat of Bill Gate'$ limo, Apple. NotNet i$ the flim$ie$t of condom$, I hope you've got better protection than that, but you really $hould not be in thi$ $ituation to begin with.

    Got any evidence? And plea$e dont cite BoycottNovell, that$ a circular argument. Provide valid $ource$ or own up that you are a troll. Word$ like "da-da-dah" $ort of give it away.

    --
    Friend$ dont help friend$ $wallow twitter'$ cum!

  54. whats the point? by velen · · Score: 1

    You still a Mac to develop this. It is very specific to the iPhone. The delegate model closely mimics the Objective C libraries. You still need to pay the Apple developer license for testing and deployment. It still uses XCode (which is free). It costs a few thousand dollars for the enterprise version in addition to the Apple fees.

  55. Re: Why not? by theolein · · Score: 1

    Your posts are usually good, but here you're just trolling. It should be obvious even to you as an Mac developer that there are far more people developing in C# than in ObjC. The iPhone is becoming popular in large enterprises and some of those might like to develop in house apps, and not having to hire ObjC developers or retrain staff saves money, and in the current financial climate that is very important.

    I don't think MonoTouch is meant for your average newbie with his first Mac and XCode in front of him. For one it's kind of expensive for that.

  56. Re: Why not? by theolein · · Score: 1

    Stop fucking trolling, man. Really. You're just speculating and you're sounding scared, that's all.

  57. Re: Why not? by Anonymous Coward · · Score: 0

    jcr is a known anti-ms troll. Its better to ignore him...

  58. Re:Don't. Just. Fucking. Don't. by 0ld_d0g · · Score: 0

    Some people want to develop in better dev environment... or *gasp* using languages they already know. I guess asking for rational thought from apple fanbois is a bit too much..

  59. RTFA by tiedemann · · Score: 1

    If you call compiled Objective-C interpreted... Monotouch will convert mono-style C# to Objective-C and then compile it.

  60. Re:Hard to compete with Objective C ???? by ptr2004 · · Score: 1

    If by "yet" you mean Mono released in 2004 and it still cannot be debugged on MAC OS X and lately iphone, you are correct Raj

  61. Re:Left fuckers by mrraven · · Score: 2, Funny

    Never, a Libertarian is just a greedball Republican who smokes pot.

    --
    Tired of all the isms, don't exploit people as an employer, or a government, mmmmK?
  62. Python, not yet by SuperKendall · · Score: 1

    I remember listening to a podcast a few weeks ago where it was stated that the nature of the compilation is such that some of the more dynamic languages (like python) would not work using this system.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  63. Re: Why not? by SanityInAnarchy · · Score: 1

    It shows that the implementor is unwilling to learn.

    Wow. So you just admitted my other point, that is, that another implementation language automatically implies half-assed ports.

    Is that really what you meant?

    No, that's my experience.

    In your experience, you've never seen a good port, or a good Mac app developed using a third-party framework?

    I sure as hell don't want to see them on the iPhone.

    You'd rather not have an app at all than have a half-assed port?

    And I sure as hell prefer to have choices of implementation language, even if others might develop it, then be forced back a decade or so in language development to use Objective C when there are better choices available.

    --
    Don't thank God, thank a doctor!
  64. Re: Why not? by jcr · · Score: 1

    You'd rather not have an app at all than have a half-assed port?

    Have you ever seen OpenOffice on the Mac? I rest my case.

    -jcr

    --
    The only title of honor that a tyrant can grant is "Enemy of the State."
  65. Lets see... by twoHats · · Score: 1
    1. C# is just a bad Java rip off

    2. What developer in their right mind would write apps for the freaking iPhone?

  66. Re: Why not? by SanityInAnarchy · · Score: 2, Insightful

    Then we'll have to agree to disagree.

    Back when I had a Mac, I much preferred having NeoOffice to having nothing but TextEdit. That's kind of a no-brainer.

    --
    Don't thank God, thank a doctor!
  67. Re:Launch Times? Pretty Good? by glennrrr · · Score: 1

    I went and bought Downhill Bowling which uses the unity 3D flavor of Mono, and the launch time is reasonably peppy at launch, taking 12 seconds on my iPhone 3G to the point at which I could press a button, which is about the same for the non-Mono Madden 2010..

  68. Re: Why not? by jcr · · Score: 0, Troll

    Then we'll have to agree to disagree.

    I guess so. Taste isn't for everybody.

    I much preferred having NeoOffice to having nothing but TextEdit.

    There has never been a time when those were your only two options.

    -jcr

    --
    The only title of honor that a tyrant can grant is "Enemy of the State."
  69. Re: Why not? by SanityInAnarchy · · Score: 2, Insightful

    Taste isn't for everybody.

    Nor is common courtesy, obviously.

    There has never been a time when those were your only two options.

    What would you suggest?

    --
    Don't thank God, thank a doctor!
  70. Re:Hard to compete with Objective C ???? by mrlpz · · Score: 1

    Which makes me wonder even more where the $399 is going for the personal developer edition....unless they're offering updates and support en perpetuetum.... I could understand $99.......but $399.......what in the heck is De Icaza puffing ?