Sun and Apple Team Up for StarOffice for Mac OS X 363
An anonymous reader writes, "CNET writes about Sun and Apple getting together to create StarOffice for the Mac OS X." Apparently, the Java-based OpenOffice app will be released before year's end (a developer release went out on Thursday), with a commercial StarOffice release sometime next year.
There is a native version (Score:1, Interesting)
See
http://www.theregister.co.uk/content/4/263
Is the reference to "Java Based" a mistake ?
Java ? (Score:5, Interesting)
Porting StarOffice (once the biggest open source project) to Java would be an absolutly huge task. This rules out a full port. It leaves the option of using Java as the GUI. World+dog (including me) agree that Java's GUI is so-so, even if it is better on OS X than anywhere else. Anyway, what would be the point of using Java to interface between C/C++/Objective-C apps? None.
CNET just got it wrong one more time.
Hmmm. (Score:3, Interesting)
They seem to build a native C++ interface for the windowing system of OSX.
CNET probably confused this with the Java of OpenOffice support.
It's very unlikely that someone tries to build a GUI via Java. People are not that stupid.
{Star,Open}Office preinstalled on Windows (Score:5, Interesting)
To me, it's incredible that no hardware vendor such as IBM or HP is offering StarOffice or OpenOffice preinstalled on personal computers. I see no reason for them to not install it.
Comment removed (Score:4, Interesting)
Re:Java is the way to go (Score:1, Interesting)
Re:compatibility, speed, cost (Score:3, Interesting)
Isn't M$ obligated by law to make Mac software? (Score:2, Interesting)
October 24th, 1985: John Sculley signs the worst contract Apple ever has made. He agrees that Microsoft may use some Mac GUI (Graphical User Interface) technologies if it continues producing software for the Mac (Word, Excel). If Sculley wouldn't have signed this deal Windows would have never been introduced since the similarities to the MacOS were so obvious that Apple would have easily won any lawsuits against Microsoft!
January 1988: Microsoft releases Windows 2.0.3
March 17th, 1988: Apple sues Microsoft and Hewlett Packard accusing them of violating copyrights of Apple on the MacOS. Windows 2.0.3 features Mac-like icons.
(http://www.theapplemuseum.com)
Re:Java ? (Score:5, Interesting)
Yes, but from what I understand Apple has provided hooks for Java to use all of the Cocoa API's in fact they bill Java as being coequal to Objective C for building Cocoa apps. In that case the GUI is not really java, java is just being used to invoke the native cocoa/quartz/aqua GUI. They could use Objective C instead but I would imagine that Sun would like to show off a Java app that surpasses peoples expectations (including the dog's) Also I'd imagine you can find more programmers at Sun that are proficient with Java than are proficient with Objective C.
(Good news but...) Amusing and Ironic (Score:5, Interesting)
WWDC did not have a single session on programming Quartz in Java. In the only mildly interesting session on Java, it was like pulling teeth to get concrete information out of the presenters in Q&A, and yet the presenters (Apple JVM guys) were incredibly arrogant about their work and how advanced it was (which in some ways it is) and how even Sun was considering incorporating their JVM innovations.
What was boggling was Apple's Java guys didn't _get_ that they should want Java to become a first class citizen on OS X (rather than a poor stepchild to OS X's (and NeXTstep's vaunted in their eyes) objective-c. Sure, I could see the obj-c guys being protective of their baby (even though it's basically stillborn by the time its reached OS X), but why would the Java guys be so lousy sharing information on Cocoa (OS X) programming in Java.
On the side, I got contradictory information about how to program in Cocoa using two different bridges across obj-c and java. In sum, neither really works so Apple doesn't support either really. (In particular, obj-c's reference counting doesn't mix well with Java's garbage collection.) Unfortunately, despite Apple's migration of WebObjects to Java (from obj-c), The rest of OS X and Cocoa (GUI) stayed in obj-c. Doh.
I even spoke with their then new head of software tools and engineering. As a smalltalk guy (skeptical of java and obj-c), he claimed that obj-c won him over. No love for Java there. Just more "not Apple's target market". It's hard to swallow paying thousands to go to a developer conference and have some pinheaded honcho tell you that despite Apple's "best platform for Java" campaign, that Java programmers are not allowed to program in Cocoa (OS X native) since Java Cocoa is not Apple's target market. What arrogance!
Unfortunately, one of Apple's catchy banners did not mean what I wanted it to mean: "Come for the Java, Stay for the Cocoa". Instead of providing the means to program Cocoa in Java, the banner really means come to learn about Java on OS X (and be profoundly disappointed), and we'll (try to) lure you to objective-c every step, session, and discussion along the way.
Cough-cough.
Unfortunately (or fortunately), I'm an ex NeXT enthusiast, so I've already tasted obj-c (not to my liking), reasonably informed about its strengths and weaknesses, and happy with Java.
-=-
So, why is Apple, its head of engineering so obstinate. I assume it's because he's in love with smalltalk and obj-c caters (a la obj-c tenuous lease on life) to smalltalk, his desired language. Fair enough (but too bad for Apple and its Java shortcomings).
But why oh why would lowly Apple Java grunts be so against first-class java support on OS X for Cocoa? That really confused the heck out of me, until I discovered that the very arrogant presenter(s) of JVM breakthroughs (yada yada yada about Apple innovations) was really the obj-c kernel team doing side work on the JVM. Doh!
Java not obj-c. Obj-c >> Java. You know?
There are not Java evangelists at Apple. The keepers of the Java VM are obj-c hacks. Their baby (albeit on life support) is obj-c. OUCH.
When I figured that out, beat around the bush at the top to discover the smalltalk allegiance, and just generally got stonewalled by too many (certainly not all) of the small team of java(obj-c) insiders, I just gave up.
Besides, the Quartz Extreme team had awesome presentations, was extremely humble despite their awesome GUI architectural innovations, and was just generally the real mccoy from an engineering point of view. My WWDC became a GUI tour rather than a deep tour of Java (as intended and paid for, as far as I was concerned).
One final note: my impression is that Java on OS X is good --- but only for Java only apps (i.e., use Swing, not Apple's Cocoa). Their target market (as I gathered anyway) is pure Java (as opposed to Java Cocoa apps). So, if you want to port and run pure Java on OS X, they (should) love you. FYI.
-=-
So, it's amusing and ironic to see Apple spending any resources on Java for Cocoa now as I assume (fingers crossed) they'll do for OpenOffice after telling me that's not their target market!
What happened to all the arrogance? Disdain? Curt political marketroid answers to basic engineering questions? Yada yada yada.
Too painfully amusing and ironic.
So I guess I am crossing my fingers that Apple separates the JVM team from their obj-c team, fires (or at least reassigns to obj-c only) their so-called "java evangelist", and gives java its own first-class political and technical citizenship at Apple.
Maybe next year's WWDC can have a banner which says (and means) "Come for the Java, and Stay for the Mocha". That would be a dream worth having.
= Joe =
Apple can add functionality to Cocoa (Score:4, Interesting)
I wouldn't be suprised if OS 10.3 has a few new cocoa classes like NSWordProcessorView, NSSpreadSheetView, NSRelationalDatabase. These would be subclasses of existing Cocoa classes like NSTextView, NSTableView, and NSData.
I think this fits Apples strategy of making development for the Mac quick and easy. This benefits them in several ways: 1) They attract more badly needed developers to their platform 2) They can churn out iApps much more quickly than M$ 4) Once developers have tasted Cocoa, they don't want to go back 5) With so much work done in the Cocoa frameworks, Apple can make the frameworks run faster and make all the apps on a system runs faster. 6) If apple changes processors, they can make it real easy to port cocoa apps to the new architecture since all of the machine dependent stuff is done in their APIs.
Re:(Good news but...) Amusing and Ironic (Score:2, Interesting)
Programmers at Apple aren't supposed to write in 100% Pure Java for what I hope are obvious reasons (they
wouldn't take full advantage of the OS X user experience).
Good point. Java for Cocoa is a second class citizen to pure Java, and pure Java doesn't access Cocoa. That's clear.
Most (but not all) applications at Apple destined for OS X, meanwhile, are not written in Java
due to the fact that users find the speed unacceptable.
Decent point for now, and an issue raised in the defense of obj-c by the Apple folk.
Considering Java's current (long VM, libraries loading, and app) startup time and lack of shared VM images (as I understand it), Java is not totally ready for prime time for general one-use consumer apps (yet). The Apple folk did specifically mention that the startup time was a problem, so that is one of their concerns.
However, I believe one of their innovations for OS X 10.2 Java was getting the images to share, and they have apparently shared that technique with Sun. So, I do think they have some good reasons for hedging their bets somewhat, but their overall pure Java only approach was disappointing considering their 'best platform for Java' promise. So, if you're speaking about startup time, you have a good point, but startup time is not always a showstopper (or Java wouldn't be so compelling in so many server, handheld, and high uptime applications).
With the memory mapping features of Apple's 10.2 Java (due August 24, I believe), graphics is quite fast for general apps (and beyond) in Java and memory footprint for multiple apps should be down dramatically through VM footprint sharing (good stuff!) (but arguably still somewhat memory heavy). The rest of Java speed is a matter of taste since hotspot compiles dynamically depending on the nature of the app(s).
So, to finish your thought. Apple does not write in Java (for their reasons), e.g., their iApps are still being written in obj-c which pretty much aligns with their treating Java as a bastard child despite Steve's promise. Steve's promise should be "best platform for pure Java" to disambiguate the situation.
That's why Apple's VM team is so arrogant:
Let's clarify this issue.
Apple's VM (and Java, since they're the same) team or, more particularly, prominent members of their Obj-C/Java VM team and so-called "java evangelist" have no reason to be arrogant toward their developers. Arrogance is unprofessional, reckless, and offensive. Feel free to troll as hard as you want on this point, but they did themselves no favors with their arrogant and offensive attitudes.
specifically in order to allow Apple and others to write OS X-specific apps in Java using the Cocoa bindings without a performance penalty, Apple's been trying to squeeze every last ounce of performance they can out of the VM.
No, they've been squeezing performance for general performance.
Contrary to your speculation, they told me that they only care about pure Java apps. That's why (according to them) they do not support Cocoa from Java. The drive for speed is to win the (pure) Java platform speed title.
They aren't there [high performance Java Cocoa apps] yet,
Point is: they're not even trying (according to them) to support Cocoa Java. Their answer to that question is: program in obj-c, you'll like it. (Swing and miss.)
IOW, they're saying: pure java or bust on OS X. Java is no alternative to obj-c (c, obj-c++, etc.).
unlike some companies, they care enough about the end-user experience to keep Java off the front line until the 15% performance gap can be closed.
First of all, Apple does not choose whether Java is on front line for industry. Java already is front line. Also, they don't choose the user experience by determining languages. The developers of apps choose user experience by doing well designed, quality work using the tools of their choice, including Java.
Second, Steve chose to make the Java issue front line for OS X with his "best platform for Java" jingoism. So your comment is misleading.
Finally, what 15% gap? The startup time gap is >> 15%, so you're not talking about that. The memory footprint gap with multiple apps is variable according to the apps running and number of copies running (and Apple fares well on that with their promised shared memory for Java), so memory footprint should not be your issue. The execution speed is variable according to the app as well --- could be faster, same or slower. There's no well recognized 15% gap known --- it's totally app dependent when using hotspot optimization versus compile-time optimization. Bottom line: who cares about performance for general apps anyway as long as its speedy enough?
The driving value in programming languages (and environments) today is value to the customer for efficiency and effectiveness of programming (not necessarily speed of execution). Apple does not dictate whether Java is on front line. Apple determines whether Apple gives Java priority and native support.
For native apps, Apple supports obj-c, not Java. If they choose to support Java Cocoa in the future, that would be promising. According to them publically and behind the scenes at WWDC, they do not support Java for Cocoa (contrary to your opening assertions). IOW, despite your speculation otherwise, Java and obj-c (and therefore Cocoa on OS X) are not seamlessly integrated --- according to Apple.
Apple has two different bridges, neither of which work. They advised against using either one when pressed, and different engineers would give conflicting opinions about which one was better (i.e., neither one was feature-complete, sufficient, or robust). Take home message: run away. I.e., only pure Java gets their nod, or for Cocoa programming, use obj-c.
-=-
Obj-c is the VM team's baby. Java is new to OS X and doesn't even run the latest Java incarnation yet (10.2 in August should catch up most of the way).
If Apple does work with Sun to port OpenOffice using some aspect of Java to talk OS X Cocoa, then perhaps the waters will part and, lo and behold, Java will reach the promised land (Cocoa first class citizenship). However, as long as it's obj-c uber alles (with pure java second class citizenship), OS X Cocoa is basically an obj-c or bust platform which is not particularly appetizing when more modern, compelling, and popular languages are available.
IOW, I'll take a little Jython with my Java over obj-c anyday, and I'd like that with my OS X but it's not currently available (despite your speculative gestures).