MacTech Network:   MacForge.net  |  Computer Memory  |  Register Domains  |  Printer Supplies  |  Cables  |  iPod Deals  |  Mac Deals  |  Mac Book Shelf


  MacTech Magazine

The journal of Macintosh technology

 
 
Media Recovery

Magazine In Print
  About MacTech  
  Home Page  
  Subscribe  
  Archives DVD  
  Submit News  
  Submit a Tip!  
  Get a copy of MacTech RISK FREE  
Google
Entire Web
mactech.com
Mac Community
More...
MacTech Central
  by Category  
  by Company  
  by Product  
MacTech News
  MacTech News  
  Previous News  
  MacTech RSS  
Article Archives
  Show Indices  
  by Volume  
  by Author  
  Source Code FTP  
Inside MacTech
  Writer's Kit  
  Editorial Staff  
  Editorial Calendar  
  Back Issues  
  Advertising  
Contact Us
  Customer Service  
  MacTech Store  
  Legal/Disclaimers  
  Webmaster Feedback  
ADVERTISEMENT
Click Here
Volume Number:12
Issue Number:9
Column Tag:Viewpoint

Viewpoint

By Will Iverson

This issue marks the first of my tenure as Editor-in-Chief of MacTech Magazine. Some of you may recognize me from my earlier role as Symantec’s Macintosh Developer Relations Manager. I am excited to be at the helm of the magazine, and look forward to its growth over the next year. Write me at editor-in-chief@mactech.com with your ideas.

First, a brief comment about Apple Computer (leaving to others the lengthy non-technical dissertations on “what Apple should do”). Suffice it to say that the times may be a-changing, but that just makes for more excitement. Less than a year ago, Sun had a mixed future, and Java was barely on the horizon. Some were even wondering if the Power Macintosh might spell the end of Sun! Today Sun and Java are Well, I think you get the point. The great thing about this industry is that both success and failure are fickle.

Overall, there’s reason to be bullish. The Macintosh development tools market has never been stronger. There are more tools out there than ever before, and more people are learning to program. This is where the magazine comes in - we intend to expand coverage to meet the needs of this burgeoning market. One important piece of this is to challenge the ever-increasing marketing which inevitably comes with a healthy market. Who really is fastest, provides the best results?

Another component is the expansion of our Web site to form the new MacTech NOW. A problem with traditional print is the relatively long lag between timely news and the appearance of the information in print. We’ve been online for over a year, with over 1500 pages of back issues and online documentation. Now you can look to http://www.mactech.com/ for breaking news in the Macintosh Developer Tools community as well.

Mac OS 8, OpenDoc, SOM and Java

Pop quiz - what do Mac OS 8, OpenDoc, SOM and Java have in common? Give up? The futures of all four are tied together in a fundamental, albeit confusing, way.

A fundamental problem with the current implementation of object-oriented languages is the lack of a common calling mechanism - there is no easy way to mix and match pieces of object-oriented code. The most common place you run into this is trying to mix C++ libraries from two different compiler vendors in your project. For that matter, even C++ code compiled under different versions of the same compiler usually won’t mix. This makes life for third-party library vendors very difficult, as they must maintain potentially dozens of different versions of their libraries. It also makes it very difficult for languages other than C++ (such as Smalltalk or Prograph) to make inroads into mainstream community.

There are two solutions. The easy but limited route is to develop a C++ accepted binary interface, or ABI. There are variants, but generally this model takes C++ as gospel for how object-orientation works and provides a relatively direct mapping. All compilers would then support this standard. This doesn’t work across languages, and leads to annoyances like the pascal keyword in C. This is more or less the route Microsoft has taken with Windows.

The hard but robust solution is SOM. SOM (System Object Model) was developed by IBM, and in typical IBM fashion it is very robust, very powerful, and a royal pain to use.

The Macintosh Way

The only company which can actually present and enforce such standards is Apple. Apple has decided on SOM as a standard, and we are already seeing this technology in OpenDoc. SOM will provide (among other things) the foundation on which the Mac OS 8 Appearance Manager is built. In addition, SOM libraries will finally allow us to share code between different tools.

SOM finally allows us to dispense with talking protocols, and to get on with generating content - in this case, code. There is a caveat, however. There are two ways to access SOM. The nasty way requires learning a new language and writing special .IDL header files, which are then mangled by an intermediate tool which actually generates the proper .h files. The easy way is something called Direct to SOM. (Do not confuse Direct to SOM with DSOM, which stands for Distributed SOM and is beyond the scope of this text.)

With Direct to SOM, you essentially keep working in C++ as normal, and things just work. The compiler is responsible for generating the proper code. This is also the problem with Direct to SOM - it basically involves rewriting the compiler. Metrowerks announced at MacHack that Direct To SOM was a principal component of CW10, and Apple has also announced Direct To SOM support in MrC. If your tool vendor doesn’t support Direct to SOM, write and encourage them to do so.

So what does this have to do with Java and OpenDoc? OpenDoc suffers a critical flaw: a single misbehaved part can take down an entire document. Java, on the other hand, suffers from a lack of any structured, well-designed component architecture. At WWDC, Apple demonstrated a Java-based OpenDoc part which included access to native code and other neat things, like automatic persistence. The best part: it was roughly a page of code, a fraction of what it would have been in C++.



Click here to find out more about our best subscription bundle deal ever!
2 years of the magazine, and the all new MacTech DVD ... at 70% off!



Click on the cover to
see this month's issue!

TRIAL SUBSCRIPTION
Get a RISK-FREE subscription to the only technical Mac magazine!
 
 


MacTech Magazine. www.mactech.com
Toll Free 877-MACTECH, Outside US/Canada: 805-494-9797

Register Low Cost (ok dirt cheap!) Domain Names in the MacTech Domain Store. As low as $1.99!
Save on brand compatible and name brank ink jet and laser supplies.
Save on long distance * Upgrade your Computer
Movies with No Late Fees!

See local info about Westlake Village
SJ * BRJ * BJ * OJ * NITS
Staff Site Links



All contents are Copyright 1984-2007 by Xplain Corporation. All rights reserved.

MacTech is a registered trademark of Xplain Corporation. Xplain, Video Depot, Movie Depot, Palm OS Depot, Explain It, MacDev, MacDev-1, THINK Reference, NetProfessional, NetProLive, JavaTech, WebTech, BeTech, LinuxTech, Apple Expo, MacTech Central and the MacTutorMan are trademarks or service marks of Xplain Corporation. Sprocket is a registered trademark of eSprocket Corporation. Other trademarks and copyrights appearing in this printing or software remain the property of their respective holders.