439 reputation
27
bio website
location
age 29
visits member for 3 years, 9 months
seen yesterday

Jun
26
comment Why is the finalize method included in Java?
@MooingDuck: #2 is a separate point because, if the native peer does not hold critical resources (e.g. it is purely an in-memory object), then there is no need to expose an explicit termination method. The safety net from #1 is explicitly about having a termination method.
Apr
13
comment Why should passwords be encrypted if they are being stored in a secure database?
"Read this entire page before you hash your passwords" - that page mentions that you should not use rounds of hashing, but a hashing method that has been specifically designed to be as slow as necessary, such as PBKDF2.
Apr
4
comment Can a Java interface declaration enforce parameter properties?
@MichaelT: The code that you cite is part of sample code for a JSR that is still very early in the implementation stages (creation of the expert group). It does not seem to have been implemented as part of Java 8.
Mar
15
answered Web API architecture design
Mar
2
comment Convert to Object Oriented Programming
What you describe is more of a 3-layered system than a 3-tier one.
Jan
5
awarded  Yearling
Jan
3
comment How to Name Different Branches with Identical Functionality in Semantic Versioning
@Residuum: If you are not satisfied by my answer, I would be glad to enrich it and make it more precise.
Dec
31
comment Can I use Dependency Injection without breaking Encapsulation?
@EvanLarsen Why? If the IValidate<> implementation has dependencies, then put these dependencies as parameters to the factory method.
Dec
30
answered Can I use Dependency Injection without breaking Encapsulation?
Dec
23
comment Why doesn't Java 8 include immutable collections?
@JamesAnderson: About BigDecimal: do you recognize that, if the BigDecimal was not immutable, then nobody could use it to materialize values, in the way one can use int, double, and any other number type? Because if I get the value of a property getLength() in a BigDecimal, I would not like being told "Warning, the value that you get can be changed at any time." - that could force me to do additional defensive copies. (Sometimes I would like to know the new length after it changes! But it cannot be the job of BigDecimal, which is supposed to represent purely a number value.)
Dec
23
comment Why doesn't Java 8 include immutable collections?
@JamesAnderson: In short, your reasons 2 and 3, are more reasons to avoid using immutability - they are not reasons for Java designers to avoid implementing it. (A good reason would be that, e.g., designing performant immutable collections requires non-trivial work)
Dec
23
awarded  Commentator
Dec
23
comment Why doesn't Java 8 include immutable collections?
@JamesAnderson: My problems with your answer: "Performance" - you could say that real life immutable collections always implement some form of sharing and reuse to avoid exactly the issue you describe. "Concurrency" - the argument boils down to "If you want mutability, then an immutable object does not work." I mean that if there is a notion of "latest version of the same thing", then something needs to mutate, either the thing itself, or something that owns the thing. And in "Storage", you seem to say that mutability is sometimes not desired.
Dec
20
awarded  Citizen Patrol
Dec
20
answered How to Name Different Branches with Identical Functionality in Semantic Versioning
Nov
27
awarded  Nice Answer
Nov
27
awarded  Yearling
Nov
26
answered Why do many languages not support named parameters?
Nov
26
comment Why do many languages not support named parameters?
@SteveFallows: The "Named Parameter Idiom" seems like a strange name for definition of a fluent API (as named by Martin Fowler) on a builder class. You can find examples of the same pattern in one of the first items of Joshua Bloch's Effective Java.
Nov
3
comment Why did Apple remove Python support in Mavericks, aka Mac OS X 10.9?
@Rig: I suspect that they say "Python is a framework" as a short-hand way of saying "Python is packaged in a framework bundle." (Which is what is written above, in the same article) - the reason for that being that the word "framework" is only used in that page as a synonym for "framework bundle".