Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Channels ▼
RSS

FEEDBACK


Feedback

POLISHING THE APPLE OS

I just read Warren Keuffel's review of Mac OS X development tools, "It's a Zen Thing, in the August 2004 issue and have to pick a few nits. At the risk of sounding like an evangelist, here goes.

First, the GUI in Mac OS X isn't based on X11. Macintosh applications are built using either Carbon or Cocoa (which need no further explanation, since Mr. Keuffel explained them in the article). Both of these APIs drive a common UI system, which consists of Quartz (the 2D graphics engine), OpenGL (for 3D graphics) and Aqua (the window manager and widget library). X11 isn't part of this stack.

X11 APIs are available for developers to use, but you must be running an X server to run the resulting apps. Mac OS 10.3 comes with this server, but users of older Mac operating systems must download and install their own X11 servers. Second, Xserve is not Apple's X server, nor is it the name of the server edition of Mac OS X. Xserve is a hardware device—a 1-U high rack-mounted Macintosh. It comes preloaded with the server edition of Mac OS X (Mac OS X Server). I suspect Mr. Keuffel meant to say "Mac OS X Server in the places where he wrote "Xserve in the article.

If you want to further explore Mac OS development, you may be interested in Apple's Xgrid system, which will allow easier development of applications that run on computing clusters. Available now as a technology preview, Xgrid will be part of the next release of Mac OS (10.4, named Tiger).

In my opinion, having clustering technology as part of the operating system opens the door for some interesting possibilities. Everyday desktop applications could auto-detect instances of themselves on other computers and automatically offload processing to machines that are otherwise sitting idle. But this is probably something best written about after Tiger ships to the general public.

David Charlap Vienna, Va.

Warren Keuffel responds:

If I conveyed the idea that OS X was based on X11, I failed miserably in my intent. I was trying to show that one of the strengths of OS X was that—as with any Unix workstation—you can run X11 apps in addition to native OS X applications, and that there was a basic level of interoperability between X11 and Aqua. I appreciate the clarification on Xserve and OS X Server.

A REAL OMISSION

I just finished reading Warren Keuffel's article on Macintosh programming. As a longtime Mac and Windows programmer, I enjoyed his perspective and review of the Mac as a development platform.

However, he made a major omission by asserting the Mac's Achilles' heel is its neglect of the Windows world. It appears that Mr. Keuffel hasn't been introduced to REALbasic. (I'm not associated with REALbasic in any way; I'm merely a satisfied customer.)

I've been professionally programming for both Mac and Windows using a Mac since 1999. Today, my company's Virtual TimeClock Professional software is in daily use by thousands of Windows- and Mac-based businesses. Though Virtual TimeClock was developed on a Mac, we deploy releases supporting Mac Classic, OS X and Windows 95 through XP. Thanks to REAL Software's version 5 IDE, we'll be adding a Linux release with our client/server edition by the year's end. Contrary to what was asserted in Mr. Keuffel's article, this all happens from a Mac-based shop working happily in OS X.

Keith DeLong
Software Engineer
Redcort Software
Fresno, Calif.

THE MIGHTY MAC

In "It's a Zen Thing, Mr. Keuffel really hit the target regarding why the Mac can be better to work with than other platforms. I write software in the Windows environment day in and day out, which makes me appreciate my Macs at home that much more. I've been a Mac user since 1984, but I didn't brag about it when I was using Windows NT at work and my OS 9 Mac at home crashed all the time and couldn't dynamically allocate memory. I'm so thankful those days are gone.

Now I'm convinced that OS X is the best platform out there for almost every task, and dealing with Windows XP all the time is the biggest hassle. I'm terrified what Longhorn is going to do to me.

Kevin Hoctor
Development Manager
On Center Software
The Woodlands, Tex.

BUG-HUNTING

I enjoyed Adam Kolawa's article "Prevention's the Cure (Test Center, Aug. 2004), which discussed using static analysis to find bugs in software. However, there are two open-source bug checkers for Java not mentioned in the article that your readers may be interested in.

JLint looks for a number of common Java coding errors, with particular emphasis on deadlock detection. Also, FindBugs has checks for nearly 50 kinds of bugs (with more being added), including null pointer exceptions, race conditions, misuse of API methods and untrusted code vulnerabilities.

I should note that I'm a developer for the FindBugs project. However, I'd encourage people to try many static analysis tools-because each uses a different approach, they tend to complement each other. The more bugs found, the better!

David Hovemeyer
Graduate Student
University of Maryland
College Park, Md.

LOST IN TRANSLATION

Alexandra Weber Morales's editorial about press releases ("Bizarre PR, Aug. 2004) was really fun. The Chinese one reminded me of a game we used to play around 1989 or so: Opening PCs to read the warning notice on the AC/DC transformer. Chinese factories were probably using some sort of automatic translator to produce the labels in all sorts of languages. The French ones were always great moments of fun-I still remember some sentences 15 years later!

My favorite: "A chapper choc lectrique ne l'ouvrir pas. (If you escape electric shock do not open the device.) Another one: "Il n'y a pas de materiel serviceable dedans. (There are no working parts inside.)

David Dossot
Cofounder, V.P. Technology
Agile Partner
Luxembourg


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.