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

24 of 128 comments (clear)

  1. What about Mono? by Kryptkrwlr_XTC · · Score: 4, Informative

    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.

  2. Re:Runtime Revolution? by DLWormwood · · Score: 2, Informative
    Has anyone ever used Runtime Revolution?

    I don't know about "heavy weight" apps, but the commercial remake of the old HyperCard stack "If Monks Had Macs..." was made using RunRev...

    I only found out about this last week, but it was re-released late last year. I'm going to be giving a slightly used copy as a Xmas present this year...

    --
    Those who complain about affect & effect on /. should be disemvoweled
  3. Re:Runtime Revolution? by DLWormwood · · Score: 2, Informative
    Hmm... the weblink failed to show up in the post...

    If Monk Had Macs... by RiverText

    --
    Those who complain about affect & effect on /. should be disemvoweled
  4. You missed eclipse ! by compactable · · Score: 4, Informative
    Geez. The best IDE I've ever used, providing SWT libs for apple ... how is this not there?

    A million different cheez-o basic versions listed, but they forgot eclipse ...

    1. Re:You missed eclipse ! by compactable · · Score: 2, Informative
      list they gave looked pretty game-oriented

      Agreed that the list is skewed towards game programming, and java isn't the place to be for bleeding edge games, however there is a java games community, and more specifically an eclipse games community.

      Note - I am not a games programmer, however given some of the solutions listed ( I mean, I used to love chipmunk basic but I'm not going to use it these days ) I thought eclipse should have been pointed to. Eclipse on mac doesn't seem to be as big as eclipse on linux / windows ... I was guessing this was the cause of the overlook (or maybe they hate java (-; )

  5. RealBasic by Blakey+Rat · · Score: 5, Informative

    RealBasic, IMO, is the best cross-platform RAD tool in existence today. Not that there is a ton of competition...

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

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

    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.

    1. Re:RealBasic by Blakey+Rat · · Score: 3, Informative

      Oh, I and I guess I should link to the actual website of the product, sorry. :)

      http://realbasic.com/ RealBasic's Homepage. You can download a free trial, I recommend giving it a try.

    2. Re:RealBasic by Anonymous Coward · · Score: 4, Informative

      REALbasic has excellent Linux support for Red Hat, SuSE and just about any other version of Linux provided that GTK 2.0 or later and a few other libraries are installed.

      As for game support, I've seen several games written with REALbasic and they look pretty good. Why does REALbasic include game support? Probably because that's how a lot of people get into programming. They start by writing games. Quesa is a platform-independent 3D API. It uses OpenGL underneath on Windows, Linux and Mac OS X. It only uses QuickDraw3D on Classic Mac OS.

      Regarding Visual Basic, one of the big problems for any company selling software into the Windows market is getting above the noise. It's a big market and that's attractive but that's also a negative. And throwing lots of money at a problem is not always be best solution.

  6. Lisps for the Macintosh by jaoswald · · Score: 4, Informative

    There are a few Common Lisp implementations as well

    Open Source:

    Open MCL
    SBCL

    Commercial:

    Macintosh Common Lisp
    Allegro Common Lisp
    Xanalys Lispworks

    1. Re:Lisps for the Macintosh by Wolfkin · · Score: 2, Informative

      I use CMUCL, OpenMCL, and SBCL on my Mac. The only reason I'm usin CMUCL on it, though, is that most of my development is for a Linux server, and CMUCL is the target CL on that server.

      --
      Property law should use #'EQ, not #'EQUAL.
  7. PyGame by quamaretto · · Score: 4, Informative

    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*
    1. Re:PyGame by macrealist · · Score: 2, Informative

      It's almost like there are a large group of people who take offense at the mention of Python...

      It is an interpreted language, and in general, interpreted languages don't get much respect. In addition, Python users are often as fanatical as mac users, and end up pushing python into inappropriate uses. A fairly senior manager at my work got hooked on python, and is now trying to use it for embedded real-time applications. He is not a programmer, and tries to use python as a solution to every problem. Now, all the software engineers cringe when python is mentioned. Not python's fault, but now we all take offense at its mention.

      --
      I am living proof of the Peter Principle
  8. What about Fortran? by tyrione · · Score: 2, Informative

    With GCC4.0 the latest Fortran for Mechanical Engineers and other disciplines with a need for numerical analysis and FEM will have this available.

    I wonder do languages like SELF or Ada or Eiffel ever get notice like they once did?

    1. Re:What about Fortran? by beliavsky · · Score: 2, Informative

      Besides gfortran, which is part of GCC, there is also the free g95, with compiler binaries for Mac OS X, Linux, and Windows -- see http://www.g95.org/ . G95 currently supports almost all of Fortran 95, unlike gfortran. Absoft sells their own Fortran 95 compiler for Mac OS X, in addition to IBM's -- see http://www.absoft.com/ . NAG has also has an F95 compiler -- see http://lists.apple.com/archives/scitech/2002/Jul/m sg00076.html .

  9. Squeak! by Axello · · Score: 5, Informative

    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/

  10. Re:Feedback From Developers by DLWormwood · · Score: 4, Informative
    And then they stopped selling it less than a year after its original release IIRC. I don't think anybody but Ambrosia ever developed anything with it and they even pulled their game because it just didn't work right.

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

    1. Beenox Studios has gone on to "bigger and better things" and are now mostly focused on doing ports of commercials games, leaving Andrew and company in the lurch. Ambrosia is said to be doing the update work themselves, if I'm understanding the discussion on the boards right.
    2. The development IDE was written in REALbasic, IIRC. And to get stability for Panther and Tiger, they are going to have to rebuild it using a more modern release of it. This is going to lead to a new QA testing cycle, since RB is infamous for breaking things with each update.
    3. Ambrosia has prioritized on getting a shareware version of WireTap out the door, making it a separate product from Snapz Pro. There's a "sticky" post in the Coldstone forum mentioning that the game tool has been "backburnered" as a result.
    --
    Those who complain about affect & effect on /. should be disemvoweled
  11. (1) no problem (2) why?? by javaxman · · Score: 4, Informative
    But with if you want to work in a language other than Objective-C,C, C++ or Java?

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

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

      You want fast and a garbage collector??

      Yes.

      Objective-C is slow? Um... not terribly. Large memory footprint? Not unless you're forgetting to deallocate objects, or just have a bad design.

      Obj-C boxes are huge. Method calls are heavily indirected. All this makes for more dynamism, but I stand by my claim that Python beats it, and that Objective-C beats it.

      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.

      CPU
      Memory
      LOC

      OK, so they're toy problems, all benchmarks are lies, etc. But do you see why Obj-Caml is attractive?

      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.

      True. But mixing C and Objective-C code can be painful, even though they're compatible.

      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.

      Agreed. Which is why most high-level languages have a decent FFI.

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

      Not very many. I don't keep track of commercial ones and can google as fast as you can. Plenty of compilers (eg Felix) are written in O'Caml, as well as some math stuff (FFTW). I don't think Caml is good for games though. Now, there is this Python gaming kit which is supposed to be pretty good, but I don't know what games are written in it. Most $n million productions are C++ and C, as you've said, but that's because it has to be fast.

      I like Objective-C syntax for high-level code, because it's clean and descriptive, but for small, simple routines it's encumbering. C++ syntax is bitchy and complicated, but it's reasonably concise.

      First, slow compared to what? Link me up with that Java/Python benchmark comparison.

      Python is slower, but it's designed to have a C core for stuff that has to be fast. It has a very clean FFI, whereas Java has none.

      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?

      Yes, I think about it mostly in terms of real applications, hence my inability to name commercial games written in any of these

      --
      I hereby place the above post in the public domain.
  12. Re:Runtime Revolution? by chippcom · · Score: 2, Informative

    Yep, I use it all the time. We've built a number of pretty cool apps with it, including a Content Management System, a Version Control System and more.

    You can see some of these at http://www.altuit.com/ or check out: http://www.altuit.com/webs/altuit2/RunRev/ for more details on RunRev...

  13. Re:No by Anonymous Coward · · Score: 1, Informative

    You can get a free trial version (for OS X only) through the Apple Developer Connection (http://developer.apple.com/). Check out the details at http://www.apple.com/webobjects/getting_started.ht ml.

    You can keep renewing your trial licence indefinately.

    It is all free.

    Deploying your app is another story though. If you want to host it yourself, you will need to pay the $700 or get OS X server.

  14. realbasic? by hpavc · · Score: 4, Informative

    Realbasic is pretty good, the windows+linux+mac+osx build is nice.

    --
    members are seeing something, your seeing an ad
  15. Re:Go on, rate me troll. by slart42 · · Score: 1, Informative

    While CW ran on 68k Machines, it wasn't released since the introduction of the first PPCs. I've been told that most of the CW developers have been working in Symantec's THINK C Team before, though.

  16. Emacs for OSX by omnipotus · · Score: 3, Informative

    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."
  17. Re:I'm trouble by the use of gcc as the default... by HuguesT · · Score: 2, Informative

    The version of GCC that comes with macs is optimized by Apple. Of course the changes are open-source but they have not been integrated in the main branch of GCC yet.

    In my experience Apple's GCC optimizes better on Macs than the IBM compiler for PowerPC CPUS.