Slashdot is powered by your submissions, so send in your scoop


Forgot your password?
DEAL: For $25 - Add A Second Phone Number To Your Smartphone for life! Use promo code SLASHDOT25. Also, Slashdot's Facebook page has a chat bot now. Message it for stories and more. Check out the new SourceForge HTML5 Internet speed test! ×

Comment Re:Easier to learn != easier to use (Score 2) 382

1. Which is why it shouldn't be used outside of mathematical contexts. I tend to write mathematical code. It is therefore a hassle.
2. Suppose I wanted to write code that passes a Java list into a Lua function. Then it would be perfectly reasonable to have "Pass(List int_list)" and "Pass(List str_list)", and the type of the list's contents is quite relevant.
3. Yeah, Java not being the language for me is the vibe that I get. I would disagree on your statement regarding verbosity and readability. A little verbosity is a good thing for readability. A great deal of verbosity is not. There is a reason why people dislike reading legalese.
4. Any code that the IDE generates is code that could instead by generated by the compiler. This reduces the amount of visual noise, and means that I don't need to read each function definition to figure out if one of them has changed from the default.

Comment Re:Easier to learn != easier to use (Score 1) 382

I feel that that is true about any well-written code, not a property of the language. If I see a named function, I assume that it does something similar to its name. If I see addition, I assume that it does something similar to addition. If I am replacing a possibly-having-side-effects method call with a possibly-having-side-effects operator, I don't see why it would increase confusion. Heck, C++ has the "const" keyword, which makes it even easier to specify that a function has no side effects.

Ah, I didn't know that about get() being universal. Thank you. I was misremembering this stackoverflow post, which shows how you need to use either the subscript operator, the get() method, or the charAt() method, depending on whether your object is an array, a list, or a string.

Comment Re:Easier to learn != easier to use (Score 3, Insightful) 382

- I would say that operator overloading in some cases is evil. In others, it is the natural thing to do. For example, linear interpolation between two vectors is much easier to read as "s*v1 + (1-s)*v2" than as "v1.multiply(s).add(v2.multiply(1-s))".
- Yes, but by no means should I need to. In C++, I could pass all objects as void* and then include a tag to show which type it represents. I don't do so, because that is something that the compiler can handle.
- Yes, which is why I mentioned it. The situation is better, but only in recent versions of java.
- Generated code gets too complicated, because you need to look at each function and determine whether it is still identical to the generated version, or if it has been modified. If code is present, it should be present as the result of a reasonable decision.

Comment Easier to learn != easier to use (Score 2, Insightful) 382

I've tried to get into Java on multiple occasions. Each time, I get thrown back by the amount of boilerplate necessary, and by missing features.

- No operator overloading. As a result, every container type is accessed differently. Arrays use []. Lists use At(). Hashmaps use Get(). Matrices, vectors, and complex numbers are absurdly verbose, because I cannot overload addition and multiplication.
- Type erasure for generics. As a result, I cannot define different function overloads for func(List) and func(List).
- Lack of first class functions. As a result, callbacks required the absurdity of implementing the Callable interface. This has been improved recently with the addition of lambda statements.
- Lack of properties. As a result, I cannot expose anything as public, because I might want to add additional code at some point in the future. Therefore, I must have an explosion of getters/setters.

I like the idea of having a sandboxed virtual machine. I like the idea of having a single version of the bytecode that can run anywhere. I just can't stand the language.

Comment Re:5% of patients? (Score 4, Insightful) 74

Good writing eliminates ambiguity. Good reading chooses the most likely interpretation in cases of ambiguity. It is immediately obvious that good reading can alleviate the effects of bad writing, but cannot eliminate the effects, as the most likely interpretation still has some chance of being wrong.

As it is written, the sentence "More than half of the suicides were committed by just five percent of patients." is as silly as "Sixty percent of the time, works every time."

Comment Re:$3500 fine? (Score 2) 286

Let's look at the expected gain/loss. Assume that x is the probability that the company gets caught. That means there is an x probability of being down by $3500, and a (1-x) probability of being up by $40k. The break-even point occurs when x=0.08. That means that if this behavior is repeated over and over, we need to catch them at it at least 92% of the time for it to not be financially viable, giving these penalties.

This is the entire purpose of punitive damages. It is impossible to catch someone every single time. The punitive damages are to make it be so costly that one time that they are caught that the entire practice must stop. A $3500 fine is an absolute joke when the stolen wages are over ten times that amount.

Comment Re:Wrong by law (Score 1) 601

So, someone stumbling upon information is allowed, but someone seeking after that information is not? If someone believes that what the NSA does is objectionable, then the best course of action is to put a stop to it. If that means taking the job deliberately to expose it, then that is still the moral route.

Comment Re:no problem (Score 2) 508

Privacy vs. no privacy is a false dichotomy. In my own home, I can reasonably expect that no one will observe me. On a podium in front of a crown, I can reasonably expect that everyone will observe me. Walking down the street, I can reasonably expect that people will see me, notice me, but that I will be one of many, unrecognized other than by those who directly know me. It is this last expectation that is violated by omnipresent cameras.

Comment Re: Earth isn't delicate, (Score 1) 414

A plague of locusts swarms outward, consuming everything in its path. A swarm of humans, on the other hand, would swarm outward, terraforming planets and increasing habitability. One leaves the area less able to support life, the other leaves the area more able to support life. The pristine state of the universe is not the best for supporting life, and so we should feel no obligation to keep it as it is.

Slashdot Top Deals

If you had better tools, you could more effectively demonstrate your total incompetence.