Re:For attackers who's aim is the stone age,
on
Cyber-Attacks?
·
· Score: 1
Have you read the clap-trap that their schools, in those countries where they still pretend to have some, are spewing in an effort to reconcile the Western scientific viewpoint [snip]
You mean as opposed to the education that kids in some states of the US receive where by law creationism is taught instead of evolution?
The strangest VM bug I've come across in Java experience was one that would crash the VM completely. I still don't know the exact circumstances, but the cure was very strange indeed: cast a reference.
We ended up casting the reference in question to Object, which is *always* a no-op... but in this case, it stopped the VM from crashing. Strange indeed.
Several times in the article, it mentions that almost everyone on the "scene" uses Macs. It never really explains why this is, but it certainly implies that Macs are better for this than anything else. Is this actually just FUD, or do Macs have more sensitive line-in connections or whatever?
Firstly, I would point out that 1 billion = 1000x1 million, not 100x1 million.
However, if you really think that Microsoft didn't pay any development costs, I think you're fooling yourself. Sure, the costs were probably lower due to spreading them between the different manufacturers, but that doesn't mean they didn't have any.
Note that Nintendo also outsource chips - but still make a profit on the GameCube.
Furthermore, that $1b spent on a fab isn't down the drain in the way that the development costs of the chips themselves are - the fab can no doubt be easily adapted for the PS3 etc.
Because not everyone *wants* to run Linux or NetBSD? Sure, buying a PS1 for $50 may not appeal to that many/. readers, but the question "Why would anyone want to buy a PS1" has a pretty simple answer: because it's a pretty good console with *loads* of good games (many of which are extremely cheap these days).
If I were a parent with young kids, and didn't have much money, the PS1 would seem like a good plan to me.
You certainly *can* run Java2 apps on HP-UX. I thought FreeBSD worked through Linux emulation (and that there was now a proper FreeBSD port in process anyway). MacOS older-than-X doesn't get Java2, indeed, but MacOS X has it.
Java is still more "run anywhere" than.NET is, and I suspect it will be for quite a while.
2. They "adopted" the free and entirely non-sun code base for Java Servlets (Jakarta) and claimed it was the "Sun Reference Platform"
I'm not sure this is entirely accurate. I believe what happened was that back in the days of servlet 2.0, there was the JSDK and there was Apache JServ. Sun decided to donate their JSDK source to Apache and continued working on it as part of Tomcat.
Tomcat is now the reference servlet/JSP implementation. I don't think I've ever seen Sun claim it is "theirs". Can you give a reference?
No, all is unlikely to be hunky-dory if you set the classpath environment variable. This seems to cause more problems than anything else to newcomers. It's much easier to avoid using a classpath environment variable in the first place - the default is fine for most things, and the extensions mechanism really helps. I've got short essays about both on the Java bit of my site.
Doh - I meant that in the proposed generics mechanism the *casts* are all compiled into the bytecode anyway. In other words, the JIT compiler still needs to worry about them - it's just that the programmer doesn't.
The proposed generics proposal are all compiled into the bytecode anyway, I believe. There's a prototype compiler (which generates bytecode which can be used with the normal JRE) available here.
Although any potential date of Java going open source can't be commented on at the moment, is there any likelihood that there will be a link between it going open source and being resubmitted to ECMA?
(It seems to me that the only reason C# is really going before ECMA is to rub Sun's nose in the fact that Java has been pulled from ECMA a couple of times before now.)
Eclipse isn't always using Ant behind the scenes - it's just that it *does* let you use Ant as a separate thing. It's incremental compiler does rather a lot of things that Ant certainly wouldn't manage (in terms of dependency checking etc).
While an Ant-specific editor would be nice, I'd be happy with a plain XML editor that worked well - even just one that did syntax highlighting and allowed you to collapse/expand elements would be a good start.
I don't know whether there's active work being done in the area, but it's an idea that's been toyed with on the newsgroup, certainly. I'd love to see it, myself.
This has been requested (by me) and I believe the developers thought it was a pretty reasonable idea. I suspect it's low down in their priority list, but I think it's there.
I've been using Eclipse for a couple of months now, as my principal Java development environment. Until then, I'd been a text-editor-and-Ant guy (with Jed, a lightweight Emacs clone, as my text editor). Eclipse is the first Java IDE that makes me more productive, as far as I can tell. VAJ might have done, but the repository made it a pain to use.
So, the repository: nope, it's gone in Eclipse. Eclipse *does* maintain a local history, however, and can use CVS very easily. I believe future versions (the R2.0 stream has been promised as "soon" for a short while - I don't expect it'll be long before it's available) will have a source repository plug-in interface (a lot of Eclipse is based on a plug-in mentality) which should make it feasible to integrate it with other tools.
The best feature of the Java editors (for me) is the refactoring. Rename a class, method, parameters, package, whatever, and Eclipse will tell you what it's going to do to all affected source modules, and then do it. Likewise you can extract a block of code as a separate method, or ask Eclipse to give you empty implementations for all the unimplemented abstract methods in a class. Again, the refactoring interface should be available at some stage, and so hopefully there'll be a large list of refactorings available.
Likewise, it has excellent searching facilities - just click on a method and ask for all the places it's declared/referenced, for instance. All very handy stuff.
The support on the Eclipse newsgroup is excellent, and I'm not going to pretend that some of my support of it as a product isn't due to the fact that my first question was answered in a timely manner by none other than Erich Gamma. There are very bright people behind Eclipse. (OTI, basically.) There are also bright people working on plug-ins - Instantiations is working on ways to make it look more like VAJ for those who like VAJ, for instance.
Now, I've only used a small part of Eclipse - the Java development environment. The idea is that it's not just for Java - Eclipse is an IDE *framework* which just happens to come with a Java editor almost as an example. As a Java developer, that may be all that I need, but I like the idea that someone may come up with excellent XML editors etc to plug into it as well. (I believe WSAD already has an XML editor, but an open source one would of course be a Good Thing.)
One vaguely negative thing to note: although Eclipse is fast when it's up and running, it *is* a memory hog. Coming back after lunch and poking at it makes it obvious that an awful lot has been swappped out.
On balance, I love it. Finally, an IDE which actually *helps* me...
That's *one* licence it grants. The JRE *also* grants you the licence to use it in a normal way. This really isn't a problem - people have been distributing the JRE with their apps for ages.
Have a look at Who We Are from the Jakarta site - and that's just the project management committee. Some names from Sun, certainly, but far from all. As someone who's had a few patches etc accepted for Ant (and hopefully a few soon for Log4J) I probably count as a Jakarta developer too, and I'm not with Sun.
From the story:
supports C, C++, Java and ObjectiveC
I can't see from the web-site how it supports Java, unless you count cross-compilation as "support". On top of that, there aren't
libraries for that cross-compilation, making it nigh on useless. It's fine (-ish) to cross-compile the standard Java library Java sources, but what about the native stuff which will rely on JNI bits and pieces? Is JNI itself supported?
Either I've missed something, or this offers very little indeed to Java developers. Anyone care to fill me in?
Jon
PS The fact that their white paper introduction says that 4 years ago Java wasn't adequate for their 3D game doesn't say an awful lot. Java has come on by leaps and bounds since then...
2) Constants only require "final int foo". The public keyword only makes your constant visible to other classes. You don't need this if you define the constant in the class you're using it. The static keyword simply lets you use the variable without having to instantiate the class.
There's another difference too, however. If you declare a constant as static, you only take up that memory once. Why would you want constants not to be static?
That mini-benchmark is really not a good demonstration. For one thing, you're not taking JVM startup and JIT warmup into account. Try using JBench next time.
Someone else has pointed out that using ""+x where String.valueOf (x) or Integer.toString (x) would be more appropriate is plain bad programming, and it seems your knowledge is a little lacking if you think that Vector is usually implemented with a linked list - take a look at the source for Sun's implementation some time. Vector is a perfectly reasonable data structure to use, and has a great deal of convenience over a bare array, with very little performance cost on good VMs. (If you use ArrayList, of course, you get slightly better performance in most cases, due to it not being synchronized).
There are places where Java performs well, and there are places where Java performs badly. Your tests show neither, particularly.
You mean as opposed to the education that kids in some states of the US receive where by law creationism is taught instead of evolution?
Jon
The strangest VM bug I've come across in Java experience was one that would crash the VM completely. I still don't know the exact circumstances, but the cure was very strange indeed: cast a reference.
We ended up casting the reference in question to Object, which is *always* a no-op... but in this case, it stopped the VM from crashing. Strange indeed.
Jon
Jon
Firstly, I would point out that 1 billion = 1000x1 million, not 100x1 million.
However, if you really think that Microsoft didn't pay any development costs, I think you're fooling yourself. Sure, the costs were probably lower due to spreading them between the different manufacturers, but that doesn't mean they didn't have any.
Note that Nintendo also outsource chips - but still make a profit on the GameCube.
Furthermore, that $1b spent on a fab isn't down the drain in the way that the development costs of the chips themselves are - the fab can no doubt be easily adapted for the PS3 etc.
Jon
Because not everyone *wants* to run Linux or NetBSD? Sure, buying a PS1 for $50 may not appeal to that many /. readers, but the question "Why would anyone want to buy a PS1" has a pretty simple answer: because it's a pretty good console with *loads* of good games (many of which are extremely cheap these days).
If I were a parent with young kids, and didn't have much money, the PS1 would seem like a good plan to me.
Jon
That's rubbish. You're free to distribute Sun's JRE with your product - I know that we do!
Jon
You certainly *can* run Java2 apps on HP-UX. I thought FreeBSD worked through Linux emulation (and that there was now a proper FreeBSD port in process anyway). MacOS older-than-X doesn't get Java2, indeed, but MacOS X has it.
.NET is, and I suspect it will be for quite a while.
Java is still more "run anywhere" than
Jon
> Price of PS2 £270
Really? You're not looking in the right places then.
dabs.com has PS2s for £193 and X-Boxes for £289 inc vat.
Most places in the high street that I've seen now have PS2s without bundles for just under £200.
Jon
Um, did you actually read the article? The quote is in there.
And no, none of the AOL employees are named.
Jon
I'm not sure this is entirely accurate. I believe what happened was that back in the days of servlet 2.0, there was the JSDK and there was Apache JServ. Sun decided to donate their JSDK source to Apache and continued working on it as part of Tomcat.
Tomcat is now the reference servlet/JSP implementation. I don't think I've ever seen Sun claim it is "theirs". Can you give a reference?
Jon
Jon
Doh - I meant that in the proposed generics mechanism the *casts* are all compiled into the bytecode anyway. In other words, the JIT compiler still needs to worry about them - it's just that the programmer doesn't.
Jon
Jon
Although any potential date of Java going open source can't be commented on at the moment, is there any likelihood that there will be a link between it going open source and being resubmitted to ECMA?
(It seems to me that the only reason C# is really going before ECMA is to rub Sun's nose in the fact that Java has been pulled from ECMA a couple of times before now.)
Jon
Eclipse isn't always using Ant behind the scenes - it's just that it *does* let you use Ant as a separate thing. It's incremental compiler does rather a lot of things that Ant certainly wouldn't manage (in terms of dependency checking etc).
While an Ant-specific editor would be nice, I'd be happy with a plain XML editor that worked well - even just one that did syntax highlighting and allowed you to collapse/expand elements would be a good start.
Jon
I don't know whether there's active work being done in the area, but it's an idea that's been toyed with on the newsgroup, certainly. I'd love to see it, myself.
Jon
This has been requested (by me) and I believe the developers thought it was a pretty reasonable idea. I suspect it's low down in their priority list, but I think it's there.
Jon
I've been using Eclipse for a couple of months now, as my principal Java development environment. Until then, I'd been a text-editor-and-Ant guy (with Jed, a lightweight Emacs clone, as my text editor). Eclipse is the first Java IDE that makes me more productive, as far as I can tell. VAJ might have done, but the repository made it a pain to use.
So, the repository: nope, it's gone in Eclipse. Eclipse *does* maintain a local history, however, and can use CVS very easily. I believe future versions (the R2.0 stream has been promised as "soon" for a short while - I don't expect it'll be long before it's available) will have a source repository plug-in interface (a lot of Eclipse is based on a plug-in mentality) which should make it feasible to integrate it with other tools.
The best feature of the Java editors (for me) is the refactoring. Rename a class, method, parameters, package, whatever, and Eclipse will tell you what it's going to do to all affected source modules, and then do it. Likewise you can extract a block of code as a separate method, or ask Eclipse to give you empty implementations for all the unimplemented abstract methods in a class. Again, the refactoring interface should be available at some stage, and so hopefully there'll be a large list of refactorings available.
Likewise, it has excellent searching facilities - just click on a method and ask for all the places it's declared/referenced, for instance. All very handy stuff.
The support on the Eclipse newsgroup is excellent, and I'm not going to pretend that some of my support of it as a product isn't due to the fact that my first question was answered in a timely manner by none other than Erich Gamma. There are very bright people behind Eclipse. (OTI, basically.) There are also bright people working on plug-ins - Instantiations is working on ways to make it look more like VAJ for those who like VAJ, for instance.
Now, I've only used a small part of Eclipse - the Java development environment. The idea is that it's not just for Java - Eclipse is an IDE *framework* which just happens to come with a Java editor almost as an example. As a Java developer, that may be all that I need, but I like the idea that someone may come up with excellent XML editors etc to plug into it as well. (I believe WSAD already has an XML editor, but an open source one would of course be a Good Thing.)
One vaguely negative thing to note: although Eclipse is fast when it's up and running, it *is* a memory hog. Coming back after lunch and poking at it makes it obvious that an awful lot has been swappped out.
On balance, I love it. Finally, an IDE which actually *helps* me...
Ternary, not tertiary. (Or rather, the ? : operator is the ternary conditional operator. See JLS 15.28.)
Jon
That's *one* licence it grants. The JRE *also* grants you the licence to use it in a normal way. This really isn't a problem - people have been distributing the JRE with their apps for ages.
Jon
Have a look at Who We Are from the Jakarta site - and that's just the project management committee. Some names from Sun, certainly, but far from all. As someone who's had a few patches etc accepted for Ant (and hopefully a few soon for Log4J) I probably count as a Jakarta developer too, and I'm not with Sun.
Jon
Of course, in this case no conversion is needed at all, as println can cope with a float perfectly well.
(I suspect it wouldn't actually be slower than using String concatenation, but being wrong is definitely more of an issue.)
Jon
I can't see from the web-site how it supports Java, unless you count cross-compilation as "support". On top of that, there aren't libraries for that cross-compilation, making it nigh on useless. It's fine (-ish) to cross-compile the standard Java library Java sources, but what about the native stuff which will rely on JNI bits and pieces? Is JNI itself supported?
Either I've missed something, or this offers very little indeed to Java developers. Anyone care to fill me in?
Jon
PS The fact that their white paper introduction says that 4 years ago Java wasn't adequate for their 3D game doesn't say an awful lot. Java has come on by leaps and bounds since then...
2) Constants only require "final int foo". The public keyword only makes your constant visible to other classes. You don't need this if you define the constant in the class you're using it. The static keyword simply lets you use the variable without having to instantiate the class.
There's another difference too, however. If you declare a constant as static, you only take up that memory once. Why would you want constants not to be static?
Jon
Someone else has pointed out that using ""+x where String.valueOf (x) or Integer.toString (x) would be more appropriate is plain bad programming, and it seems your knowledge is a little lacking if you think that Vector is usually implemented with a linked list - take a look at the source for Sun's implementation some time. Vector is a perfectly reasonable data structure to use, and has a great deal of convenience over a bare array, with very little performance cost on good VMs. (If you use ArrayList, of course, you get slightly better performance in most cases, due to it not being synchronized).
There are places where Java performs well, and there are places where Java performs badly. Your tests show neither, particularly.
Jon