Jonathan Schwartz, Sun Microsystems Inc.’s executive vice president of software, took time after his quarterly Town Hall in San Francisco to sit down with eWEEK Contributing Editor Steve Gillmor in a conversation about Microsoft Corp.’s Longhorn Wave and the market challenges and opportunities it may present for Sun.
This interview seems to be him trying to sway all the developers that are now hyped up about Longhorn development into Java by using high dollar amounts instead of kewl development platform. I have to say it has me thinking differently. Smart move on his end…
are they implementing Java desktop so that all the APIs are obfuscated by Java just like how C# will obfuscate Win32 ?
The guy sounds like a bigger drone than Balmer.
Java is not bad at all, it’s a highly usable cross platform solution and it’s always being improved, and it has tons of documentation. I like it better than Mono but at the same time, I wish Mono well for Linux, but I hate the Microsoft stuff, can’t stand it.
SG: How do you combat the Longhorn vision in a time frame that’s going to make some difference?
Schwartz: It’s called “Tiger.” J2SE 1.5 will deliver lightning performance on that desktop. We’ve already provided a rich client called Java, but Microsoft wasn’t so interested in helping us with our deployment.
and then we’ll call it Cheetah, and Jagwire, and Panthwire.
Funny choice of name. What is it currently called tabby white kitten. Or lazy lion.
Anyway although I am not too fond of Java it is good that they are trying to improve its performance. By saying “lightning performance” I am curious as to what they are going to do.
Also Schwartz comments on managed code wasn’t a good one, because MS is planning to migrate the whole OS to managed code. Where is that lightning fast Java OS.
Maybe Sun should plan on introducing NeWS for their linux desktop with a rootless X server. The only problem I see here is most of the apps will only work for X and if NeWS was like we know Aqua to be today, I don’t know if developers want to try and follow yet more API’s. Then again what do I know.
How does NeWS work, do developers who have apps written for X11 need to rewrite large chunks of their code for it. Any web links explaining how it works?
From what I can tell, Longhorn doesn’t matter. Soon you will just download a desktop that is really a browser. Its all changing. I feel better. There will be no hegemony.
Maybe Sun should plan on introducing NeWS for their linux desktop with a rootless X server.
NeWS is completely defunct. Sun removed NeWS support from the OpenWindows server years ago. I fully expect Cairo (vector drawing extension to X) to obsolete the existing display Postscript technologies in X, namely X/DPS.
debman (IP: —.cable.mindspring.com) – Posted on 2003-11-19 19:19:26
are they implementing Java desktop so that all the APIs are obfuscated by Java just like how C# will obfuscate Win32 ?
Why would SUN need to do that? Solaris and Linux’s basic API’s aren’t baroque like the win32 API. Microsoft *NEEDS* to replace the win32 API because it is fundamentally flawed from the ground up, Linux and Solaris don’t because they’ve been designed with the networked environment in mind.
As for Java, why on earth would one need to “obfuscate” a perfectly good API. Sure, win32 is a big ball of mess but what UNIX provides is a heck of alot more eligant.
John Blink (IP: —.wc.optusnet.com.au) – Posted on 2003-11-19 21:25:22
“SG: How do you combat the Longhorn vision in a time frame that’s going to make some difference?
Schwartz: It’s called “Tiger.” J2SE 1.5 will deliver lightning performance on that desktop. We’ve already provided a rich client called Java, but Microsoft wasn’t so interested in helping us with our deployment.”
Also Schwartz comments on managed code wasn’t a good one, because MS is planning to migrate the whole OS to managed code. Where is that lightning fast Java OS.
Oh, come on, be serious for a moment. Are you really that naive in thinking that they (Microsoft) will move their code base over to managed C++? do you have any idea regarding managed code? what next, you’re going to suggest that drivers can be written in Java and one can write a kernel using VB?
win32 is broken, UNIX98 isn’t. Read and repeat. As for Bill Gates rant, he needs to buy a clue instead of jumping on every bandwagon that zooms past his office. It was him and his organisation who created the ball of mess called win32. Talk to ANY professional programmer that if the alternative had a larger marketshare and they could make a decent living off it, they would instantly move.
win32 is broken, UNIX98 isn’t
As a POSIX and Win32 programmer, I find Win32 to be considerably more powerful and providing a significantly more enhanced functionality and flexibility. Granted the GUI API leaves a great deal to be desired (most notably the “Shatter vulnerability” in the messaging system) but the remainder of the functionality is quite enhanced compared to its less elegant POSIX counterparts.
It makes more sence that MS wants people who use the system interface to start using .Net, so one way to do that is to force people to use .Net by making the system interface unaccessible and/or undocumented. However, personally I also thought that Win32 was crap, but that’s just my opinion.
Everytime I finish coding in Java, I get depressed.
“It’s called “Tiger.” J2SE 1.5 will deliver lightning performance on that desktop.”
Muahahhaha….same crap repeated every year since 1995. Give us a break…better go and fix the darn language. Put REAL templates/generics in Tiger..and for God’s sake…STOP MAKING EVERY FRIGGIN FUNCTION VIRTUAL BY DEFAULT !!!!!
“win32 is broken, UNIX98 isn’t”
As a POSIX and Win32 programmer, I find Win32 to be considerably more powerful and providing a significantly more enhanced functionality and flexibility. Granted the GUI API leaves a great deal to be desired (most notably the “Shatter vulnerability” in the messaging system) but the remainder of the functionality is quite enhanced compared to its less elegant POSIX counterparts.
Who said anything about POSIX. POSIX is only ONE part in the large UNIX 98 specification. Solaris and UnixWare conforms to the UNIX 98 specification, IRIX, AIX and HP-UX conform to the UNIX 95 specification.
Now, in terms of GUI programming, we have GTK for C and qt for C++. For 3D we have OpenGL. All of these are either opensource or openstandard. Win32 on the other hand is a constantly moving target with no standard set down. Imagine if the win32 api was standardised by an openstandard body? today we could have had wine finished by now.
Openstandard NOT opensource, and peer review/committee process ensures that a fault design has a lower likelihood of being adopted. Had the win32 developed and standardised with in a committeee environment, the shatter attack would have been bought up by atleast one member of the committee and as a net result this wouldn’t even exist as an issue.
I am not 100% sure nor do I have the technical expertise to analyse the Java specs., but I believe the enhanced performance may come from concepts and ideas (on how to enhance performance) created by Apple and passed on to Sun over a year ago. However, I think they are sufficiently low-level that they may take time to integrate into the VM
Who said anything about POSIX.
I did. I program primarily within the POSIX APIs for maximum portability.
Now, in terms of GUI programming, we have GTK for C and qt for C++.
I think you forgot Xt, Xforms, Xaw, and a host of other discontiguous toolkits…
For 3D we have OpenGL.
As does Windows.
All of these are either opensource or openstandard. Win32 on the other hand is a constantly moving target
Compared to Qt and GTK, Win32 is a relatively stationary target.
with no standard set down.
The Win32 API is extremely well documented on msdn.microsoft.com. Furthermore, API compatibilities between various Windows releases are documented as well. On the GTK/Qt side, there are relatively good docs as well. However, there’s no more any “standard” governing Qt/GTK than there is Win32. GTK has broken binary and source compatibility between releases several times.
Openstandard NOT opensource, and peer review/committee process ensures that a fault design has a lower likelihood of being adopted.
Perhaps this process should’ve been applied to GTK/GDK. GDK is tied at the hip to X, and GTK fails to abstract from X properly in several instances. Furthermore, its function names are excessively long and convoluted.
Honestly, can you give one concrete example of how Win32 as an API is “broken”? As it stands, the “shatter vulnerability” is an implementation issue being preserved for backwards compatibility, and there have been patches which provide permission checking on message queues.
Honestly, can you give one concrete example of how Win32 as an API is “broken”? As it stands, the “shatter vulnerability” is an implementation issue being preserved for backwards compatibility, and there have been patches which provide permission checking on message queues.
Yes I can. Windows and the Win32 API also do not provide clean layers of abstraction – something which should be the primary goal of software in the first place. The API is not minimal and complete – it has a feel of “ad hoc design” to it. There are several ways of blitting a bitmap to the screen, each of which does its thing in a slightly different way; there are long diatribes on the internet about which blitting API is best/fastest (there is no general consensus here, and on many systems, the fastest way turns out to be a deprecated API). There are several ways of starting a new thread, but the “standard” one is unsafe when you use some functions from the C standard library; there are half a dozen of incompatible string types, each with its own set of drawbacks.
The Microsoft Foundation Classes (MFC) are everything but a clean OO design; Typical Win32 code (especially when using ATL) is ridden with preprocessor macros and a developer is expected to rely on “wizards” to generate the code for him – a sure sign something is seriously wrong with the API. Developers are also expected to tweak public data members (!) of base classes (!!) to enable or disable certain functionality of classes; the APIs for the various subsections of the operating system are inconsistent, and the Apartment Model in COM is a travesty which is only there to keep existing, non-threadsafe code working (and doesn’t even do a good job at that). “Staying compatible with your previous mistakes” is written all over Windows.
Every time you solve a particular challenge in Win32, you do not feel that you have learned something – you just feel that you have solved this particular challenge. Programming should not be like this.
For a more elaborate critique, see Diomidis Spinellis, A critique of the Windows application programming interface, Computer Standards & Interfaces, 20:1-8, November 1998
( http://www.dmst.aueb.gr/dds/pubs/jrnl/1997-CSI-WinApi/html/win.html )
Now, in terms of GUI programming, we have GTK for C and qt for C++.
I think you forgot Xt, Xforms, Xaw, and a host of other discontiguous toolkits…
Which are not commonly used. New applications are either using GTK or qt.
For 3D we have OpenGL.
As does Windows.
Nice to see you take things out of context like usual. My comment was in regards to the feature set of UNIX. You on the other hand are more concerned about making smart-allick comments.
All of these are either opensource or openstandard. Win32 on the other hand is a constantly moving target
Compared to Qt and GTK, Win32 is a relatively stationary target.
with no standard set down.
Why are you comparing a toolkit to a complete API?
The Win32 API is extremely well documented on msdn.microsoft.com. Furthermore, API compatibilities between various Windows releases are documented as well. On the GTK/Qt side, there are relatively good docs as well. However, there’s no more any “standard” governing Qt/GTK than there is Win32. GTK has broken binary and source compatibility between releases several times.
2.x series broke compatibility with 1.x series, both source and binary. The only compatibility that was broken was in the 2.2 series which was only between Gnome Desktop and GTK 2.2 due to a broken piece of functionality that GNOME relied on in GTK. The issue was corrected and not worked around, Windows on the other hand would have put “backwards compatibility” ahead of fixing the problem properly.
Openstandard NOT opensource, and peer review/committee process ensures that a fault design has a lower likelihood of being adopted.
Perhaps this process should’ve been applied to GTK/GDK. GDK is tied at the hip to X, and GTK fails to abstract from X properly in several instances. Furthermore, its function names are excessively long and convoluted.
Hence the reason why I am not a GTK fan. It was a flawed design from the ground up. QT on the other hand is a alot more portable because it was designed properly and without the religious rhetoric that normally occurs in your a-typical opensource project.
Honestly, can you give one concrete example of how Win32 as an API is “broken”? As it stands, the “shatter vulnerability” is an implementation issue being preserved for backwards compatibility, and there have been patches which provide permission checking on message queues.
Programme with it and experience the full on pain then come back and say that it is a walk in the park and you would just LOVE to programme for it, every opportunity you’re given.
They go from one hack to another then to another. Rather than forcing vendors to do things the right thing, they include backwards compatibility which mearly compounds the problem we face; securities issues but can’t be fixed because it would result in applications breaking.
If some of these bloated third party vendors actually did something about the sad state of their applications, the security issues we see today wouldn’t occur because Microsoft would be able to correct problems without the chorus of moans.
Great article on UltraSparc IV at ars technica:
Check it out:
http://arstechnica.com/cpu/003/mpf-2003/mpf-2003-1.html