Catch up on stories from the past week (and beyond) at the Slashdot story archive


Forgot your password?

Comment Laws cannot be contraditory (Score 1) 407

It is a misunderstanding to say that the laws are coming into conflict. As an example, if it was against the law to drive less than 50 mph and above 40 mph on a road, you are guilty of one or both for driving on the road. Law is about one question: which, if any laws, have you violated. For those with which you are guilty, what should be your punishment. This is why the law is about people finding people guilty or not guilty. Innocence is not a part of law. Unfortunately, laws that are astutely obvious get struck down because there is enough outrage.

The DMCA was written specifically to kill fair use without actually striking down fair use. In an admiring-an-evil-genus way, I'm impressed withe DMCA.

Comment Java doesn't fail (Score 4, Informative) 171

The reason why you are confused is because you're used to a compiled environment, where every call is an immediate action. A C/C++ program must be coded to (i.e. explicitly) deletes memory references. If you explicitly delete, you can also tie in other explicit behavior; therefore, it's common "duh this is how you do it" practice to tie "finalize" behavior to the object's deletion. But remember, it is your program's logic that has decided when to get rid of it. In a GC environment, deletion is no longer an explicit event--it is autonomous, automatic; therefore, it is illogical to tie anything to the deletion of the memory reference to anything other than deletion of the memory reference. There is no connection between when the object was dereferenced and when the GC chooses to clean up the reference. Generally, the only events that are tied to the finalize method are sanity checks to make sure non-Java code knows the reference is going away. Put differently: in Java, memory deallocation is not a part of the running logic of your program and so the program must create an explicit method of releasing resources in your program's logic. In other words, do what you were doing before, just don't call it finalize. That's a gripe of mine about Java: It confuses C++ users who are used to using the function finalize because Java gives finalize a specific purpose that cannot act the same way.

Slashdot Top Deals

The shortest distance between two points is under construction. -- Noelie Alito