Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Novell Programming Apple

Novell Bringing .Net Developers To Apple iPad 315

GMGruman writes "Paul Krill reports that Apple's new iPad could be easier to write apps for, thanks to Novell's MonoTouch development platform, which helps .Net developers create code for the iPad and fully comply with Apple's licensing requirements — without having to use Apple's preferred Objective-C. This news falls on the footsteps of news that Citrix will release an iPad app that lets users run Windows sessions on the iPad. These two developments bolster an argument that the iPad could eventually displace the netbook."
This discussion has been archived. No new comments can be posted.

Novell Bringing .Net Developers To Apple iPad

Comments Filter:
  • Easier? (Score:3, Interesting)

    by gyrogeerloose ( 849181 ) on Friday January 29, 2010 @09:56PM (#30958758) Journal

    I'm not a programmer myself so can someone tell me if C# really easier to use than C or Objective C as stated in TFA? Or is it just a matter of there being more people who are familiar with it?

    • Re:Easier? (Score:5, Interesting)

      by bheer ( 633842 ) <rbheerNO@SPAMgmail.com> on Friday January 29, 2010 @10:01PM (#30958804)

      Objective C is not a hard language to learn: it's a sibling to C++ in that both tried to add OOP to C. ObjC as used on the Mac combines the best of both worlds -- you get pointers for low level control, *and* a nice OO framework/API and niceties like garbage collection. And of course OS X is beautifully designed, none of the back compat cruft that makes one want to stay away from Win32.

      Where C# wins over ObjC though is its similarity to Java (which in turn is fairly comfortable to C++/C programmers).

      • and if someone likes Java, XMLVM is pretty decent at getting software you already have, translated to something that will run on the iPhoneOS.
      • I think the message sending syntax was a little bit strange to get used to. The idea of intermixing names and parameters just seems odd. Still, when I had to do something in Obj-C I was up and running in less than an hour.
      • Do we get garbage collection on iPhone OS? Last time I check, like several months ago, it was a no.
      • Re:Easier? (Score:4, Informative)

        by shutdown -p now ( 807394 ) on Saturday January 30, 2010 @02:57AM (#30960342) Journal

        ObjC as used on the Mac combines the best of both worlds -- you get pointers for low level control, *and* a nice OO framework/API and niceties like garbage collection.

        It should be noted that this is equally true for C# - it also has raw pointers [microsoft.com] and related stuff [microsoft.com] available for when you need it, but otherwise it's fully OO, runs under VM with GC, and so on.

        Out of my head, I can think of a few advantages either one has over the other.

        C# advantages:
        - namespaces
        - generics, so all collections can be statically typed
        - first-class functions and lambdas (closures) with argument type inference
        - LINQ query comprehensions (a la Python's "[x for x in ...]", but much more extensive - covering sorting, grouping, joins etc.
        - portable code generation with JIT(System.Reflection.Emit & DynamicMethod)
        - mark-compact generational GC (ObjC one is a conservative mark & sweep, which means that it's both slower and suffers more from heap fragmentation)

        ObjC advantages:
        - truly dynamic dispatch, objects can intercept unknown messages sent to them, redirect them etc
        - duck typing (C# is going to have it [microsoft.com] in 4.0, though, which is right around the corner)
        - can avoid GC altogether even when using all OO-related language facilities, which can have some performance benefits
        - can use C/C++ libraries directly, no wrapping or FFI declarations needed
        - gcc generally produces better optimized code than .NET JIT, much less Mono JIT

        In general, I'd say that C# is a little bit more high-level, but overall the preference for one or another depends on whether you like static or dynamic typing more. ObjC provides more features to go with the latter, but can be type-unsafe at times (e.g. due to non-generic collections).

      • by account_deleted ( 4530225 ) on Saturday January 30, 2010 @06:23AM (#30961104)
        Comment removed based on user account deletion
    • I'm not a programmer myself so can someone tell me if C# really easier to use than C or Objective C as stated in TFA? Or is it just a matter of there being more people who are familiar with it?

      C# is easier to work with than C for many people, but not significantly easier than Objective C. C expects that you have some awareness of memory allocations and whatnot, but higher level languages insulate you from a lot of the details and let you worry more about your actual application.

      The advantage that C# has ov

    • Re: (Score:2, Interesting)

      by zullnero ( 833754 )
      C# is a lot easier and cleaner. Don't listen to the plethora of Apple and Linux fans...there's a reason Mono is still around and people invest in it. Without going into too many technical details, C# is just a flat out better language than C++. Objective C just isn't that great an improvement. C# really comes a lot closer to bridging the difference between Java and C than Objective C could ever do. I've done all of the above aforementioned languages professionally, so I'd know. My preference is C#. T
    • I'm not a programmer myself so can someone tell me if C# really easier to use than C or Objective C as stated in TFA?

      It is on Windows. But I don't think it is on the iPhone.

      Even though MonoTouch has done an excellent job bridging over into the Apple frameworks, you can never get that kind of stuff a 100% match. The thing is that these days any modern language is actually a lot less important than the frameworks behind it - would Ruby have gained so much traction without Rails for instance? Similarly the

  • Apple to Oranges (Score:4, Insightful)

    by anglophobe_0 ( 1383785 ) on Friday January 29, 2010 @09:56PM (#30958762)
    The iPad is one product...Netbooks are a genre of device. Add to that the aversion of folks like me to using anything put out by Apple, and I don't see much chance of the iPad replacing a whole genre of DIY-friendly hardware.
    • Re: (Score:3, Insightful)

      by Draek ( 916851 )

      And then there's the whole issue with pricing, which was the whole reason the netbook movement caught on in the first place. $500 may be cheap for a tablet PC, but it's certainly not for a netbook replacement.

  • Nothing new here (Score:5, Insightful)

    by BitZtream ( 692029 ) on Friday January 29, 2010 @09:56PM (#30958768)

    Jesus christ stop with the Apple spam.

    There are already RDP clients for the iPhone and Mono Touch isn't freaking new.

  • by sakdoctor ( 1087155 ) on Friday January 29, 2010 @09:57PM (#30958770) Homepage

    It's getting like Steve jobs twitter page around here.

    • Re: (Score:2, Funny)

      by Anonymous Coward

      I won't be interested until these stories link to Australian sites.

  • by phantomfive ( 622387 ) on Friday January 29, 2010 @10:01PM (#30958800) Journal
    As someone who's programmed both in .net and for the iPhone, I can't imagine that being able to program in .net would be an advantage. Both are adequate for making windowing systems, but the paradigm is different.

    Seriously, Objective-C isn't that hard; if you can't learn it in a day or two (or at most a week) then you are probably not a professional programmer.
    • iPhone has no garbage collection, for one thing.
      • iPhone has no garbage collection, for one thing.

        That's an iPhone thing, not an Objective-C thing. Apple has explicitly stated the iPhone won't support garbage collection for performance reasons.

        • Re: (Score:3, Informative)

          by jisatsusha ( 755173 )
          We're specifically talking about developing for iPhone/iPad. Why does it matter that "Objective-C" does have garbage collection, if you can't use it? It's one advantage that this Mono/.NET thing would have, that makes things easier for developers.
          • by furball ( 2853 ) on Saturday January 30, 2010 @12:15AM (#30959608) Journal

            Garbage collection doesn't save you from leaks. A developer still has to be conscious of memory usage even in systems with GC.

            At the same time, Xcode offers static code analysis that tells you when you are leaking memory at compile time. There are a lot of language innovations in Objective-C that is noteworthy. As the iPhone's hardware capabilities catches up (that A4 chip sure is interesting), I'd expect to see GC and the introduction of blocks into the iPhone SDK.

            • Re: (Score:3, Interesting)

              by Anonymous Coward

              Somebody buy this man a beer. It's on me.

              I just spent the last week cleaning up some Java code written in India. As you can imagine, it's pretty fucked up to begin with. It was even more fucked up when I saw them holding references to large objects (in one case, arrays with over 5 million items each) in private static member variables, and then in comments bragging about how the garbage collector will take care of them! The worst part, though, is that nothing even referenced these member variables. I couldn

      • I don't see why people are so obsessed with garbage collection. Automatic garbage collection should be used sparingly. If the "ownership" of an object is not clear, or could not be efficiently tracked, or if you cant be sure if all the entities holding the pointer or the reference have to release it then you should use garbage collection. But blindly using it for classes that will be instantiated in the millions of instances where the ownership and referers are clearly known and can be notified automatic g
        • Re: (Score:3, Informative)

          Eventually came to C++ and saw everyone using new and delete left right and center and I naturally assumed it would have trivial cost. Imagine my surprise when I actually ran the comparison benchmarks. With modern math coprocessors, a sqrt() is just three times mults, sin() is about 14, hyperbolic sine, logarithms are all about the same, inverse trig functions were around 25-30 times the cost of a mult. You know what? A simple push_back() or push_front() to an std::list is around 180 to 200 times as expensive as a mult. Throw in automatic garbage collection on top of this, you are looking at some serious performance degradation.

          By the way, this is actually a very wrong way to go around this. Memory allocation in C and C++ (and other languages with memory allocation) is expensive precisely because they don't have compacting GCs - it means that allocation algorithm is that much more complex (and time-consuming), as it has to search for a fitting free block, and update the corresponding memory structures. And, as you keep the program running, and the heap gets fragmented more and more, allocation performance gets worse.

          In comparison,

  • by Darkness404 ( 1287218 ) on Friday January 29, 2010 @10:22PM (#30958974)
    I'm not seeing the iPad displacing the netbook even with .net. The problem isn't that developers can't develop well, the problem is that Apple doesn't let developers do much with iPhone OS. The nice thing about a netbook or a cheap laptop is I can run multiple things. I can keep my Facebook open, my IM open, play music on YouTube and type on a document all at the same time. These are basic things that people do daily, the lack of a major component of today's web (Flash) and the lack of an ability to multi-task is going to kill any chance the iPad had to survive much faster than anything else other than the steep price.
    • by SuperKendall ( 25149 ) on Saturday January 30, 2010 @12:08AM (#30959572)

      The problem isn't that developers can't develop well, the problem is that Apple doesn't let developers do much with iPhone OS.

      I guess all 140K applications do the same exact thing? Since Apple "doesn't et you do much".

      The reality is that Apple has a few areas they don't let you go, but everything else is wide open.

      The nice thing about a netbook or a cheap laptop is I can run multiple things. I can keep my Facebook open, my IM open, play music on YouTube and type on a document all at the same time.

      And on an iPad (or iPhone) you can play music while you type a document, and get a stream of notifications when there's some new twitter or facebook post you really care about. Or you can write and jump quickly into a twitter/facebook app to see what is going on and jump back - because the device has been optimized for that use, unlike a traditional PC where application startup is more expensive and lengthy.

      These are basic things that people do daily, the lack of a major component of today's web (Flash)

      What? Where is is major use? It's widespread to be sure, but I question that it is such an important aspect of using the web today. I installed ClickToFlash on Safari about a year ago, and the ONLY flash I have had occasion to click on to see have been videos - all on sites that simply feed the h.264 the flash video player is already using under the covers, directly to the device. In the meantime I have also been spared a horde of annoying, battery sucking ads - and I never did believe in adblock because I like supporting sites. It's just that the number of Flash elements per page was getting to be absurd, with a ton of Flash overhead consuming the CPU.

      Other than video use, the other major use of Flash is web based gaming - are you really arguing the iPhone/iPad platform is hurting for free casual games? There are so many games out now you could probably play free trial or ad supported versions of games for a year straight before you ran out of things to try. There is no Flash based game so compelling it would make people choose a platform, EXCEPT possibly for Farmville due to the large number of players who would like constant access to it. But there I imagine we'll see an iPhone app at some point.

      • I guess all 140K applications do the same exact thing? Since Apple "doesn't et you do much".

        Just because you can build a lot of things with wooden building blocks doesn't mean you can build everything with them. While it is true that there are a lot of applications you simply can't -do- much. Lets see here, no multi-tasking, no "competing" with Apple's own offerings, creative freedoms are stiffed with censorship, little developer-Apple communications, etc. Even when you make an application who knows when it will be on the market or if it will ever be.

        The reality is that Apple has a few areas they don't let you go, but everything else is wide open.

        ...and a lot of those "few areas" are things

  • Missing Remoting (Score:2, Insightful)

    by chrpai ( 806494 )
    I'd be very interested in this but the last time I check it doesn't support .NET's remoting API's such as webservices. I'd want to be able to make rich thin clients that talk to application layer servers but Apple always make sure the garden is well walled.
  • by 93 Escort Wagon ( 326346 ) on Friday January 29, 2010 @10:59PM (#30959216)

    Shouldn't we be waiting until, oh I don't know, the device actually is released and we can see how this whole thing plays out?

    It's almost like Slashdot is perpetually trying to make up for that whole "No wireless. Less space than a Nomad. Lame." thing.

  • by seebs ( 15766 ) on Friday January 29, 2010 @11:09PM (#30959260) Homepage

    Objective-C rocks, really. But! If you don't know it, and you have an existing code base in C#, maybe this would be useful. I guess. I think this is not aimed at making iPhone/iPad app development easier in general, but rather, specifically for people who are already using C#. In which case, it's not totally stupid. Just mostly stupid.

    FWIW, I'm currently at the "okay, that's the basic functionality, now what do I do next?" phase of developing an iPhone app. From "never even looked at the docs" to "working multitouch and graphics" took me, oh, a good solid two evenings.

  • by Anonymous Coward on Friday January 29, 2010 @11:34PM (#30959400)
    So a Linux company is bringing Microsoft development to an Apple device? And it's STILL useless?
  • by aristotle-dude ( 626586 ) on Saturday January 30, 2010 @12:15AM (#30959604)
    When I joined my current employer, I did not know how to write in perl but I learned quickly and took over development of our first e-commerce service and we launched on time. During my time there I've learned perl, VFP, C#, Python and Java.

    If you want to learn how to develop for the iPhone OS then you need to learn Objective-C.

    I don't care if you have an existing codebase in C#. You are going to have to expose your code as generic webservices anyway since Mono for the iPhone does not support .NET remoting anyway. Once your "cloud" services are available as standard web services, they can be accessed by any language and it makes sense to learn the main native language of the iPhone OS platform.

    Trying to use Mono Touch as a crutch smacks of laziness and fear of learning.

    • by RzUpAnmsCwrds ( 262647 ) on Saturday January 30, 2010 @02:18AM (#30960130)

      I don't care if you have an existing codebase in C#. You are going to have to expose your code as generic webservices anyway since Mono for the iPhone does not support .NET remoting anyway.

      Right, because the only type of applications is a thin client that connects to web services.

      Maybe you have an existing codebase that you want to run on the iPhone.

      Trying to use Mono Touch as a crutch smacks of laziness and fear of learning.

      No, it smacks of wanting to re-use code to deliver a solution at lower cost in less time and with fewer bugs compared with trying to rewrite things from scratch.

  • by DragonWriter ( 970822 ) on Saturday January 30, 2010 @01:36AM (#30959932)

    How does being able use C# or run windows sessions on the iPad enable it to displace a netbook? About the only place they overlap in functionality that they are both really good for is that they are both good for browsing the web and interacting with web apps that don't require lots of text input.

    Beyond that their functionality diverges. The iPad is a slightly better ebook reader, is better for certain types of applications (particularly, though not exclusively, those involving fairly passive media consumption.) A netbook is better for anything that requires lots of text input -- I wouldn't want to take notes in a meeting or class on an iPad, or write a substantial document on one, both things that netbooks are good for. Netboooks are also substantially cheaper -- the least expensive iPad model is at the high end of netbook prices, the 11.6" Atom Z520 powered netbook I got a couple days ago that I'm typing this on was half the price of an iPad. (And it has a SIM card slot and 3G capablity, which I'd have to pay another half the price of the netbook on top of the minimum price of an iPad to get on iPad.) Its also got much more storage than the high-end iPad. And you don't need another whole computer with iTunes just to be able to use it. Its perfectly possible for someone who doesn't have heavy computing needs to have a netbook as their only computer -- an iPad can't fill that role as long as it is dependent on a "real" computer with iTunes.

Ocean: A body of water occupying about two-thirds of a world made for man -- who has no gills. -- Ambrose Bierce

Working...