Comments
Richard Davies wrote: The UK has a good crop of technology pioneers in cloud computing - for example ElasticHosts, FlexiScale, Flexiant, OnApp - and also some strong government initiatives such as G-Cloud. We will have to see whether this kind of technical leadership converts into swift mass-market adoption or not.
Cloud Expo on Google News

SYS-CON.TV
Cloud Expo & Virtualization 2009 East
PLATINUM SPONSORS:
IBM
Smarter Business Solutions Through Dynamic Infrastructure
IBM
Smarter Insights: How the CIO Becomes a Hero Again
Microsoft
Windows Azure
GOLD SPONSORS:
Appsense
Why VDI?
CA
Maximizing the Business Value of Virtualization in Enterprise and Cloud Computing Environments
ExactTarget
Messaging in the Cloud - Email, SMS and Voice
Freedom OSS
Stairway to the Cloud
Sun
Sun's Incubation Platform: Helping Startups Serve the Enterprise
POWER PANELS:
Cloud Computing & Enterprise IT: Cost & Operational Benefits
How and Why is a Flexible IT Infrastructure the Key To the Future?
Click For 2008 West
Event Webcasts
Java and The Mac
Java and The Mac

When Java Development tools initially appeared on the market, Mac programmers were some of the last people to have tools available to them. While Sun chose to release the JDK for most popular platforms, it waited quite a while before releasing the MacJDK. A variety of third party developers began to release Java development tools, but they too have decided to wait before releasing tools for the Mac programmer. Fortunately, there are options open to the Mac programmer now, but these options are nowhere near as vast as those options open for users of Windows95 or UNIX platforms. General resources related to MacJava are also few and far between. Before I send you running from your Mac, it should be stated that the situation is no longer as bleak as it once was. There are currently development tools available from many companies, and more have been announced; there is also a large amount of published information available. You should keep in mind however, that while it is important to have platform specific resources, Java is extremely portable, and almost all information resources are helpful.

There are three available compilers for the Mac. These are Sun's JDK, Symantec's Caffeine, and Natural Intelligence's Roaster. The decision to include Caffeine in that list was actually debated over. While it does allow a programmer to develop in Java, it is not really a compiler. Rather, it is a GUI front-end for Sun's JDK.

Sun's JDK is comprised of two components: a Java compiler, and also an applet runner. It is not an Integrated Development Environment (IDE), and requires the use of a text editor like BBEdit, or SimpleText to create source code. BBEdit is an incredible text editor. While it does not support syntax coloring, it does offer automatic indentation and code balancing. Caffeine is a free upgrade to owners of Symantec C++, and adds some nice features to the JDK. These include a project manager, a scripted interface to the JDK, and Java specific syntax coloring.

The JDK is a nice product, and the Caffeine/JDK team is even nicer. Currently the JDK is the only Java compiler to offer full networking and audio support. It also will run on 68k machines, which Roaster will not. While Natural Intelligence will offer all of these features in the next version of its product, at the time that this article is being written there is no support for these features.The JDK does have its problems however, and since it forms a backend to Caffeine, both products share these problems. Starting out, the most obvious problem is related to speed, or rather complete lack of speed. Compiling with the JDK (even for small projects) is a long ordeal. Developing with the JDK often takes so long that before byte code is ready, one not only has time to brew Java, but also to finish a pot or two. To demonstrate this problem with speed, I wrote a simple applet which prints a message to the screen. The applet is only twenty-four lines long, and imports java.awt.Graphics, java.awt.Font and java.awt.Color. Time to generate byte-code with Roaster running on a PowerMac 6100/66 with 16 Megs of RAM (plus RAM doubler), and system 7.5.3 is 9.853 seconds, while to compile this same source with the JDK I waited 12.500 seconds. This time difference, while relatively small, grows exponentially as the size of applets grow. Note that times were based on the average of twenty human timings.

Without the addition of Caffeine, one is also forced to suffer from the lack of a real interface. In addition to allowing for a more pleasant interface, a GUI brings tools like a project manager, which is invaluable when working on large projects. Natural Intelligence has provided an excellent project manager in Roaster. The tool supports full drag and drop, and also presents a pop-up-menu with all file methods next to its entry in the window. One advantage the JDK has over other tools is its price. It's free!

