Monday, July 12, 2010

SUN, Openstep and Display Postscript

Do you like the Mac OS X desktop graphic user interface? I like it. It was based on Display Postscript technology which has been developed for years since the day in NeXT computer.

Sun cooperate with NeXT during the 1990s on a slim down version of NeXTSTEP operating system, which later name as Openstep. The Openstep take out the OS kernel and focus on Objective-C runtime library (also know as NS framework, where NS stands for NeXTStep or Next/Sun), compiler and Display Postscript. Unfortunately Sun later lost its interest in Openstep and move to another object oriented technology--Java, which developed by Sun.

Personally I prefer Java as the object oriented programming language. As a newly design programming language, it was well defined and clean, easy to use and easy to understand. The advantages of using object oriented design is, the code and object can be re-used easily.

Java was compiled into bytecode, which is portable to different CPU architecture (write once run everywhere). Bytecode normally runs slower than native code (program compiled by traditional programming language like C, Objective-C...), is worth to sacrifice performance in return of portability. It is very important in today’s software platform strategy because we already have different CPU architecture like PowerPC, Intel, ARM, SPARC etc.

In my opinion, there are two important things about Openstep:

1. Display Postscript. With new display and printing technology like scalable font (eg. True-type font, can enlarge without sacrifices quality), bitmap-base window system looks a bit outdated. With Display Postscript, easier for application to display content on display devices or application windows with different size.

2. Portable framework to different CPU architecture, that mean endian-free. Mac OS (and iPhone OS, now iOS 4) has been ported to PowerPC (from Motorola), Intel, ARM and Apple A4 cpu. I believe Sun has contributed their part while working together with NeXT to port Openstep to Solaris (Sun operating system).

No double Java is a very good object oriented technology, the language itself is well defined and Java program can run on different CPU architectures and operating system, but the Java GUI is not well accepted and deployed.

There is a Java Desktop System (JDS) released by Sun, but don’t be cheated by the name itself. The JDS is base on Gnome desktop, Gnome is an open source desktop environment written in C and not Java. Java is included as part of the system in JDS but not the major part as the desktop display.

Sun has developed similar technology like Display Postscript in mid 80s, even before it works together with NeXT. The implementation is call NeWS (Network extensible Window System), but it was not well accepted by the market.

Apple has made a lot of enhancement on Display Postscript and make it into today’s Mac OS X desktop. Since Apple can integrate X11, Display Postscript, NeXTSTEP (Openstemp) runtime and Java together into Mac OS X, Sun should be able to integrate Solaris, Java, X11 and Display Postscript technology together. Unfortunately an advance windows system never exist in Sun Solaris operating system until today.

No comments: