Exactly. If they stiff me on my lifetime agreement, then I'm not going to buy another one from them or pay them monthly. In that case, I'm going out and buying a Tivo. Hopefully, they're smart enough to know that this sort of behavior wouldn't help them.
It probably is because people is already the plural of person. I was going to rewrite that without that word (just in case I got it wrong), but I figured that irony can be funny....
Please read the post to which I was replying. In fact, in my post, I quoted:
You try writing cross-browser dhtml, js, and css that works in 4.0 browsers for a while. Now try doing it in Flash.
That is what I was responding to - the idea that it should be used to make everything look precisely the same on everybody's browser. I don't deny that Flash has its uses, I just don't think that we should be replacing all HTML with Flash, as the parent to my original post is almost implying.
You try writing cross-browser dhtml, js, and css that works in 4.0 browsers for a while. Now try doing it in Flash.
And then you miss those of us who refuse to install Flash because we hate waiting through annoying Flash animations that are the "gateway" to a website. One way or another, somebody is not going to get the "effect" that you're looking for. If you really want to publish something that looks the same to absolutely everybody, I suggest either using pdf or mailing out direct mail....
Who's whining about it being "unfair". I hear people proclaiming that it's not right, but nobody at all is complaining and saying that we should be going in half-assedly.
A lot of actors have realized that folks really like... deleted scenes."
On the "UHF" DVD, during the deleted scenes section, Al says several times that, basically, there's a reason that the scenes were deleted. In some instances, it might be interesting to know what was going through the director's mind (or at least getting hints about it), but I think in most cases, Al is right - watch the movie, the deleted scenes aren't in it for a reason.
I see what you're saying, but this still strikes me as a risky proposition. I could, in theory, create a new parent for a class that defines some method differently from the original parent of the class. This would change the behavior of objects that are instantiated as the old class (because they would inherit the method from the new parent rather than the old parent (which would now be the parent's parent?) and would be expected to act the same. But somebody working with one of these objects would be surprised that it no longer acts the same. In OOP, all I can do is create a new child with the new method, in which case I have to explicitly instantiate that child in order to get the new behavior, so I know what I'm getting into.
Of course, this isn't something that an experienced programmer would do without knowing what he/she is doing, but if not used carefully, it could be cause of major problems.
Maybe AspectJ claims to observe encapsulation, but as far as I'm concerned, the following breaks encapsulation, because it allows application developers to rely on implementation-specific details (that were carefully protected!) of an API:
...the aspect can't reach an instance variable it needs to read because it is declared in protected scope. [This problem] is easily overcome. AOP offers a mechanism by which extra classes can be bodged ('introduced' is the preferred verb in the AOP community) into the hierarchy as parents of existing classes. He uses this to add an accessor method for the field in question.
Maybe he's technically retained encapsulation by "re-encapsulating" the object somewhat differently, but for all intents and purposes, he just accessed a variable that he wasn't supposed to, so in my book, he's just done a no-no.
Okay, I'll agree with the common theme of "people can program badly in any sort of language", and AOP isn't particularly better or worse than OOP in this. But what I would like somebody to explain to me is why it's okay to allow encapsulation to be broken. Is there any way to really keep a private data member private? How about all of the other reasons that encapsulation is a good thing, like the fact that it allows a programmer to change algorithms entirely as long as a consistent interface is explained?
I'm not trying to troll here, but I'm afraid this might sound like it.... It sounds to me like the main selling points of AOP are that you don't have to design things well in the first place, because if you missed something, well then you can change how your objects behave without redesigning them.
The place where this wouldn't be true is with code that's part of the API or other code that comes packaged. I think that changing the behavior of this type of code sounds pretty dangerous to me - there's a reason that some data is kept in private and protected variables! Wouldn't you get into situations where you've added and aspect or a parent or some such thing, and in the process you access a private variable, and then you upgrade your runtime environment which changes the INTERNAL structure of the code that you hooked into (leaving the external API the same), breaking your code? Isn't that what code encapsulation is for? What I'm hearing touted as AOP's best feature is that you can break encapsulation.... Count me out.
I like #1. If I get a telemarketer during dinner (which I usually don't answer because I have caller id, but sometimes I do anyway), I'll answer, and as soon as the person starts talking, I put the phone on the table (not hung up) and keep eating. Doesn't waste much of my time, wastes quite a bit of theirs.
I was always under the impression that it was illegal to leave a pre-recorded advertisement on answering machines, but this has been happening more and more recently. Anybody know about the legality of that?
I'm in a Verizon market (with, I guess, Comcast cable now?? Hard to tell anymore). But due to RCN, I have my cable, cable modem and phone service all through a non-monopoly provider. They understand that I have a choice, and that they have to keep me happy to keep my business. If only there were competition everywhere....
And you'd be right, because the well-documented LOC difference for significant programs between, say, Java and Python is on the order of 5 to 10
And this "documentation" can be found where?
you can always counter with another anecdote
Funny you should say this, because as I'm reading your post, I see nothing but lots of anecdotal evidence. I believe that when somebody claims that many tasks are 50-100 times faster in one language than another, that person should back it up with more than anecdotal evidence.
I'm a reasonably good Java programmer, and for a good range of applications (things within my scope of knowledge), Perl or Python would have to be damn good to be that much easier than Java (I know Perl, I don't know Python, I don't believe that there's anything that I could program more than a few times faster in Perl than in Java).
Just comparing two programmers and then concluding "one was faster, so his programming language is better" is just nonsense.
I certainly agree with you - that's not the point that I was trying to make. What I meant instead of "2 or 3 times that length of time" was "in the same order of magnitude of time", or some such thing. That bit was my saying that it's ridiculous to say that there are tasks that can be completed 100x faster in Perl or Python than C or Java.
An author loses all credibility to me when he asserts things like "developers spend days and weeks writing Java and C++ code to solve problems that those talented Perl or Python programmers could have knocked out in a few hours", with absolutely no substantiation. I guess that with anecdotal evidence, you can prove anything.
I'd challenge anybody to come up with a problem that could be solved within a few hours in Perl or Python that couldn't be solved within 2 or 3 times that length of time (longer, but not "weeks") by a competent C or Java programmer. Certainly, there are jobs where Perl is absolutely the right tool. But I have a very hard time believing that there can be that much of a difference.
And "Drink water when drinking alcohol!". I really wish that somebody had told me (it could have been a few years later than 12) that one before I learned it the hard way!
I'm getting a bit OT here, but did anybody else notice in "Face Off" (why did I see that movie??), when he (whichever person it is) is busy breaking out of the super-top-security prison, he gets to the computer and (I swear that I'm not making this up) chooses the "Short out electrical system" option that is on the GUI? Because, of course, people often want to intentionally short out their electrical systems, especially when it's going to result in cascades of sparks and the disarmament of the security system of a prison....
Another thing that cheeses me off at the recording industry is that they say that "38 zillion CD-Rs were sold in the US last year, and EVERY LAST ONE OF THEM was used to pirate music!" or some such thing. Ignoring the fact that some people store (duh) data for backups (or for shipping data to customers, like my employer) or for making legit backup copies of software and music or for recording public domain music, or for recording their own music, etc..., there are even legitimate recording companies selling CD-Rs with music on them.
One good way to draw the line is whether or not a person has control over the issue. Race, Gender, disabilities, etc., the person has no control over. They really don't suggest anything about the person, they are just, effectively, attributes of the person. Things like credit history, drug testing, etc. are generally under a person's control (much as we Americans would like to blame them on anybody else). IMHO, this makes it so that it's not "discrimination" as such (or at least illegal/immoral discrimination) to limit people on the basis of those problems. Not, mind you, that I believe that it's the company's right to run a credit check, I just believe it's in a different arena than race, gender, etc.
And then there are things like intelligence, communication skills, etc. which fall somewhere in between. Since these things directly affect job performance, it may be discrimination, but it's justified.
Or put another way, if we had perfect organ transplanting technology and could replace bits of ourselves as they wore out, when would we stop being us? After the first new knee-joint? Most would say no.
This sounds suspicously like a microsoft Windows registration thread all of a sudden....
Exactly. If they stiff me on my lifetime agreement, then I'm not going to buy another one from them or pay them monthly. In that case, I'm going out and buying a Tivo. Hopefully, they're smart enough to know that this sort of behavior wouldn't help them.
It probably is because people is already the plural of person. I was going to rewrite that without that word (just in case I got it wrong), but I figured that irony can be funny....
I'm going to invent the anti-apostrophe, so that I don't have to see misplace apostrophes in other peoples' writing.
Please read the post to which I was replying. In fact, in my post, I quoted:
You try writing cross-browser dhtml, js, and css that works in 4.0 browsers for a while. Now try doing it in Flash.
That is what I was responding to - the idea that it should be used to make everything look precisely the same on everybody's browser. I don't deny that Flash has its uses, I just don't think that we should be replacing all HTML with Flash, as the parent to my original post is almost implying.
You try writing cross-browser dhtml, js, and css that works in 4.0 browsers for a while. Now try doing it in Flash.
And then you miss those of us who refuse to install Flash because we hate waiting through annoying Flash animations that are the "gateway" to a website. One way or another, somebody is not going to get the "effect" that you're looking for. If you really want to publish something that looks the same to absolutely everybody, I suggest either using pdf or mailing out direct mail....
Who's whining about it being "unfair". I hear people proclaiming that it's not right, but nobody at all is complaining and saying that we should be going in half-assedly.
I updated Cygwin ..., which I use occasionally....
That's messed up.... Cygwin on a Windows emulator on a Mac.... Joking aside, why cygwin? Why not just Mac OSX terminal?
A lot of actors have realized that folks really like ... deleted scenes."
On the "UHF" DVD, during the deleted scenes section, Al says several times that, basically, there's a reason that the scenes were deleted. In some instances, it might be interesting to know what was going through the director's mind (or at least getting hints about it), but I think in most cases, Al is right - watch the movie, the deleted scenes aren't in it for a reason.
I see what you're saying, but this still strikes me as a risky proposition. I could, in theory, create a new parent for a class that defines some method differently from the original parent of the class. This would change the behavior of objects that are instantiated as the old class (because they would inherit the method from the new parent rather than the old parent (which would now be the parent's parent?) and would be expected to act the same. But somebody working with one of these objects would be surprised that it no longer acts the same. In OOP, all I can do is create a new child with the new method, in which case I have to explicitly instantiate that child in order to get the new behavior, so I know what I'm getting into.
Of course, this isn't something that an experienced programmer would do without knowing what he/she is doing, but if not used carefully, it could be cause of major problems.
Maybe AspectJ claims to observe encapsulation, but as far as I'm concerned, the following breaks encapsulation, because it allows application developers to rely on implementation-specific details (that were carefully protected!) of an API:
Maybe he's technically retained encapsulation by "re-encapsulating" the object somewhat differently, but for all intents and purposes, he just accessed a variable that he wasn't supposed to, so in my book, he's just done a no-no.
Okay, I'll agree with the common theme of "people can program badly in any sort of language", and AOP isn't particularly better or worse than OOP in this. But what I would like somebody to explain to me is why it's okay to allow encapsulation to be broken. Is there any way to really keep a private data member private? How about all of the other reasons that encapsulation is a good thing, like the fact that it allows a programmer to change algorithms entirely as long as a consistent interface is explained?
I'm not trying to troll here, but I'm afraid this might sound like it.... It sounds to me like the main selling points of AOP are that you don't have to design things well in the first place, because if you missed something, well then you can change how your objects behave without redesigning them.
The place where this wouldn't be true is with code that's part of the API or other code that comes packaged. I think that changing the behavior of this type of code sounds pretty dangerous to me - there's a reason that some data is kept in private and protected variables! Wouldn't you get into situations where you've added and aspect or a parent or some such thing, and in the process you access a private variable, and then you upgrade your runtime environment which changes the INTERNAL structure of the code that you hooked into (leaving the external API the same), breaking your code? Isn't that what code encapsulation is for? What I'm hearing touted as AOP's best feature is that you can break encapsulation.... Count me out.
Seems to me that when the DMCA was applied to chips in printer cartridges that it passed out of the realm of copyrights....
I like #1. If I get a telemarketer during dinner (which I usually don't answer because I have caller id, but sometimes I do anyway), I'll answer, and as soon as the person starts talking, I put the phone on the table (not hung up) and keep eating. Doesn't waste much of my time, wastes quite a bit of theirs.
I was always under the impression that it was illegal to leave a pre-recorded advertisement on answering machines, but this has been happening more and more recently. Anybody know about the legality of that?
I'm in a Verizon market (with, I guess, Comcast cable now?? Hard to tell anymore). But due to RCN, I have my cable, cable modem and phone service all through a non-monopoly provider. They understand that I have a choice, and that they have to keep me happy to keep my business. If only there were competition everywhere....
And you'd be right, because the well-documented LOC difference for significant programs between, say, Java and Python is on the order of 5 to 10
And this "documentation" can be found where?
you can always counter with another anecdote
Funny you should say this, because as I'm reading your post, I see nothing but lots of anecdotal evidence. I believe that when somebody claims that many tasks are 50-100 times faster in one language than another, that person should back it up with more than anecdotal evidence.
I'm a reasonably good Java programmer, and for a good range of applications (things within my scope of knowledge), Perl or Python would have to be damn good to be that much easier than Java (I know Perl, I don't know Python, I don't believe that there's anything that I could program more than a few times faster in Perl than in Java).
Just comparing two programmers and then concluding "one was faster, so his programming language is better" is just nonsense.
I certainly agree with you - that's not the point that I was trying to make. What I meant instead of "2 or 3 times that length of time" was "in the same order of magnitude of time", or some such thing. That bit was my saying that it's ridiculous to say that there are tasks that can be completed 100x faster in Perl or Python than C or Java.
An author loses all credibility to me when he asserts things like "developers spend days and weeks writing Java and C++ code to solve problems that those talented Perl or Python programmers could have knocked out in a few hours", with absolutely no substantiation. I guess that with anecdotal evidence, you can prove anything.
I'd challenge anybody to come up with a problem that could be solved within a few hours in Perl or Python that couldn't be solved within 2 or 3 times that length of time (longer, but not "weeks") by a competent C or Java programmer. Certainly, there are jobs where Perl is absolutely the right tool. But I have a very hard time believing that there can be that much of a difference.
"Liquor before beer."
And "Drink water when drinking alcohol!". I really wish that somebody had told me (it could have been a few years later than 12) that one before I learned it the hard way!
I'm getting a bit OT here, but did anybody else notice in "Face Off" (why did I see that movie??), when he (whichever person it is) is busy breaking out of the super-top-security prison, he gets to the computer and (I swear that I'm not making this up) chooses the "Short out electrical system" option that is on the GUI? Because, of course, people often want to intentionally short out their electrical systems, especially when it's going to result in cascades of sparks and the disarmament of the security system of a prison....
Another thing that cheeses me off at the recording industry is that they say that "38 zillion CD-Rs were sold in the US last year, and EVERY LAST ONE OF THEM was used to pirate music!" or some such thing. Ignoring the fact that some people store (duh) data for backups (or for shipping data to customers, like my employer) or for making legit backup copies of software and music or for recording public domain music, or for recording their own music, etc..., there are even legitimate recording companies selling CD-Rs with music on them.
Bob Dylan was born Robert Zimmerman.
One good way to draw the line is whether or not a person has control over the issue. Race, Gender, disabilities, etc., the person has no control over. They really don't suggest anything about the person, they are just, effectively, attributes of the person. Things like credit history, drug testing, etc. are generally under a person's control (much as we Americans would like to blame them on anybody else). IMHO, this makes it so that it's not "discrimination" as such (or at least illegal/immoral discrimination) to limit people on the basis of those problems. Not, mind you, that I believe that it's the company's right to run a credit check, I just believe it's in a different arena than race, gender, etc.
And then there are things like intelligence, communication skills, etc. which fall somewhere in between. Since these things directly affect job performance, it may be discrimination, but it's justified.
Or put another way, if we had perfect organ transplanting technology and could replace bits of ourselves as they wore out, when would we stop being us? After the first new knee-joint? Most would say no.
This sounds suspicously like a microsoft Windows registration thread all of a sudden....