Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×

Comment Re:Meh. (Score 1) 224

Apparently, though, the consumers want it or they wouldn't watch it. They may complain, but they still consider what's provided as better than nothing.

When studios see their works pirated, they think it means that people still want that content. If you don't like it, don't watch it, and don't pirate it.

Comment Re:Cold war is over! (Score 1) 526

Speak loudly and carry a big stick, eh?

But what happens when one of the wannabe miscreants decides he can take down the ring-leader by framing him? Then the wannabe ends up on top because the ring-leader has been punished and has lost his position of power.

Comment Re:Lemmings (Score 1) 667

Bad form to reply to my own post and all that, but I re-read the GP and noticed that I failed at reading comprehension regarding null pointer exceptions.

I noticed the GP said he would prefer if the whole program would crash on an NPE like C/++ - I think it would be useful to be able to tell the JVM to completely die on certain (arbitrary/user-selectable) classes of exceptions. So I guess we both agree about that. However, I still prefer the java model of throwing an exception rather than allowing access to arbitrary memory.

Comment Re:Lemmings (Score 1) 667

there's generally only 1 way to do a specific task which makes it really easy to read somebody else's code

You can certainly write obfuscated code in any language. Simply name your variables poorly and you're done!

But what I mean is that you can generally tell what the JVM will do with any piece of code, even if you don't know what the programmer is attempting. This is definitely not true of C++. Because of operator overloading, even the simplest looking code could compile in unexpected ways. For example, "a == b" looks like a simple comparison. But it might invoke the overloaded comparison operator if it has been defined. Or worse, the compiler might decide that the only way to make the comparison work is to do all sorts of type-conversion on the sides until it can find one that works. It certainly allows it to compile, but it probably won't do the operation the way you expected.

If you see "a->b" do you know that the dereference operator won't initiate some long running algorithm (maybe a computationally heavy database lookup of "a" in some remote location)? I think we both agree that doing anything like that would be bad form. But you cannot know that's not happening simply by looking at the source.

To address your bullet points, java has a few simple rules:

1) If the type name starts with a capital (Object, Integer, etc), it's an object. You can only get a pointer to it. It is always passed by reference.

2) If the type name starts with a lower-case (int, float, char) it's a primitive. You cannot get a pointer to it. It is always passed by value.

Regarding null pointer exceptions, as with dereferencing NULL memory in C family languages, they usually indicate a bug or design flaw: either an uninitialized value or the unchecked result of a map lookup. However, if you cannot fix the design, you can catch them like any other exception and let your thread continue where it left off. This is different from C family languages where those sorts of bugs give you either a crash, or unknowing access to rotten memory. At least with the NPE you get a stack trace and can find it!

Java is very verbose. However, the pain from that can be mitigated significantly by using an IDE that types most of it for you like eclipse

Comment Re:Lemmings (Score 1) 667

When the GP talks about safety, he doesn't mean a bug-free program (which is what a NPE in java is). What he means is that you cannot accidentally corrupt your memory (or hack the system) by accessing arbitrary memory.

It's also true that you can run out of memory with java. Simply create a collection, and add objects to it until the system is out of memory. There is not a language on earth that can deal with that-- How could it possibly know which ones you wanted to keep and which ones you wanted to throw away? Yes, you have to think about memory management, but you don't have to worry about it to the extent required in the C languages.

Personally, I really like Null Pointer Exceptions. They tell me exactly what and where my bug was-- unlike the behavior that can happen with one of the C languages. Because the java GC won't free an object unless nothing points to it, you cannot access a deleted object and consequently don't have to worry about the security implications of dangling pointers. In some ways, they traded one class of problems (pointer insecurity) for another (memory usage).

There are other good languages available, and java is not the best at everything. But because of its strong security features, strict typing, huge library of existing code, and simple yet cohesive syntax (there's generally only 1 way to do a specific task which makes it really easy to read somebody else's code) I believe it's one of the best general languages for business applications.

Comment Re:Computers Were Supposed To Fail Big Too (Score 2, Funny) 259

The solution to the looming computer shortage is to have more and more people share each of these remaining computers. I have developed an optimal technique for sharing (I call it Normalized Access Time, or NAT for short).

An alternate solution might be to just build more computers, but I'm not sure the infrastructure is in place for that yet.

Comment Re:My perspective after 20 years (Score 1) 364

A service mentality focuses on what works best for the company and saves money, not what your technical people know and where they've invested their training.

Re-training your technical people to know the other technologies has costs as well. For some organizations, it would cost more to re-train IT to support other technologies than it would to shoehorn everyone onto the same platform.

Comment Re:Starship Troopers (Score 1) 922

And while were at it, how about a Star Wars reboot? Not eps IV,V and VI. Just I, II and III. Please?

I don't know why you'd stop just after the first three. Have you SEEN episodes episodes 4, 5, and 6 recently? They're terrible! I still love them (childhood memories and all that), but the quality is about the same as 1, 2, and 3. They have the same lame comedy relief, the same cliches, and the same bad acting (though I'll admit that Harrison Ford is an exception).

Case in point: Ewoks (killing the empires best troops on the Endori moon surface). /RANT

Comment Re:Incompetent MD (Score 1) 423

At your work I assume there are people you work with who are more skilled, and others who are less skilled. (At least, that's how my workplace is.) Just the same, there are doctors who are more skilled, and doctors who are less skilled. Unfortunately, we often assume that what they say is always 100% correct. Never be afraid to ask for a second opinion, and never be afraid to report misbehavior.

Just as there are people in your field who are incompetent and should choose a different career, there are doctors who should probably not be.

Comment Re:I wonder if widespread automatic translation... (Score 1) 133

I wonder if widespread automatic translation will drive evolution of all languages toward vocabulary and syntax that's less prone to embarrassing or dangerous misinterpretation?

That seems unlikely. There are just too many good backhanded compliments that can be given to make all double-meanings disappear.

Slashdot Top Deals

After any salary raise, you will have less money at the end of the month than you did before.

Working...