Michael Gersten
2000-07-06 19:01:45 UTC
This is a followup/comment on the Stepwise editorial, "Head for the Ramparts".
The brief summary: We've seen this before. Or: Fool me once, shame on you; fool
me twice, you won't fool me a third time.
The Stepwise article points this out:
Objective C is not being supplanted by java -- Java is not becoming the main
langauge, and objective-C the secondary; OBJECTIVE-C IS BEING THROWN OUT! No
more web objects development in Objective C. AND EOF IS BEING GIVEN TO THE WOF
PEOPLE, NOT THE DESKTOP PEOPLE.
That shout, again: control of EOF is being given to the WOF people; WOF wil be
java-ONLY in 5.0. That means no objective C EOF anywhere.
Yes, objective C will still be around if you use Foundation/Appkit. But no EOF
or DBKit. Anyone want to write a database app around indexing kit?
Think about this. If Apple really wanted to abandon Objective C, because of the
cost of maintaining it, it would be nice if they gave us a release with
functioning ObjC and Java, and the conversion scripts; using that release (call
it 5.0), we could take as much time as needed to get the conversion done. Some
bugs will be uncovered by this, of course; an interm/patch (5.5) would come out.
In 6.0, objective C would all be gone, people had a working version to transfer
their stuff over, everyone is happy.
Instead, in 4.5 we have a buggy java client that cannot handle inherited EO's.
We have a java development environment that is GARBAGE FOR DEBUGGING. It cannot
tell what file you are using for a class when you click on the file (if there
are duplicate names, such as a client side and a parent side class) or when a
breakpoint triggers. I get a number of
Fatal exception: java.io.IOException: Pipe broken APPLICATION EXIT
when I try to debug the java-server side of a java client app. Try using the
'print object' button -- it generate 'print * <var-name>', which jdb doesn't
like (the space between the * and the varname confuse it). I have yet to even be
able to examine something in jdb; I get messages back saying that there is no
symbol 'this' in the current context (yes, this is from jdb, not gdb.).
So, in 4.5, we only have objective C as a reliable development environment. Yet
in 5.0, we have to give it up immediately, no chance for fixes/problems to be
identified.
As annoying as this is, we've seen it before. Not from Apple, from Steve Jobs.
At NeXT, Steve said that they would always support black hardware purchasers
better than intel hardware purchases. That was true for the life of NeXTStep;
but OpenStep was different. To go from 3.2 NS to 4.2 OS required that black
hardware people purchase the same expensive CD that intel people purchased. No
price break of any kind. You couldn't use 4.2 user (cheap, bug fixes) with 3.2
developer. So for some of us (me at least, some others that I knew) there was no
upgrade to openstep.
Back in the black hardware days, my machine was academic. I also, thinking I was
smart, purchased the reinstallation floppies figuring that I 'd have a backup of
the system in case I needed it. Well, sure enough, I did. Later, when I went to
play with DBKit, I found that the reinstallation floppies did not include
sybase. NeXT would not help me out in any way. I had a system with a nice
database programming system, but no usable database; they had adaptors for flat
files, but refused to release it. That was "screw you" number one; the "no
upgrade to openstep" (which, incidently, included EOF which was DBKit's
replacement) was number two. I won't allow a third.
Jobs has dropped software before. Way back when, there was a real nice word
processor called "WriteNow". When NeXTStep went multi-platform, WriteNow was
removed and given to a commercial company. Now granted, giving software to the
community was unfashionable back then, but if that had been done, the software
would still be around, bug fixed, and working. Heck, even if the rumors were
true and it was in 68030 assembly, it would have been ported to the power PC and
fixed up, if not actually C'd.
Now, they are dropping, what? HyperCard? Stepwise reports:
<<
One hacker received a flat "no" when he asked if Apple would release HyperCard
into the open-source arena. Apple cited the time and effort it would take to
tidy everything up in HyperCard and manage the project. Apple would prefer to
allocate such resources to new projects, particularly Mac OS X.
This opened up a larger open-source debate, prompting Glass to state that, "Open
source will not be a dumping ground for dead products."
It takes all of 20 minutes to do a 'make clean; gnutar -cz' to put something
into open source, and let someone else manage it. It doesn't cost Apple anything
to give their old, useless (to them) software away, and it makes them look
better to developers (who know that their old systems will never go away
completely).
There's a bunch more in the stepwise article, but there's this thing (talking
if I tell people that they have to purchase a $700 unlimited WOF 4.5 package as
well? (Our program is, eventually, going to be a $500/month license sort of
thing, so we can afford a $700 per customer overhead; but it won't be ready by
Sep 9 :-).
And it's still bad no matter how you look at it. Consider our application, at
$500 per month, is expected to go to 1000 customers the first year (vertical
market). That's $6000 per year, 1000 customers, that $6 million the first year
alone. That's not a small software application. We need to be able to do
distributed display -- running the program and data from a central site,
displaying into a remote terminal. Java client would have been perfect, but
because of the inherited EO bug we need the 5.0 fixes. We can't use Objective C
in 5.0, and java debugging in 4.5 isn't good enough for use. So with no upgrade
path, and no workability now, we have to use something like WinFrame/Terminal
Server instead.
Folks, this is a call for action. Send mail to ***@apple.com, or maybe
try some other addresses (***@apple.com might go somewhere). Apple will
listen to its developers if we make a big enough stink. And if they don't, then
this is a call for action for GnuStep and GnuStep Web; lets port them to NT and
solaris.
It occurs to me that the Java to Objective-c Bridging Specifications was kept in
a .jobs file; now that that bridging wil be going away, presumably the .jobs
files will go away as well. Perhaps this is a sign -- what would it take for a
shareholder (I'm not one) to file a motion to replace Jobs as head of Apple with
someone else? It doesn't matter how good of a salesman is at the head if there
are no programmers writing for it.
Michael
(yes, I'm upset. And yes, I waited the hour or two before posting. Heck, it's
been almost a full week since reading the stepwise article, and I'm STILL upset
about it.)
The brief summary: We've seen this before. Or: Fool me once, shame on you; fool
me twice, you won't fool me a third time.
The Stepwise article points this out:
Objective C is not being supplanted by java -- Java is not becoming the main
langauge, and objective-C the secondary; OBJECTIVE-C IS BEING THROWN OUT! No
more web objects development in Objective C. AND EOF IS BEING GIVEN TO THE WOF
PEOPLE, NOT THE DESKTOP PEOPLE.
That shout, again: control of EOF is being given to the WOF people; WOF wil be
java-ONLY in 5.0. That means no objective C EOF anywhere.
Yes, objective C will still be around if you use Foundation/Appkit. But no EOF
or DBKit. Anyone want to write a database app around indexing kit?
Think about this. If Apple really wanted to abandon Objective C, because of the
cost of maintaining it, it would be nice if they gave us a release with
functioning ObjC and Java, and the conversion scripts; using that release (call
it 5.0), we could take as much time as needed to get the conversion done. Some
bugs will be uncovered by this, of course; an interm/patch (5.5) would come out.
In 6.0, objective C would all be gone, people had a working version to transfer
their stuff over, everyone is happy.
Instead, in 4.5 we have a buggy java client that cannot handle inherited EO's.
We have a java development environment that is GARBAGE FOR DEBUGGING. It cannot
tell what file you are using for a class when you click on the file (if there
are duplicate names, such as a client side and a parent side class) or when a
breakpoint triggers. I get a number of
Fatal exception: java.io.IOException: Pipe broken APPLICATION EXIT
when I try to debug the java-server side of a java client app. Try using the
'print object' button -- it generate 'print * <var-name>', which jdb doesn't
like (the space between the * and the varname confuse it). I have yet to even be
able to examine something in jdb; I get messages back saying that there is no
symbol 'this' in the current context (yes, this is from jdb, not gdb.).
So, in 4.5, we only have objective C as a reliable development environment. Yet
in 5.0, we have to give it up immediately, no chance for fixes/problems to be
identified.
As annoying as this is, we've seen it before. Not from Apple, from Steve Jobs.
At NeXT, Steve said that they would always support black hardware purchasers
better than intel hardware purchases. That was true for the life of NeXTStep;
but OpenStep was different. To go from 3.2 NS to 4.2 OS required that black
hardware people purchase the same expensive CD that intel people purchased. No
price break of any kind. You couldn't use 4.2 user (cheap, bug fixes) with 3.2
developer. So for some of us (me at least, some others that I knew) there was no
upgrade to openstep.
Back in the black hardware days, my machine was academic. I also, thinking I was
smart, purchased the reinstallation floppies figuring that I 'd have a backup of
the system in case I needed it. Well, sure enough, I did. Later, when I went to
play with DBKit, I found that the reinstallation floppies did not include
sybase. NeXT would not help me out in any way. I had a system with a nice
database programming system, but no usable database; they had adaptors for flat
files, but refused to release it. That was "screw you" number one; the "no
upgrade to openstep" (which, incidently, included EOF which was DBKit's
replacement) was number two. I won't allow a third.
Jobs has dropped software before. Way back when, there was a real nice word
processor called "WriteNow". When NeXTStep went multi-platform, WriteNow was
removed and given to a commercial company. Now granted, giving software to the
community was unfashionable back then, but if that had been done, the software
would still be around, bug fixed, and working. Heck, even if the rumors were
true and it was in 68030 assembly, it would have been ported to the power PC and
fixed up, if not actually C'd.
Now, they are dropping, what? HyperCard? Stepwise reports:
<<
One hacker received a flat "no" when he asked if Apple would release HyperCard
into the open-source arena. Apple cited the time and effort it would take to
tidy everything up in HyperCard and manage the project. Apple would prefer to
allocate such resources to new projects, particularly Mac OS X.
This opened up a larger open-source debate, prompting Glass to state that, "Open
source will not be a dumping ground for dead products."
It takes all of 20 minutes to do a 'make clean; gnutar -cz' to put something
into open source, and let someone else manage it. It doesn't cost Apple anything
to give their old, useless (to them) software away, and it makes them look
better to developers (who know that their old systems will never go away
completely).
There's a bunch more in the stepwise article, but there's this thing (talking
In the end, Apple has put the question entirely to rest post WWDC.
The WebObjects 4.5 licenses have been amended such that you are
no longer allowed to run any other Cocoa applications other than
those provided by Apple for development. The Yellow Box
runtime-license that was available ($3000/10 seats) is
discontinued effective September 9, 2000.
Does this mean that I cannot develop a desktop app for YB/NT, and sell it? EvenThe WebObjects 4.5 licenses have been amended such that you are
no longer allowed to run any other Cocoa applications other than
those provided by Apple for development. The Yellow Box
runtime-license that was available ($3000/10 seats) is
discontinued effective September 9, 2000.
if I tell people that they have to purchase a $700 unlimited WOF 4.5 package as
well? (Our program is, eventually, going to be a $500/month license sort of
thing, so we can afford a $700 per customer overhead; but it won't be ready by
Sep 9 :-).
And it's still bad no matter how you look at it. Consider our application, at
$500 per month, is expected to go to 1000 customers the first year (vertical
market). That's $6000 per year, 1000 customers, that $6 million the first year
alone. That's not a small software application. We need to be able to do
distributed display -- running the program and data from a central site,
displaying into a remote terminal. Java client would have been perfect, but
because of the inherited EO bug we need the 5.0 fixes. We can't use Objective C
in 5.0, and java debugging in 4.5 isn't good enough for use. So with no upgrade
path, and no workability now, we have to use something like WinFrame/Terminal
Server instead.
Folks, this is a call for action. Send mail to ***@apple.com, or maybe
try some other addresses (***@apple.com might go somewhere). Apple will
listen to its developers if we make a big enough stink. And if they don't, then
this is a call for action for GnuStep and GnuStep Web; lets port them to NT and
solaris.
It occurs to me that the Java to Objective-c Bridging Specifications was kept in
a .jobs file; now that that bridging wil be going away, presumably the .jobs
files will go away as well. Perhaps this is a sign -- what would it take for a
shareholder (I'm not one) to file a motion to replace Jobs as head of Apple with
someone else? It doesn't matter how good of a salesman is at the head if there
are no programmers writing for it.
Michael
(yes, I'm upset. And yes, I waited the hour or two before posting. Heck, it's
been almost a full week since reading the stepwise article, and I'm STILL upset
about it.)