views:

1641

answers:

26

What are the programming languages you have used / are using now to write applications for Mac OS X? What kind of applications have you developed?

A: 

I've developed multimedia apps in Tcl (binary distributions here), with some parts in C. Tcl is cross-platform so this means that apps run with minimal or no modifications on Windows or Linux as well.

fbonnet
+1  A: 

Objective-C for Cocoa apps, Flex/Zinc for other apps (cross platform) and PHP/Rails for webby stuff. We also have a cross platform C++ app, but I don't get involved with that :-)

Steven Robbins
+2  A: 

Java for uni work.

Adam Taylor
+1  A: 

C and C++ using XCode

Vinay
+5  A: 

Mostly Ruby and it I were to write a GUI for it, I'd probably use RubyCocoa. There is also this thingy called Shoes to write GUI applications. See there too.

Keltia
I mostly try to do web applications but when I have to do OS X apps I use Ruby. If I need a UI i do it in JRuby with monkeybars (http://monkeybars.rubyforge.org/) so that I can use it cross paltform.
maz
+5  A: 

Python, both with and without Cocoa bits.

Objective-C.

ANSI C, Scheme, Prolog and Java - but the stuff I write with these could run anywhere.

Matthew Schinckel
+1  A: 

Free-pascal/Lazarus for cross-platform applications that I can use easily on Linux/Windows. Mainly command-line number-crunching and signal processing, but the occasional GUI app (ported from Delphi)

RobS
+1  A: 

The same ones used on any other operating system, with the major exception of Objective-C for Cocoa applications.

You won't find that many operating-system specific languages, so a better question would be about popular frameworks and libraries, especially in the case of GUI stuff.

Tiberiu Ana
A: 

Personally, I use php and mono (c#) for commandline stuff and Cocoa (objective c) from time to time for UI work.

Haven't been doing much GUI lately, well nothing that wasn't strictly web based anyway.

Mostly, I do automation stuff. for example: Script to keep my desktop clean and the files moved away from it organized.

Last GUI thing I did was a WOW launcher where the user could choose a realmlist file before launching the game. Did a Cocoa version for Mac OS X and a Windows.Forms (c#) version for windows, That was just about when the Burning Cruisade was all the rage.

Kris
+4  A: 

Squeak :)

nes1983
Really? What kind of stuff have you been writing in Squeak?
Chuck
Umm, some. I've been working on some small demoes. These days, I made this todo manager in Seaside: http://todo.seasidehosting.st. But, umm, something's wrong with the security plugin, i don't manage to write my DB to disc, so, currently, the db is wiped every time I update the image.
nes1983
A: 

Python for the desktop/console stuff, and some PHP for the intranet server's app.

Unkwntech
All of my server-side stuff is in python, now. That's one of the reasons I took this job!
Matthew Schinckel
I know PHP MUCH better then I know Python so I'm a bit partial to it.
Unkwntech
A: 

Java/groovy for a desktop app, objective-C for iphone, ruby/rails for most other stuff.

frankodwyer
+3  A: 

I use (mostly) C for command-line stuff, Objective C for GUI things.

For command-line work, I tend to be writing deliberately cross-platform, whereas GUI work is exclusively targeting Mac OS X. I've been programming in C for approaching two decades now, so it's a case of best tool for the job. Really, though, it's a matter of what you're comfortable with and can get the job done and (if it's GUI work) what allows you to produce a decent fluid UI.

Mo
+1 for C on the command line. C programming starts to feel like an underappreciated art sometimes.
Chris Lutz
+1  A: 

I use Python for command-line programs, or C in the rare event that I really need the performance benefit.

Of course, for GUI apps, I use Objective-C in conjunction with Cocoa.

mipadi
A: 

Java + Groovy

Seymour Cakes
+1  A: 

In the past I have used RealBasic. Heavily. It was nice.

hunterjrj
A: 

Mostly Java (even though it's a HUGE pain...the Apple version of Java is just different enough in minor aspects that I could never get things working when I had to collaborate with a group of people who primarily worked in Windows). I've also done Python, Lisp, and C++ in the past, as well as various web technologies (JSP, etc).

HappyCodeMonkey
+2  A: 

I'm using Python, PHP and thinking about learning Ruby.

At uni I also used C, Java and Haskell.

One day I want to learn Obj-C but my work doesn't mean I have need to.

Teifion
A: 

Cocoa-Java. It's not very nice and fairly poorly supporter in my opinion, although back in the day Apple claimed it would be almost a first-class application environment.

Coxy
A: 

Java for university assigned work - I'd totally recommend the netbeans IDE!

Malachi
Ugh. NetBeans bites. I wound up using Xcode's editor and 'javac'.
Matthew Schinckel
+2  A: 

REALbasic for commercial cross-platform work, currently accounting and warehousing systems.

Objective-C and C++ for desktop apps partly because I'm targetting iPhone and partly because I have a large legacy code base with PowerPlant GUI I'm converting.

Python and Ruby for various utilities including sizeable code generators.

XSLT via the Saxon jars for document conversion including a REALbasic to Java class converter to preprocess for Doxygen.

Andy Dent
+1  A: 

REALbasic for desktop apps. I've done a lot of graphics/pre-press production utilities with it. RB has really evolved nicely over the past few years. It's worth checking out.

I use Ruby for very quick console based scripts as well as with Rails for web-apps.

daustin777
A: 

I mostly use Perl and C. I'll be delving into GUIs soon, probably with Perl or C using wxWidgets or GTK+. (I'd love to learn Objective-C, but it's syntax seems relatively foreign at first glance, and I'm not sure where to start. Any book or tutorial suggestions on where to start learning Objective-C would be appreciated.)

I know some PHP (it's a huge language, and I have to poke around the manual a lot), but I don't use it. As a scripting language it feels awkward, so I don't get much experience with it outside of slowly building a few websites for myself.

I've also poked around with (forgive me) NASM and assembly language, and I've discovered that OS X's choice to use the Mach-O file format seems horribly misguided (4000 bytes for Hello World - compare to about 400-600 on Linux), but there may be other benefits I just don't see (like the supposed ability to store PowerPC and Intel code in the same executable). Assembly on OS X is like assembly on *BSD, except for NASM you use -f macho instead of -f aout. Otherwise, the kernel calls are the same, as is the calling convention. But a lot of assembly coders don't touch OS X, and so it's hard to find good OS X assembly code to learn from. Just so you know.

Chris Lutz
+1  A: 

All my Mac OS X development is done using REALbasic. I primarily build database applications for my consulting clients.

Paul Lefebvre
A: 

I use RealBasic. Object Oriented Language, Cross-Platform with the ability to use external declares if needed. The company has a 90-day release policy that helps improves stability and capability over time. I'd highly recommend it.

I use Objective-C for iPhone development. XCode is terrific, but not inherently cross-platform.

Also, the support community around RealBasic is as good as any out there. This can't be underestimated.

Jordan
A: 

Objective-C with Cocoa Framework

Holli