Prev: Speaking of thread safety?
Next: solutions manual to A First Course In Probability 7th Edition by Sheldon M. Ross
From: Lew on 11 Mar 2010 23:25 sl(a)my-rialto wrote: >> Someone says if one does not know the difference between "equality" and >> "equivalence", then one is an entry-level developer at best. >> >> What is your opnion ? (I think we should not talk about mathematical >> concepts, since it is the software developer in question.) Arne Vajhøj wrote: > First class developers would ask you what you mean by those terms > (or walkout from the interview, because they don't see any point > in answering such questions). > > Entry level developers may think that the question makes sense. Here in the U.S., through the 1950s and 1960s, a great deal was made of the difference, primarily because people would claim "equivalence" when it was, in fact, not present, and thus the Jim Crow laws were finally repealed. (For those oblivious to such things, that was humor. In other words, I agree with Arne. The question is bullshit.) -- Lew
From: Lew on 11 Mar 2010 23:27 sl(a)my-rialto wrote: >> Someone says if one does not know the difference between "equality" and >> "equivalence", then one is an entry-level developer at best. >> >> What is your opnion ? (I think we should not talk about mathematical >> concepts, since it is the software developer in question.) Patricia Shanahan wrote: > I think the question needs some context to make sense. Both terms are > very heavily overloaded in computer science. > > For example, consider the following: "The equals method implements an > equivalence relation on non-null object references:" > > http://java.sun.com/javase/6/docs/api/java/lang/Object.html#equals(java.lang.Object) > > > Maybe this is a rather vague way of getting at the following issue: I > would indeed expect a competent Java developer to understand the > difference, in Java, between a.equals(b) and a==b for reference > expressions a and b. Well, there we go introducing mathematical concepts, from right there in the Javadocs, no less!, despite the OP's attempt to eliminate the only reasonable context in which to answer his point. -- Lew
From: BGB / cr88192 on 11 Mar 2010 23:35 "sl(a)my-rialto" <ecp_gen(a)my-rialto.com> wrote in message news:hncbbg$h6s$1(a)news.albasani.net... > Someone says if one does not know the difference between "equality" and > "equivalence", then one is an entry-level developer at best. > this distinction is far too fluid to really be worth bothering to worry about. first one has to define these terms, and as well find some consistent way to distinguish one from another. if it were identity and equivalence, this would be more plausible (as an entry level developer can also be reasonably confused by the subtleties of pass-by-reference and pass-by-value, but anyone with much experience couldn't get by without knowing this). now, if one defines "equality" to mean "identity" and "equivalence" to mean "structurally identical", maybe this works, but could not be safely assumed from the original statement. > What is your opnion ? (I think we should not talk about mathematical > concepts, since it is the software developer in question.) > who knows... the role of math in programming is a subject of debate. personally, I think many people overstate the role of math in programming in some ways: when ever was the last time programmers had to seriously invest time in things like solving polynomials or writing proofs. these are some of the core elements of traditional math: they spend all ones' earlier years forcing off solving on people, and then later expect them to write proofs. but, usually the programmer has little need or reason to care: it matters instead that things work, and that they can get the job done, and nearly all else is secondary. the more "advanced" programmer may find themselves messing with issues which are NOT matters of solving and/or proofs, but more a world often consisting of endless piles of repetition and boilerplate... so, it would seem there is a disconnect somewhere. to the worlds of C, C++, and Java, traditional Math is an alien landscape, neither sensible nor often particularly relevant... (and those few things which are relevant are often those things Mathematicians like to sweep into the corners...). at nearly every level, some similarities exist, but at the same time, they are opposed.
From: Mike Schilling on 12 Mar 2010 00:22 Patricia Shanahan wrote: > Maybe this is a rather vague way of getting at the following issue: I > would indeed expect a competent Java developer to understand the > difference, in Java, between a.equals(b) and a==b for reference > expressions a and b. Me too, but they're both called "equality".
From: Patricia Shanahan on 12 Mar 2010 00:49
BGB / cr88192 wrote: .... > personally, I think many people overstate the role of math in programming in > some ways: > when ever was the last time programmers had to seriously invest time in > things like solving polynomials or writing proofs. .... I have rarely needed to solve a polynomial as a programmer, although I have had to understand how to solve very large systems of linear equations. On the other hand, writing proofs seems to me to be a very practical activity. For example, I sometimes debug by trying to construct a proof that the problem could not possibly have happened, taking things I think are true as the axioms. Given a valid proof of the impossibility of something that has actually happened, at least one axiom used in the proof must be false. It is a good way of selecting a set of beliefs to investigate. Patricia |