Slashdot Mirror


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.""

18 of 128 comments (clear)

  1. Runtime Revolution? by torpor · · Score: 3, Interesting

    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. --
  2. Flash and Director by xanderwilson · · Score: 4, Interesting

    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.

    1. Re:Flash and Director by ThousandStars · · Score: 3, Interesting
      Sad, the Flash community is swallowing it all in their enthusiasm.

      Sadly, I find Flash so irritating, both in for creating full websites and its use for advertisements, that I uninstalled the plug-in. Any website that relies on Flash for critical functionality will lose me as a viewer or customer. If websites use Flash, they should also provide a simplified HTML version for the rest of us.

  3. Re:What about Mono? by OmniVector · · Score: 5, Interesting

    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
  4. what about xul? by biggyfries · · Score: 2, Interesting

    xul is cross platform. Granted, you need to install a "reader" for it (mozilla, gecko, firefox, etc), but you need to for some other languages too (flash, shockwave, the different C's, etc). Plus, xul accepts javascript and html, so if someone knows those, then the can build upon their skills.

  5. Re:What about Mono? by tod_miller · · Score: 3, Interesting

    Mod up parent +5 Sane

    Java and Eclipse for application development under Mac. Even Java3D and many other lovely libraries, plus the L&F is full Mac, and check out Suns guide to macifying a java app.

    What, you wanted a drum roll?

    --
    #hostfile 0.0.0.0 primidi.com 0.0.0.0 www.primidi.com 0.0.0.0 radio.weblogs.com
  6. Re:What about Fortran? by javaxman · · Score: 2, Interesting
    First, let me just say "yuck!", because I've had few less enjoyable experiences than trying to figure out what is wrong with someone's fortran code. Fortran IO functions must die. Just a personal preference, I understand plenty of people like Fortran for whatever reason, and it will always be used to write little, fast, hard to maintain programs with bad I/O routines.

    Second, we've successfully recompiled scads of old ( and not-so-old ) fortran code for OS X already. I guess the programs we had didn't need to much in terms of special support- we used g77. It's good to hear GCC is ( of course ) keeping up with the times.

    A quick google search and a peak at the ADC website and it does look like GCC and the Macintosh are being used by the HPC folks. Altivec libraries available and everything, pretty much like you'd hope for, if FORTRAN is your bag.

  7. SuperCard by Swedentom · · Score: 5, Interesting

    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
  8. Ada for the Mac by Ada95 · · Score: 3, Interesting

    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/

  9. BlitzMax and Extreme??? by spir0 · · Score: 2, Interesting

    BlitzMax (the mac version of blitzbasic, but 2d) does not seem to exist yet. rumours date back to 2002, but there is no mention of it on BlitzBasic's product pages.

    Extreme Basic is a work in progress that seems like it's going to be released for PC and Mac. However, the commands are different for mac and pc, so it's not going to be cross platform -- unforgivable in my eye.

    Seeing as they don't exist, should they even be on this list?

    --
    The reason girls and Windows users don't understand UNIX is because all the documentation is in Man files.
  10. Re:RealBasic by Blakey+Rat · · Score: 2, Interesting

    Well, like I said, I was trying to make a simple MUD client to test it out. This involves opening a socket and recieving text into one field, and sending text to another field. (Technically, it's the telnet protocol, but when you're just doing it quick-and-dirty you can ignore the protocol and just send/recieve text.) This is the kind of thing I could be able to piece together with a few code samples and maybe two, three hours but I couldn't get it at all.

    In RealBasic, it doesn't take long to find a timer or thread class and use that to manage your sockets. I couldn't find anything like that in Runtime Revolution after a couple hours of looking. Plus I didn't really understand how sockets worked in the language, and I couldn't find an example or tutorial in the help.

    Re: Platform issues. Try this in MacOS. Open a multiline text field and fill it full of text. Position the caret at the top of the field and hit the down arrow key. When you get to the bottom line, Windows will simply "beep" at you, but MacOS will move the caret to the far right of that line. (This may or may not be what was wrong with the Runtime Revolution fields; it's been a long time since I worked with it; but this is a mistake that is commonly made on cross-platform projects that don't use native widgets but just widgets that look like native widgets. Last I tried Firefox, it had the same problem.) I'm not saying that one behavior is better than the other, I'm just saying that Mac users expect the caret to go to the end of the text and PC users expect it to stay where it is.

  11. Re:(1) no problem (2) why?? by wirelessbuzzers · · Score: 4, Interesting

    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?

    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.

    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 a good language for games, but many people would rather have something higher-level. It's unsafe, but many people will overlook.

    Java is slow and verbose, and therefore painful for game development.

    Maybe they want to code in Python?

    --
    I hereby place the above post in the public domain.
  12. I'm trouble by the use of gcc as the default... by SIGFPE · · Score: 3, Interesting

    ...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
  13. Re:What about Fortran? by beliavsky · · Score: 2, Interesting

    Your knowledge of Fortran is based on the outdated Fortran 77 standard. Since then, there have been three standards, Fortran 90, 95, and recently 2003. Please consult a Fortran tutorial at http://www.dmoz.org/Computers/Programming/Language s/Fortran/Tutorials/Fortran_90_and_95/ before spreading misinformation in the future. About ten Fortran 95 compilers exist -- see http://www.dmoz.org/Computers/Programming/Language s/Fortran/Compilers/ .

    To answer your specific assertions: Fortran and most other languages have goto, but since it now has a full set of control structures, they are rarely needed. In F90 variables have names up to 31 characters long.

    Fortran I/O is SUPERIOR to what I've seen in other languages. You can read or write a vector of integers and reals with just

    read (*,*) ivec(1:4),xvec(1:10)
    write (*,"(4i6,10f10.4)") ivec(1:4),xvec(1:10)

    It would take multiple loops to do this in Java, C, or C++.

    You can think of modern Fortran as a fast, compiled, ISO-standardized Matlab (it has array operations).

  14. Re:What about Mono? by ytsejam-ppc · · Score: 2, Interesting

    That's an easy answer to this question. What if you do c# development for a living and you don't want to waste any of your aging brain cells trying to learn a completely new framework just so you can tinker around on your shiny new mac.

  15. Not C++ by hummassa · · Score: 2, Interesting
    I have said and repeat: C++ is not C.

    Your examples, no loop:
    vector<int> v;
    copy(istream_iterator<int>(cin), istream_iterator<int>(), inserter(v, v.begin()));
    copy(v.begin(), v.end(), ostream_iterator<int>(cout));
    --
    It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
  16. Re:What about Fortran? by javaxman · · Score: 2, Interesting
    Your knowledge of Fortran is based on the outdated Fortran 77 standard. Since then, there have been three standards, Fortran 90, 95, and recently 2003. Please consult a Fortran tutorial at http://www.dmoz.org/Computers/Programming/Language s/Fortran/Tutorials/Fortran_90_and_95/ before spreading misinformation in the future. About ten Fortran 95 compilers exist -- see http://www.dmoz.org/Computers/Programming/Language s/Fortran/Compilers/

    It's definitely true the most of the Fortran I've had to work with has been Fortran77 code- that's just the era when it was written. Fortran 90 I do know a bit about and it is fundamentally improved.

    Ok, so to bring this back to the ( now very old ) actual topic... uh, I don't suppose there is a Fortran 95-compliant compiler for OS X? Huh, I don't see one. Are there any that are freely available for development use on *any* platform? I only found one that was even free for personal evaluation in that list... Not to take away from your point, but looking at the list in the link you provided, I'm guessing that even today, _most_ Fortran is likely to be to be of the Fortran77 variety.

    read (*,*) ivec(1:4),xvec(1:10)
    write (*,"(4i6,10f10.4)") ivec(1:4),xvec(1:10)

    Nice example of FortranI/O.
    But, um, how do you read a vector of integers when you don't know the length of the vector, for example?

    Anyway, I'm *really* not here to bag on Fortran, if it's your thing, great. It's not my thing, I'd much rather write Objective-C code, or C for that matter. If you want to do future generations of programmers a favor, you'll write your new code in C- the younger guys don't know from Fortran. Just my humble opinion.

  17. There's only one reason by Anonymous Coward · · Score: 1, Interesting
    Let's discount cross-platform compatibility for the moment. Good code will have kernels written in C that are going to essentially work anywhere, but that's not the point.

    1. If you can't program in C, go back to kindergarten. Note that we didn't demand you master an assembly language - we're not looking for super-heroes here, just trying to filter out the morons.
    2. It takes a matter of a couple of hours to learn Objective-C. If you can't handle that, see above.


    The Apple development environment is king of the hill and for a reason. As for your speculating in how to circumvent this incredibly plane learning curve, there is as well only one reason.

    Discussions like this are invariably started and fostered by people who can't code, who otherwise would be coding and not blowing hot air at slashdot, and who have nothing else to do but spout pretentious jokes and truisms whilst others take care of business as usual.

    It's Thanksgiving; you're the turkeys. Gobble-gobble.