I am thinking to develop a few programs for Mac to see how everything is on this side. The problem I have that I can't find any good documentation how to make something visible. First of all, I would like to find out which language should be the main for the work. As I can see there are just a few possible options: - C++ + Cocoa - JAVA + Cocoa - Ruby/Python + Tk (8.4 supports native Aqua) - Mono + Cocoa# I was not able to find first two options documentations or any other more informative examples. Ruby + Tk already tested and it works, but everything is completely 100% open for people. Just open with any kind text editor and you can edit code. While the last one looks the best. Mono, C# and .NET on the Mac. Plus, it is very well documented, very easy to program, but I think it's not the common way how the programs are written in Mac. And JAVA as always requires a lot more from your computer. I would like to know which one would you choose or you are using and of course why? Or maybe you are using Object-C, which doesn't sound nice for me. And where could I get some more examples, full documentation about programming in those environments using Cocoa? Any other suggestions where should I look? EDIT: The best documentation for JAVA should be here: http://developer.apple.com/documentation/Java/index.html (as I assume) EDIT2: "Using Python and the PyObjC bridge gives you the best of all worldsPython and Cocoa." "Welcome to the homepage of the RubyCocoa project, a bridge between the Ruby and the Objective-C languages, allowing you to manipulate Objective-C objects from Ruby, and vice-versa. It lets you write full-stack Cocoa applications in Ruby. It is also possible to write a Cocoa application that mixes Ruby and Objective-C code." I think it answers some of the questions, that I should not use any other libraries. (expect this framework for ruby) EDIT3: It looks like Object-C controls the life in Mac. Right now I have some more information about the programming in JAVA, Python, Ruby. EDIT4: Found out about Objective-C 2.0, which looks a lot better from older version. It uses dot-notation that makes it understand more easily. EDIT5: Python and Ruby programs should be easily editable by any users. These languages are scripting languages. And this is one of their minus.