RemObjects release a new Oxygene version + C# sister product

I’ve just noticed RemObjects have released a new Oxygene version together with ‘RemObjects C#’, a C# sister product that was codenamed Hydrogene – check out the announcement here. The improved cross platform support sounds interesting (traditionally, the Oxygene language would differ somewhat depending on the target platform), and in the case of RemObjects C#… well, it seems a competitor is a bit rattled!


Dearie me – read that and you would never guess that when it comes to targeting Android, Delphi and Xamarin are on one side of the fence and Oxygene and RemObjects C# the other, for better or for worse…


And now we get this…


At least Delphi has done generics on OS X since 2011 😉


5 thoughts on “RemObjects release a new Oxygene version + C# sister product

    • I’m neutral on the spat. If you read through down the Twitter conversation he highlights the failure to support generics on iOS… and frankly, I think he has a point, even if his initial Delphi reference was silly (generics are a standard Delphi feature!). After initially denying it to be an issue, Marc Hoffman then does an about-turn and claim a beta of iOS generics is imminent. Hmm…

  1. It’s an initial release so it’s hardly surprising some things will be missing. RemObjects has some pretty bright people working on their products so they’ll plug the holes. They know what those holes are better than anyone. It does seem much easier to translate the Objective-C documentation into the RemObjects C# variant, though. Since there’s such an obvious technical differentiation between the efforts it’ll be interesting to see how things go. I wish them both the best, but my money already chose RemObjects around 2004 so I’m not the most unbiased observer.

    Now I need a half decent idea for an app to try the update out with. Hmmm…


  2. FTR, i never denied that we didn’t support generics for Objective-C classes (which doesn’t support generics in the runtime). i only argued that that doesn’t make make the language “a subset of C# 1” (which btw. didn’t have generics at all) or a “Delphi with curly braces” (duh. right?).

    The issue is this: Cocoa objects don’t support generics. The runtime has no concept of them. “RemObjects C# for Cocoa” is first and foremost a native C# for Cocoa/Objective-C objects (just like C# on .NET is a language for IL objects, and only started supporting generics when .NET 2.0 added generics support to the .NET runtime). In fact, despite that being the case, RemObjects C# does “genericize” some classes, such as NSArray, where it makes sense.

    On top of that, generics really aren’t that important on Cocoa, as anyone even passingly familia with how Cocoa works will admit and know. When first came to Xcode in 2007, i though “that the heck? no generics? How quaint.” Our design for RemObjects SDK for Cocoa even shows some artifacts from me thinking that. In real life, it’s not been 6+ years and i never once missed them.

    That said, we’re enterprising folk, and we’ve (since RemObjects C# locked for for its first release, which was quite a while ago) have come up with ideas how we *can* support generics, for user-defined objects, on Cocoa, in a way that does fit in sorta nice with the platform/

    So that’s a feature we’re adding in the next release (and Carlo has in fact finalized that feature yesterday, so it will be in friday’s beta drop for the April update).

    The release we shipped last week was essentially “1.0”. over the months and years, we’ll have many updates and will add *many* new capabilities. I don’t consider that an “about face”. That’s normal product evolution (which just happens a bit faster here at RemObjects than it does at some other compiler vendors ;).

    I hope that makes sense, and explains the generics issue a bit.


  3. “At least Delphi has done generics on OS X since 2011”

    FTR though, Delphi for OS X does not generate Cocoa classes. and Delphi classes do not run on and directly interact with the Objective-C runtime. (Nor does Mono).

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s