Alex Rivera | Logout

Windows development using Objective-C

Asked 2010-12-09T02:20:22.663
9

Having recently read up a on Objective-C it strikes me as a fairly neat language with plenty of cool features.

I have no intention of doing any iPhone development, however I understand that GCC is able to compile Objective-C code and so I wanted to know - Is Objective-C a viable alternative language to C99 for Windows development?

In particular:

  • Is anyone currently doing Windows development using Objective-C?
  • Are there any runtime components that would need to be distributed with my applications?
  • I understand that Objective-C is a superset of C, does this mean that it is possible to use any C-compatible library? (for example the Windows API)
  • Would I get garbage collection in my applications?
  • I've found Cocotron and GNUstep which are often mentioned when talking about using Objective-C on other platforms, however as GCC can already be used to compile Objective-C I don't really understand why I would need these.
  • Are there any other pitfalls or traps I might run in attempting Windows development using Objective-C?
Edit
Report

1 Answer

0

There is no mature solution yet. If you develop the solution itself, you can do it anyway. But if you're not, it's not the time.

For compiler tools, there is LLVM/Clang which are open-source under BSD license. The compiler is sponsored by Apple, so it compiles Objective-C completely, and is becoming primary compiler for Apple. So compiler is no problem anymore.

Problem is runtime environment library. Objective-C language is depends it's runtime to execute. The runtime defines all behavior of object system and some more. Runtime environment library is core system and different with framework library like Cocoa or Quartz. in .NET, it's CRE, not .NET framework class library. Without runtime, program cannot be executed like .NET program executed on Windows without .NET runtime.

For more details, check this conversation: http://lists.cs.uiuc.edu/pipermail/cfe-dev/2010-January/007593.html

answered 2011-01-24T20:11:23.670

Your Answer