The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

REALBasic or Python?

Disclaimer: I'm not a real programmer.
My background is in graphic design. Over the last 4 years or so, I have been putting together web sites and CMS's for my clients using PHP and MySQL. At first, I really didn't like "programming" and looked at it as something I needed to pick up in order to attract/retain clients. But, the more I learned, the more I enjoyed programming. I have spent counltless hours learning programming concepts and methodlogies, design patterns, OOP, unit testing, and every other buzzword.
Being a designer, I work on a mac. Of course, this does not present a problem for web programming. However, some clients of mine are interseted in some small in-house apps and I'm not sure what to do.
1. Will I find that web programming and desktop programming are not really that similar and be in over my head?
2. If the answer to question 1 is no, what language would be the best to learn considering I'm in a mac enviroment and my clients(most of them anyway) are in a windows enviroment? REALBasic or Python?

Thanks for any suggestions
Send private email
Wednesday, February 02, 2005
Why not set up a server in their office and write your app in php and MySQL?
Steven A Bristol Send private email
Wednesday, February 02, 2005
Well, from what I hear Java is pretty nice to work with on the Mac. Since I don't own or use a Mac I cannot confirm this... However, Java does have a rich GUI environment (Swing) that you can use to build some nice looking desktop applications.
TownDrunk Send private email
Wednesday, February 02, 2005
I've used Python, Java, and RealBasic to develop apps. Since you've primarily done web development you'll probably be happiest with RealBasic.  With the others you need to learn about interface frameworks and you probably won't be able to get the interface to perform/look the way you want.  RealBasic allows you to focus in the interface and then develop the necessary code to support your actions without making either a real chore.
Lou Send private email
Wednesday, February 02, 2005
Thanks for your input.
Why would realbasic be an easier or more comfortable transition than Python considering my experience has been web development?
Is it easier to learn?
And since I have only one language under my belt(PHP), which is the more desirable language to know realbasic or python?
Send private email
Wednesday, February 02, 2005
Python is a great language with an excellent standard library but I think you'll find that things become uncomfortable when you start wanting to add a GUI and distribute the application. This is where you'll see the benefits of RealBasic.
Wednesday, February 02, 2005
I'm sorry, I think you left the "desirable" train when you didn't say C++ or Java.  Once you've gone down the list as far as Python or RealBasic, you might as well choose for which one is easier.

And RealBasic (apparently) is easier.  I must mention that I know RealBasic some, Python not at all, Perl quite a lot.  If Python is a better Perl, I'd go with REALBasic.
Wednesday, February 02, 2005
If you're asking which one is more like PHP, the answer is Python. But when you are doing GUI programming there's a lot more to consider. REALbasic is the fast track to GUI programming. If you consider yourself a designer and aren't that into programming I'd say stick with REALbasic.

I've used REALbasic for quickly developing small GUI apps, and I'm using wxPython (combination of Python and the wxWidgets GUI library) for larger and more complex things. I've used both, for both in-house and shrink-wrap development.

REALbasic Pros:

 * Very rapid, visual development
 * Mac-like development environment
 * Easy to learn, easy to get started

REALbasic Cons:

 * Difficult or impossible to use standard version control systems.
 * IDE is just plain weird from a Windows point-of-view. On a Mac it's not quite as weird.
 * Language seems poorly designed. E.g. in a "Try...Finally" statement, the "Finally" part isn't always guaranteed to run. (!)
 * GUIs look Windows 2000-ish, even in Windows XP.
 * Some concepts (e.g. Creator Codes) don't transfer well across platforms.
 * Probably need the commercial Monkeybread library if you plan to do serious development.


Python Pros:

 * Extremely compact and well-designed language
 * Rich libraries ("batteries included" philosophy)
 * Lots of free and non-free 3rd party libraries

Python Cons:

 * Debugger is harder to use than REALbasic's (but also more powerful if you take the time to learn it)
 * GUI development tools (wxDesigner, DialogBlocks) are downright weird from a Mac user's point-of-view.
 * wxWidgets GUI library takes a while to learn/understand. It could take a long time to grok wxWidgets if you've never done C-style GUI programming.
 * wxPython isn't well-documented (its components Python and wxWidgets are well-documented, but there are various differences for which you may find yourself consulting the wxPython source code).
Nate Silva Send private email
Wednesday, February 02, 2005
For web development and general scripting, definately Python.

Can't say I know an awful lot about RealBASIC but
(a) Any BASIC isn't going to be taken that seriously by a lot of people (not saying that's necessarily right, just saying)
(b) I see Python mentioned a lot more often than RealBASIC, especially in connection with web stuff and scripting
(c) Python is quite a powerful and elegant language and good for general enlightenment about different ways of programming
Pythonian Send private email
Sunday, February 06, 2005
I came from a similar situation. A web designer who started programming in flash. And though I have never programmed in RealBasic I can say the transition to python was fairly natural. Check out BOA Constructor it is a delphi based RAD IDE and is lagging a bit on keeping up with wxPython developments but really helps you to learn wxPython quickly. The only other thing to mention would be the Mono project is moving along and though C# is a more challenging language Mono Develop is a RAD IDE.
Monday, February 14, 2005

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz