Linked by David Adams on Mon 15th Oct 2001 02:23 UTC
Mac OS X OS News' review of Mac OS X last week certainly stirred up controversy, partially because some die hard Mac fans perceived that it was improper for an outsider (someone who is not an everyday Mac user) to me making broad criticisms after only a superficial introduction to the New operating system. Well, folks, that's why they call it a review. We thought that Apple's major new OS also deserved a road test, and there were two very important events in Mac OS X history just a few days ago that toppled the last major obstacle to making it ready for millions of Mac users to start using it as their everyday OS: the 10.1 release and the release of Microsoft Office X. Last week, I made the switch and started using Mac OS X as my everyday OS. Here's how it went:
Permalink for comment
To read all comments associated with this story, please click here.
Re : Underneath OSX
by Dirk Diggler on Tue 16th Oct 2001 16:14 UTC

TO the OO objectives & OS X here is a nice Excerpt from a Apple Coding Guru (name cut off): <P> Note: this letter was received as a response to the recent comparison of BeOS and OS X at Byte.com <P> I have been writing software professionally for 10 years. I started at home on my 1984 Macintosh in PASCAL. Over the years my work has guided me thru C, C++, Smalltalk, Java and Objective C. I have reaped the benefit of Object Oriented technologies for years now. I have developed for Windows, Macintosh, Linux and recently picked up BeOS. So with all that I would like to point out my discoveries of developing in Mac OS X and Be OS. For several years now I have been searching for a true Object Oriented operating system, where developers would write applications using system services based on objects. BeOS API is written in an easy C++ class library. It avoids complex and non standard extensions to the language (operator over loaders and templates). When I want to use file system services I create instances of objects provided by the operating system. This is extremely convenient for the developer not to have to steep low into 3rd generation C code and memory management. Threading is promoted in your applications from the first instantiation of a window. If I want to pass data from one object to another, there is no problem, the API created a set of objects to handle primitive types and collections. So extensions to the API share these types, again very convenient. <P> OS X is implemented in several different technologies, which are written in different languages and sometimes vastly different styles and data types. BSD layer is written in a old K&R style C, the system framework is written in C based on similar style to the Mac Toolbox (massive attempts to hide pointers). And finally the User Interface developed in Objective C with its own types and syntax. In a simple experiment to use XML (which many applications in OS X use) I had to combine C code from the System framework using C memory allocation with my Objective C code, it was very frustrating. The majority of Mac services (media, voice, fonts, file system) are written in the System framework, NOT Objective C. I wonder how they handled sockets in OpenStep (BSD calls I suspect). <P> This left a sour feeling about developing for OS X, its going to be the same sloppy stuff as in Windows and Mac OS. OO based class libraries will take years to catch up. This is the same problem with Linux. There are thousands of great utilities for developers to use for implementing in their code, but 99% are written in C. Many of them include C++ wrappers but they are usually behind in implementing all of the features of the C version and are not updated frequently. Look at GNOME/GTK, written entirely in C, but with a very Obj Oriented approach. I have to wonder what they were thinking. The UNIX development community is mostly C. Windows - well MFC is just a bad wrapper to the C Win32 API. And Microsoft has implemented a static Message Mapping technology for binding UI events to code. Its just ridiculous to implement custom events in custom objects. And forget about sub classing UI elements, just too cumbersome. Then there is the issue of all of the extensions MS has added to their Visual C++ compiler, the cross platform issue.... It goes on forever. My point is that Object Oriented programming has been around for about 10 years in our industry, and we only have 1 commercial OS to show the benefits of it: BeOS. Yet BRAND NEW commercial operating systems are appearing at our feet, and they do not take advantage of OO technology to its fullest. Now I know the advantage of kernel level stuff written in C. But user interface API's are prime for OO tech. What was Apple thinking when the used the OpenStep class library but completely neglected it porting the Toolbox, and changed the language??? <P> XXXX A Very Frustrated Apple Developer, XXX, Inc.