What is really helpful when working with the JDK is its ability to open source code into a configurable text-editor. Not only will it open your source, but it will drop you on an offending line of code. This is really helpful, especially when using editors which don't use line numbers. While it is nice that an editor can be configured to run with the JDK, development is hindered by the fact that there are no text editors which support syntax coloring. Rumor has it that the next version of BBEdit will offer this ability.

While Symantec chose to develop a GUI front-end to the JDK, Natural Intelligence, on the other hand, chose a different path. The application which they put out is totally their own. The application incorporates two Java compilers with a suite of development tools into a full GUI. The reason for two compilers is that in addition to bundling a speedier version of Sun's javac compiler (the compiler which ships with the JDK) they also wrote their own compiler. Both are PowerMac native, but as of DR1.1 only the javac compiler is recommended. Natural Intelligence classifies their compiler as "icky", and while I am not too sure that I would choose this word, I would definitely agree. It often gives odd errors, or will completely crash when attempting to compile an applet. Their version of the javac compiler is not perfect either; it is definitely much faster than Sun's version, but is less descriptive when reporting errors in one's source. There are trade-offs to using Natural Intelligence's compiler, but I rarely find that it is worth it to give up speed for more verbose error messages.

Roaster's text editor, shown in Figure 1, is based on Natural Intelligence's QuickCodePro. This version of their already popular text editor is an excellent environment to develop in. It supports a full suite of utilities including various search functions, a balance checker, multiple clipboards, and custom macro support. There also was much thought put into human-computer interface, as all functions are accessible via fully customizable tool bars, and keyboard shortcuts.

I find that when I am unable to find an error, Roaster and the JDK, in combination with each other, provide for a healthy relationship. I usually write all of my code in Roaster. If I have troubles debugging the code, I run it through Sun's compiler. As far as debugging is concerned, Roaster does incorporate a source-level debugger. This is somewhat helpful, but does mean that you must deal with interpreting byte-codes. It is still nice though, to be able to step through an applet while it is running.

Of all the current options available to the Mac programmer, Roaster does look to be the most promising. DR2.0 will be packed with all the features which 1.1 is missing, and it will definitely become an excellent product. Natural Intelligence reports that they were able to speed the product up even more, making Roaster the speediest Java compiler available for the Mac. Soon after DR2.0 is released, Natural Intelligence will be releasing a different product titled RoasterPro. Among other enhancements, this product will allow programmers to compile Java into code native to a multitude of platforms. Also look for a Windows version of Roaster in the Fall.

About Luke Cassady-Dorion
Luke Cassady-Dorion is currently finishing his degree in computer science at Drexel University in Philadelphia, PA. Additionally he heads up Java Development for Odyssey Systems Corporation in Manayunk, PA.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

Latest Cloud Developer Stories
Swisscom, the Swiss telecom, is going into the cloud business. Its subsidiary Swisscom IT Services AG has signed up with Red Hat as a Certified Cloud Provider and launched a public cloud Infrastructure-as-a-Service (IaaS) cloud targeting enterprise-class customers primarily in ...
Apache Deltacloud, the Red Hat-contributed ReSTful API that abstracts differences between clouds so services on any cloud can be managed – provided of course there’s a driver – has graduated from the Apache Foundation’s incubator and is now a full-fledged Top-Level Project (TLP)....
In a surprise move on Tuesday, January 10, Oracle wheeled out its Big Data Appliance. That’s the one it said in October would be ready sometime in the first half. Only nobody believed it meant early in the first half. Heck, it’s not even clear anybody thought Oracle could make ...
Rackspace Hosting, the service leader in cloud computing, on Thursday announced its acquisition of SharePoint911, an industry leader in SharePoint consulting, training, and "JumpStart" services within SharePoint. The unification of both companies provides capabilities to deliver ...
CloudLinux, Inc., on Thursday released CafeFS 3, a virtualized file system for shared hosters that cages each customer within its own virtualized file system. CageFS becomes part of CloudLinux OS at no additional charge. CloudLinux OS, the only commercially-supported Linux OS m...
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

SYS-CON Featured Whitepapers
ADS BY GOOGLE

Breaking Cloud Computing News

ANN ARBOR, Mich., Feb. 16, 2012 /PRNewswire-USNewswire/ -- In recognition of a $15 million gift t...