Alternative Development Systems for the Mac
Carlos Camacho writes "Programmers new to the Mac platform, as well as newbie Mac coders often ask (or complain) about available development tools. Most often, Apple's Xcode is recommended since it is free, and a pretty slick package. For cross-platform work, Metrowerks CodeWarrior series has been with us since the early PowerPC days, and is very flexible in its support for multi-platforms. But with if you want to work in a language other than Objective-C,C, C++ or Java? Or learn an entirely new language? How does the Macintosh fare? iDevGames, a site devoted to Mac game developers, has put together a list of "alternative" development tools for Mac OS X. A good number of the tools listed are either free, or low-cost. So, if you're interested in playing around with Lua, Ruby, something similar to HyperCard, or one of the many BASICs, check out "Alternative Development Systems for the Mac.""
the performance isn't there. nor is the reason. why bother with C#/Cocoa# when you can use java/Cocoa and it's shipped with every mac already, and it has better performance (hotspot is way better than mono's vm right now). not to mention the dev tools for java in os x are about a million times better than anything for C#. (intellij, eclipse, xcode...)
- tristan
RealBasic, IMO, is the best cross-platform RAD tool in existence today. Not that there is a ton of competition...
.exe file on Windows, one .app bundle on MacOS X... no DLLs whatsoever. That's a huge plus for me. A drawback is that it relies on Quicktime to present some media formats, such as PDF, and most Windows machines don't have Quicktime installed.
.dll files with version conflicts. Instead, they're advertising it as some stupid game development tool, wasting their time maintaining a "sprite surface" object and an entire 3D framework based on, get this, Quesa, which is in turn based on QD3D... two obsolete technologies layered atop each other. Let me save you some time: RealBasic SUCKS for game development. It has no native support for OpenGL or any decent sound libraries.
It's a somewhat Java-like Basic syntax, completely object-oriented. It has the capability to use ODBC (on all platforms that support it), native widgets, many types of network sockets, etc. An install on every platform consists of copying a SINGLE file, one
On, the other drawback. The developers and marketers of RealBasic have their head in the sand and have NO CLUE what they are working with. With about 1 minor revision and a decent-sized advertising campaign, these guys could conquer and destroy Microsoft VisualBasic. RealBasic does everything VisualBasic does but cross-platform and without reliance on numerous
Since this is Slashdot, I'll also say that RealBasic includes very very skeletal Linux support, but I think Redhat only. I could be wrong, I don't use Linux.
Pretty much the only competition is Macromedia Director and Runtime Revolution... both of those produce alien-looking not-quite-native interfaces. (Although at least Director is good for game development.)
http://realbasichelp.com/ is the best forum on the web for RealBasic issues and questions.
Comment of the year
Oh, it'll allow you to do both, but only at specified save points.
It doesn't mean much now, it's built for the future.
Squeak is the modern Smalltalk implementation. It supports opengl, quicktime, widgets, networking etc. It is cross platform and runs on Windoze, Linux, other unices, Mac OS X, PDAs etc. http://www.squeak.org/
I'd recommend SuperCard. When Apple abandoned HyperCard, they left a big void. SuperCard is OS X native and has excellent HC compatibility. Of course, it's far from a HC clone, as it it has all the things you'd expect from a development environment these days.
SC allows you to build standalone applications playing movies with QuickTime, displaying graphics with alpha channels, running shell commands and AppleScripts, etc...
I also personally use Runtime Revolution, and it's also good, and cross-platform. However, for Mac-only development, SuperCard definitely has my vote. It uses true Aqua GUI controls, and behaves like you expect Mac apps to do.
Here's a few Mac apps I develop with SuperCard: http://www.lightheadsw.com/
Sig Nature
Objective-C is slow, it eats memory, and its syntax is very verbose. Most languages don't have 120-some character method names. And for all that, it's still unsafe, and has very little in the way of static type-checking, and no garbage collector (a refcounter where you have to twiddle references a lot doesn't count). I would not call it "the most developer-friendly language every created." I'd much rather code in Python or O'Caml.
You want fast and a garbage collector?? Objective-C is slow? Um... not terribly. Large memory footprint? Not unless you're forgetting to deallocate objects, or just have a bad design. 120-some-character method names? Not typically, and verbose method names are actually good, if occasionally overdone. Yea, it's unsafe, it's a superset of C, of course it's unsafe. You really think Objective-C is less memory-hungry than Python or O'Caml? Interesting... I'd like to see your benchmarks there. It's clear we have different ideas of what makes a language developer-friendly. Access to C routines makes Objective-C developer-friendly in my book.
C is not a good choice for anything but the core of most games, as it is too developer-unfriendly and lacks in features (like OO, anonymous functions, garbage collection...). While excellent for low-level code, it's not really in the running for high-level.
C is great for the core of most calculation routines of any type. Which is how it is often used in the context of an Objective-C program. You don't always need high-level.
C++ is a good language for games, but many people would rather have something higher-level. It's unsafe, but many people will overlook.
Now you're making me wonder how many Python or O'Caml games there are out there. I guess there must be a few... any commercial ones? C++ when written correctly is awfully high-level, no? I can't belive you'd complain about Objective-C syntax and not C++ syntax...
Java is slow and verbose, and therefore painful for game development.
First, slow compared to what? Link me up with that Java/Python benchmark comparison. No, really. Something tells me you might just be making this stuff up, repeating something you read somewhere or something. Java used to be slow. Starting up a JVM can be slow. Some Swing drawing routines on some platforms can be slow. I'm also wondering, huh, do you think of programming in terms of anything besides games? Again, verbose in a programming language == readable == very good.
Maybe they want to code in Python?
Power to you. XCode documentation even has pointers as to how to set up a project for Python. Is Python sytax really less verbose than Objective-C? Is it really faster? Does it really have better, more complete libraries? Is there really a reason other than "I want to", which- don't get me wrong - I think is great reason... just maybe not one you can sell to the other folks working on your project, if you get my drift. Really, yea, Python is cool, but... why not Objective-C, again?