On 28 January 2012 16:35, Michel Fortin <michel.fortin@michelf.com> wrote:
On 2012-01-28 10:08:36 +0000, "Nick Sabalausky" <a@a.a> said:

What's the current state of D on iOS and Android? I know someone has been
working on connecting D up to Objective-C somehow, and either GDC or LDC has
at least partial support for Arm (but with some caveats, right?).

Has anyone actually made anything in D on iOS and/or Android? It is feasable
yet? (On just one, or on both?) If not, what's needed?

You're thinking about D/Objective-C I think.
<http://michelf.com/projects/d-objc/>

But DMD has no ARM support, and currently my additions only generate binaries working for the legacy Objective-C runtime -- because DMD was 32-bit at the time and 32-bit Mac OS X uses the legacy runtime -- so you have four problems still to solve:

- iOS uses the modern Objective-C runtime, which is not supported by my work.
- D/Objective-C is starting to get old, and somewhat out of sync from the main DMD tree.
- DMD generates only code for x86, you'd need to port my changes to GDC which is not trivial since many things are done in the glue layer. But then perhaps GCC already has all the necessary code to build Objective-C object files.
- Bindings, you'll need to generate them somehow.

I don't have much time for this right now, but if you want to continue my work I can give you some more directions.

There's one problem with using D to write iOS software though, Apple strictly require that any apps submitted MUST use their XCode toolchain.
I think D is much more interested for Android at this stage, since it's open, has a good native layer/libs, and is a VERY compelling language to replace the Java layer in most Android apps.