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.""
Before you flame me as a troll, the Mono Project does have a Framework installer for OS X. so you can develop under Mono and have a app run on a Mac.
Has anyone ever used Runtime Revolution? I remember this system in the days before Java, and its quite surprising that its still around .. because I've never heard of or seen anyone ever use it to write an application ..
Is this just because its mostly a business-logic style app development environment, or have I just not been paying enough attention to 'strings somerunrev.exe'?
(Anyone remember Vibe?)
; -- the corruption of government starts with its secrets. a truly free people keep no secrets. --
I'm surprised Flash and Director didn't make the list. Some of those tools I've never heard of and I did a pretty long search for a crossplatform game development tool not too long ago, when I decided RealBASIC wasn't going to cut it for me.
Alex.
A million different cheez-o basic versions listed, but they forgot eclipse ...
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
There are a few Common Lisp implementations as well
Open Source:
Open MCL
SBCL
Commercial:
Macintosh Common Lisp
Allegro Common Lisp
Xanalys Lispworks
But with if you want to work in a language other than Objective-C,C, C++ or Java?
The only "gotcha" about programming for the Mac outside these languages is that access to native APIs (Core Foundation, Quartz, QuickTime, etc.) becomes dependent on the tool maker providing wrappers.
So, while using other tools for RAD, educational or hobbying purposes might be possible; it's easy to miss out on some of the most intriguing and interesting (IMHO) programming possibilites for the Mac.
Of course, if you're just interested in programming on the Mac as opposed to for the Mac, then this isn't an issue.
I appreciate the mention of PyGame, as Python is presently my language of choice for fiddling around. I have recently started using Python and I really enjoy it, and it's odd to see Python based solutions left out of discussions where they are relevant.
It's almost like there are a large group of people who take offense at the mention of Python...
*is run over by rotten tomatoes*
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 just check Ambroisa's site and web boards, and they appear to still sell both the engine and the standalone campaign. They just don't appear on the "recent release" pages; you must explictly look for it on the Arcade and Utility pages.
That said, there are a few problems with Coldstone, however...
Those who complain about affect & effect on
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
(1) No problem.
XCode's build system is extremely flexible. You can have a custom script or binary run instead of the more standard targets. Just make a new project of "Empty Project" type, add a build target ( Project/New Target ) and pick either "external target" or "Shell Script Target" as appropriate. It'd be hard for it to be a lot easier without being language/tool specific, like the 'canned' target types ( of which there are already quite a few ).
(2)You want to use something that's not the most developer-friendly language ever created ( Objective-C ), the most commonly used language ever created ( C ), the most commonly used in commercial products OO language ( C++ ) nor the best mulitplatform language ever ( Java ) ?? What's your reasoning there?
I understand that there are reasons for using "none of the above" when writing code for OS X, like say, you have a big group of Fortran programs that you don't have time or need to rewrite, or you just rock at Python and don't have time to learn something else, or know you can do what you want in Pearl... but if you're developing a completely new codebase, with a full GUI-based app as your goal?
Learn Objective-C. Learn Cocoa. You'll be glad you did.
Mac software can de developed in Ada 95 using the GNAT Ada 95 front end for GCC. A description is available at http://www.macada.org/
Uh, I distinctly remember using CodeWarrior on my old Quadras, which were all 68k machines. I never really was a fan of Apple's MPW IDE, so yeah.
Just thought I'd point that out. Also, Mac System 7.5.5 forever and such.
I have to eat you know.
You misspelled "now."
I hereby place the above post in the public domain.
I have seen C and VB and even Pascal that is tough to understand. I have also seen Fortran that was well documented and easy to follow.
It's definitely true that it is quite possible to write well-commented and easy-to-understand code using Fortran.
The vast majority of Fortran I've seen, however, does not fall into this category. Some old-school optimization tricks, like variable reuse, are partly to blame for the poor readability, as is poor programming ( usually done by engineers, not programmers ). In my experience, most folks writing Fortran programs are scientists and engineers, not programmers, and they approach the problem as if they're writing some little function that will only ever be written once, and never modified. They get it to compile and move on to some "real work". If there's some edge case where the program errors out, users learn by trial and error to avoid that case. User interaction is an afterthought. This is mostly the programmer's fault, although I notice you didn't touch my statement about Fortran I/O routines being uh, not the easiest to use.
Still, ANY language with a "GOTO" construct and unclear if-branching is going to be hard to read. Fortran has both. Not to mention limited symbol length and non-sequential line numbering. It actually takes a great deal of care to create a readable Fortran program, and they are, as a result, rare.
Not to start a flamewar about Fortran, though, it definitely has it's uses, and it is possible to write a reasonably readable Fortran program, but... the language not only doesn't help you do so, it actually includes some limitations and conventions which make it difficult.
But support on OS X? Shoot, Fortran support on OS X rocks! It's frickin' Fortran-lover heaven. You even get Altivec calls from Fortran. All you lack is a decent way to do I/O ;-)
...compiler on Macs as it's not a great compiler on x86. Here's a test I did recently where MSVC can produce code that can easily be about 100 times faster than gcc. So I'd be interested to see what happens with the same code on Macs. I have gcc but I don't have codewarrior. So if someone could run that test for me and post the results I'd be interested.
-- SIGFPE
Realbasic is pretty good, the windows+linux+mac+osx build is nice.
members are seeing something, your seeing an ad
There is a beautiful port of Emacs to Carbon with a Aqua interface. Emacs of course has modes to handle so many programming language dialects that it makes a great tool for developing on OS X. There have been changes made to the main trunk of the Emacs project so that you can compile your own after checking out the official cvs repository, or you can google yourself up a binary.
"You can't dissect him, predict him, which of course means he's not a lunatic at all."