That particular example is easily addressed using delegation to instances of the "superclasses". You can even expose the delegates if you wish, for the sake of typing, e.g.
class flyingboat {
private boat boatPart = new boat() {// Possible overriding of "boat" behavior here, with full access to flyingboat features
};
public boat asBoat() {
return boatPart;
}
}
Just because you can't do it in EXACTLY the same way as language X doesn't mean Java needs to adapt the particular semantics of language X.
Not if the components are just bundled with the program: "In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License."
1) Bullshit, you're focusing on desktops, which are a relatively small portion of the total number of computers out there. 2) SFW - the.Net runtime is still a much larger install (about 22 megs compared to 12-13) 3) GC isn't controversial, but very useful - I assume that's why.Net has it. 4) So you want to turn switch into syntactic sugar for if.. else if..? Sure, just stick to C# then. 5) Why is a small number of huge files more manageable than a large number of smaller files? If I am looking for the class MyClass, I'd rather find it fast in MyClass.java than having to hunt through source01.txt, source02.txt... Plus, there is no requirement that Java source needs to reside in files at all. A compilation unit can just as well be a database record.
That was Ted Turner's claim; of course, he should be careful about stating that since such a contract probably would include something about "quality of programming" that stations may notlive up to...:-)
And MS decided to "extend" the Java 1.1 spec by leaving out RMI.
No, the extensions were alterations they did to java.* classes like new constants in java.util.Locale that would break on non-MS VMs. Leaving out RMI and dragging their feet with implementing JNI were violations of a different part of the contract/license where a licensee is mandated to implement new features within six months.
It was to show how a company can ignore basic economic principles and commoditize the very thing they are trying to sell.
As far as I can see, Sun makes money from licensing out their implementation, the trademark and logo, education, certification and a host of other Java-related services: Just the same thing Joel seems to praise IBM for doing (in relation to Linux)...
Nice article, until he comes to Java and Sun at the end, then he misses.
1) Java wasn't made from a hatred of Microsoft. Heck, they event contracted Microsoft to handle the Windows implementation of the spec (before Microsoft decided to violate the contract).
2) Sun make implementations for Windows (for the market share) and Solaris (their stuff), because Java is software and Sun is a hardware company that coincidentally also makes software.
The Solaris platform already was semi-crossplatform in that it's another Unix: If you write software that will run on Solaris it can be modified to run on most other Unixen.
So why didn't Sun go the Apple route and make a totally proprietary and closed architecture and operating system? The same reason Apple left their "route" and embraced BSD, PCI and whatnot:
Because proprietary sucks.
If you're the only one going your way, you end up taking all the chances, doing all the work and become your own "weakest link".
If you go with published specs, open standards and shared source, you will get competition, yes, but you will also get better quality though that competition, and you will be able to benefit from the work of others, because you can more easily understand what they do, and be able to match their features.
Where do you get the idea that there is 'extra space'? Most likely, TiVo never planned for this, and is using your space that could be used for something you want to watch.
It's their system design, if you want a differently designed system, make one, don't whine.
The difference between children and adults are that children have no rights.
They have tons if you let them have them.
Adults have the right to use things they buy in the manner they want to.
Adults are required to respect contracts they have signed. If the contract says that Tivo can record that promo, and you are against that, don't sign the contract in the first place.
Adults can deny children of whatever rights they feel is necessary.
No. Try raping some kid and see if the courts let you off when you say you denied her the right to remain unmolested. That children have no rights is what organizations like NAMBLA appear to cling to to justify whatever they do.
That is just the opposite - the fact that TIVO partitioned off a seperate area for this stuff means it has even MORE of an impact on the space available for your recordings because now the space is wasted 100% of the time instead of just when a promo is being stored on it.
If you are opposed to how the company have designed their system, I am sure they will let you return it or something.
Of course, you will also want to yell at all the Unixen which reserve 5-10% of a partition for "overflow". Plus all the other disk space and whatnot wasted on "operating system" which take away your privileges to personally use every bit and ounce of a computer for your own tasks, and not those of the evil manufacturer.
No, it would be equivalent to Linux (being proprietary and) requiring that a large section of my computer resources were set aside to be used for things in the interests of Linus Torvalds rather than me.
The Tivo's "computer resources" are configured and managed by the manufacturer to perform given tasks. It's not a multi-purpose general personal computer, so it's pointless to compare it to one.
If you buy the machine knowing it has a capacity of X, then discover that it also has an extra capacity of Y which is used by the system for its own purposes, why should that be a problem? Do you also use Windows 95 instead of Linux because you don't like the way the user/group system restricts a user's access, or the way the swap partition steals disk space?
That should be "their users are trained to use it". A Mac-user, for instance, would not feel at home at all.
And if you think that Windows is so "intuitive" that that weighs up for the lack of customizability taken for granted with any Unix desktop manager, just do a search on the net for user-support horror stories. A lot of things you take for granted is confusing to ordinary people.
What would they do if they suddenly don't get any more support for their OS because the manufacturer is dead.
Well,
There are tons of information out there about "Windows support", much of it better than what you get at support.microsoft.com. In fact, I would guess most companies get their Windows support from a company other than Microsoft 99,99% of the time.
If Microsoft goes bust, that doesn't mean Windows stops working any more than a car from a bankrupt car maker suddenly breaks down beacuse of the bankruptcy.
installing and configuring Java... which can be done automatically - I guess you have never tried to use e.g. InstallAnywhere Now! - your loss I guess as long as people don't actually believe your FUD.
slow as tar.
Well, since a Java program on modern VMs normally is translated into native code a few (milli-)seconds after launcing, I fail to see how you have managed to write slow code, unless you
use the -Xint flag to disable the runtime compilation into native code,
use non-buffered IO,
stick to really old releases of the JRE, or runtimes with known bugs (like running GUI apps on 1.2.0)
all of which brand you an IDIOT!
since the actually design Sun has yet to produce anything of value.
So you are completely unaware of things like Swing (though based on Netscape code), J2EE, the Java2D graphics API, and a host of other new stuff added over the years?
Maybe you should take a peek into the corporate world. Want to add SNMP functionality to your Java product?
Write the classes you need - declaring the necessary methods as native, run a program to generate JNI C++ headers to go with them and implement them, shipping the native bits as shared libraries.
Oh, sorry, did I just shoot your claim in the foot?
Never have I heard of a sports-caster go home during half time to write up a review of the game
I read quotes from Ronald Reagan when he talked about working as sports commentator in radio that he often winged it, I could try to dig up a few references. But there have been cases of sports reports where a newspaper has reported a totally different result than the actual one because the sports reporter thought nothing would alter the result in the last quarter or whatever.
I thought they ran Ultrix-32, a (mostly) BSD-based variant? The MIPS-based DECStations ran Ultrix before DEC released OSF/1 1.0 on it and then killed the MIPS line.
I thought it was "Managed C++" in .Net which was that... :-)
That particular example is easily addressed using delegation to instances of the "superclasses". You can even expose the delegates if you wish, for the sake of typing, e.g.
// Possible overriding of "boat" behavior here, with full access to flyingboat features
class flyingboat {
private boat boatPart = new boat() {
};
public boat asBoat() {
return boatPart;
}
}
Just because you can't do it in EXACTLY the same way as language X doesn't mean Java needs to adapt the particular semantics of language X.
Not if the components are just bundled with the program: "In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License."
It's not, it gets turned into a lookup table (kinda like BASIC's old "on ... goto" mechanism).
1) Bullshit, you're focusing on desktops, which are a relatively small portion of the total number of computers out there. .Net runtime is still a much larger install (about 22 megs compared to 12-13) .Net has it.
2) SFW - the
3) GC isn't controversial, but very useful - I assume that's why
4) So you want to turn switch into syntactic sugar for if.. else if..? Sure, just stick to C# then.
5) Why is a small number of huge files more manageable than a large number of smaller files? If I am looking for the class MyClass, I'd rather find it fast in MyClass.java than having to hunt through source01.txt, source02.txt...
Plus, there is no requirement that Java source needs to reside in files at all. A compilation unit can just as well be a database record.
That was Ted Turner's claim; of course, he should be careful about stating that since such a contract probably would include something about "quality of programming" that stations may notlive up to... :-)
Wasn't "indivisible" added after the Civil war?
No, the extensions were alterations they did to java.* classes like new constants in java.util.Locale that would break on non-MS VMs. Leaving out RMI and dragging their feet with implementing JNI were violations of a different part of the contract/license where a licensee is mandated to implement new features within six months.
It was to show how a company can ignore basic economic principles and commoditize the very thing they are trying to sell.
As far as I can see, Sun makes money from licensing out their implementation, the trademark and logo, education, certification and a host of other Java-related services: Just the same thing Joel seems to praise IBM for doing (in relation to Linux)...
Nice article, until he comes to Java and Sun at the end, then he misses.
1) Java wasn't made from a hatred of Microsoft. Heck, they event contracted Microsoft to handle the Windows implementation of the spec (before Microsoft decided to violate the contract).
2) Sun make implementations for Windows (for the market share) and Solaris (their stuff), because Java is software and Sun is a hardware company that coincidentally also makes software.
The Solaris platform already was semi-crossplatform in that it's another Unix: If you write software that will run on Solaris it can be modified to run on most other Unixen.
So why didn't Sun go the Apple route and make a totally proprietary and closed architecture and operating system? The same reason Apple left their "route" and embraced BSD, PCI and whatnot:
Because proprietary sucks.
If you're the only one going your way, you end up taking all the chances, doing all the work and become your own "weakest link".
If you go with published specs, open standards and shared source, you will get competition, yes, but you will also get better quality though that competition, and you will be able to benefit from the work of others, because you can more easily understand what they do, and be able to match their features.
You win.
It's their system design, if you want a differently designed system, make one, don't whine.
The difference between children and adults are that children have no rights.
They have tons if you let them have them.
Adults have the right to use things they buy in the manner they want to.
Adults are required to respect contracts they have signed. If the contract says that Tivo can record that promo, and you are against that, don't sign the contract in the first place.
Adults can deny children of whatever rights they feel is necessary.
No. Try raping some kid and see if the courts let you off when you say you denied her the right to remain unmolested. That children have no rights is what organizations like NAMBLA appear to cling to to justify whatever they do.
If you are opposed to how the company have designed their system, I am sure they will let you return it or something.
Of course, you will also want to yell at all the Unixen which reserve 5-10% of a partition for "overflow". Plus all the other disk space and whatnot wasted on "operating system" which take away your privileges to personally use every bit and ounce of a computer for your own tasks, and not those of the evil manufacturer.
The Tivo's "computer resources" are configured and managed by the manufacturer to perform given tasks. It's not a multi-purpose general personal computer, so it's pointless to compare it to one.
If you buy the machine knowing it has a capacity of X, then discover that it also has an extra capacity of Y which is used by the system for its own purposes, why should that be a problem? Do you also use Windows 95 instead of Linux because you don't like the way the user/group system restricts a user's access, or the way the swap partition steals disk space?
Graphical update to DOA 2 on Dreamcast and PS2
-Jet Set Radio Future [Exclusive]
Sequel/update to Jet Set Radio on the Dreamcast.
Halo, Project Gotham Racing and Rallisport Challenge aren't much more than new incarnatiuons of old formulas.
At least the other consoles get original stuff like Rez (DC, PS2) and Super Monkey Ball(Gamecube).
No, that was the info Opera got out of the certificate when it warned me that the server's certificate's domain didn't match the site's domain.
The SSL server certificate is issued to a company called Verio Inc., any info on them?
Good. Now, what does that development environment have to do with the application server other than sharing a name component?
Is that why HBO has The Sopranos, Sex and the City and Six Feet Under? Only some of the highest-regarded TV series currently going.
Quality comes from not having to make concessions to UH-dvertisers.
That should be "their users are trained to use it". A Mac-user, for instance, would not feel at home at all.
And if you think that Windows is so "intuitive" that that weighs up for the lack of customizability taken for granted with any Unix desktop manager, just do a search on the net for user-support horror stories. A lot of things you take for granted is confusing to ordinary people.
Well, your analogy would hold if Microsoft didn't allow licensed OEM versions of Windows - which they do.
Well,
- There are tons of information out there about "Windows support", much of it better than what you get at support.microsoft.com. In fact, I would guess most companies get their Windows support from a company other than Microsoft 99,99% of the time.
- If Microsoft goes bust, that doesn't mean Windows stops working any more than a car from a bankrupt car maker suddenly breaks down beacuse of the bankruptcy.
Feel better now?I thought people with browsers with sucky Java VMs would do the smart thing and disable Java?
Ran fine in JRE 1.4 on my Opera 6.01 at least, though I kinda failed to see the point of it.
installing and configuring Java ... which can be done automatically - I guess you have never tried to use e.g. InstallAnywhere Now! - your loss I guess as long as people don't actually believe your FUD.
slow as tar.
Well, since a Java program on modern VMs normally is translated into native code a few (milli-)seconds after launcing, I fail to see how you have managed to write slow code, unless you
all of which brand you an IDIOT!
since the actually design Sun has yet to produce anything of value.
So you are completely unaware of things like Swing (though based on Netscape code), J2EE, the Java2D graphics API, and a host of other new stuff added over the years?
Write the classes you need - declaring the necessary methods as native, run a program to generate JNI C++ headers to go with them and implement them, shipping the native bits as shared libraries.
Oh, sorry, did I just shoot your claim in the foot?
I read quotes from Ronald Reagan when he talked about working as sports commentator in radio that he often winged it, I could try to dig up a few references. But there have been cases of sports reports where a newspaper has reported a totally different result than the actual one because the sports reporter thought nothing would alter the result in the last quarter or whatever.
I thought they ran Ultrix-32, a (mostly) BSD-based variant? The MIPS-based DECStations ran Ultrix before DEC released OSF/1 1.0 on it and then killed the MIPS line.