Sadly, that's no longer true. For a trivial example, there are keywords in C++ that aren't keywords in C, which means that you can good C code and find out that it won't compile under C++.
Not necessarly. GCC provides compilation of Objective C in the GCC package, but it's defined as a preprocessor language... if you can compile C, you can compile Obj-C.
I remember this same meme being around in the early 60's --- it was nuclear war then --- and in the mid-70's, with The Limits to Growth. Oh, and don't forget The Population Bomb. The expected date is always in the potential lifetime of younger readers, but comfortably in the future for older ones, and so far (note that you're reading this) it always fails to happen.
Oh, and one other thing: the person pushing the theory is always selling something. A book, money for "further research," something.
I'm a big believer in pair programming --- long before it was a buzzzword, I taught programming by forcing people to work in pairs, and it works great then too. But I suspect Fagin reviews would add something even to paired code.
The "simple comment" rule isn't a bad first approximation, but sometimes you *do* complicated things. Kernel code sometimes has complicated methods in order to avoid overhead.
I don't agree about the prologue or block comment. It can be taken too far, but something with a name, an abstract, and an author and date is usually quite helpful. The java javadocs are often less helpful thhan they could be because they're missing an overall context description of the class.
The answer (40 years of experience with this) is not to set a standard on how much commenting is needed; it's to have walk-throughs of the code with an intelligent reader who isn't directly involved with the code. If they can read and understand the code, it's enough.
Look into Fagan reviews for details on an effective way to handle this.
I'm just going to say up front that this is not a comment with a conclusion.
I've been in this silly business for damn near 40 years (augh); my first computer had 8K of memory (yes, 8K, not megs) but we successfully ran a whole small business accounting system on it. 100 lines per minute chain printer. TI doesn't make a calculator that small.
I went to grad school in Computer Science in 1983; we ran a whole graduate department on a PDP 11/70. Less than a megabyte of RAM, maybe 250 MB of disk total. Less than one MIP. We got a VAX in 1985; suddenly we had a WHOLE MIP, and a shared terminal in each grad student office.
I'm writing this on a G5 MAC. God alone knows how many MIPS --- thousands, certainly. I use it alone.
Especially if you're a sysadmin, know the root password, etc., when you give your notice they'll often walk you out immediately. You gave them two weeks notice, which is what you are expected to do. If they prefer for you to spend those two weeeks at home, that's their choice.
(It'd be another story if you'd given two weeks notice and they terminated you immediately without pay. that's actually illegal.)
The short answer: yes. EMACS users have known this forever: once you get through the learning curve --- I've been using EMACS for close to 25 years, I've begun to get it --- it's much more convenient to use C-X C-f twiddle tab key key tab than to have to open and browse and so forth. Spotlight on the Mac begins to make up for it; increasingly I'll just jump to the Spotlight window and type enough to identify a file, not even bother with the pathname.
I used to consult for Sabre; they've got an airline reservations application, one of the very first transactional on-line apps, still in use since God alone knows when. It's a bear to learn, but once you do learn it you can do amazing things. (Like pick one of various possible vegetarian meals, in a few keystrokes.)
But the application I was writing was a GUI front end for this very reservation system, for use by travel agents. it was too expensive to teach agents to use Sabre; they didn't want to do it, and they were going to other systems (and as a side effect, other airlines) because they didn't want to develop and maintain the skills with the arccame application. Unlike the original Sabre operators, they weren't coding tickets eight hours a day, but just using the system occasionally.
Windows, and other point-and-click interfaces are marvelous for occasional users; mouse interfaces are good for some kinds of manipulation --- grab and drag --- but less so for others, like drawing. But the insistance on having a GUI for all applications is just a mistake.
Seems there's two points here. I'm going to address them in reverse order: on the "regurgitation" issue, well, Mozart's compositions at 10 weren't as mature or rich as his compositions at 30, but they are quite good enough that they're still played, and people still listen to them with pleasure. One of the frustrating things about being a prodigy (one you don't understand at the time) is that you're not an adult, and so you can't quite simulate it --- just as you can't quite simulate being a child either. But, for all that, unless you want to argue that Mozart's early compositions were "just regurgitating" Leopold (which would be a hard one to sell to me, at least), the lack of maturity in this kid's ideas is no reason to assume there's something suspect about his intellectual abilities.
On the other point about the Chinese Room --- this would make one hell of an exercise in a Theory of Computation course. What you argue here seems to come around to the notion that the Chinese Room can "respond" with apparent understanding by the application of simple rules to inputs and stored information in order to generate outputs -- but that this is not "understanding". But this model of using simple rules and stored data to generate outputs given inputs is precisely Turing's model of computation... so it would appear that Searle is denying the Church-Turing thesis.
Well, maybe so... but why not just say that people can understand because they have souls, and computers don't, and be done with it?
Yeah, as I know too well. But, see, the problem is that you can't make a prodigy have a normal childhood by saying that having an abnormal childhood is undesirable: if you're a prodigy, you're already having an abnormal childhood. For me, the college classes were a way of arranging it so I had something satisfying in my life; school was boring, I had very few friends, I got beat up a lot, and adults got really weird around me.
You might as well tell a kid with asthma that they'd have a happier childhood if they stopped all that coughing and wheezing.
Well, the point of mentioning the "Chinese Room" is just to make a comparison, but if I were going to go further I'd probably say the "Chinese Room" was the old behaviorist notion in vitalist drag. now, instead of saying there's no such thing as consciousness, Searle says there's a thing called consciousness, but it's such that no conceivable experiment could ever identify it from outside. (This is by definition, by the way: since the Turing Test is defined to be over any arbitrarily long interaction, Searle's argument requires that there be no interaction, no matter how long, that can distinguish between the "Chinese Room" and a "consciousness".)
As you say, sleight of hand: good for getting tenure, but not very informative.
I remember reading an article about what prodigies were up to 20 years later (looking at what happened to a bunch of kids who'd gone into college before puberty, which apparently there was a rash of in the 70s) and none of them were doing anything *that* earth-shaking. All smart men and women, sure, but no nobel prizes.
And you, right there, put your finger on the problem with being a prodigy: everyone else catches up, and when people find out you were a prodigy, they say "So what? Where's your Nobel?"
I very rarely "come out", even to friends, unless it's to explain (like now) what being a prodigy is like, and when I feel a little too much like "why haven't I gotten a Nobel" I remind myself that when Mozart was my age, he'd been dead for 17 years.
If you didn't spend days questioning him, how do you know this?
Really, you're in the same Chinese Room trap, which is much the same as the behaviorist trap 20 years earlier. The radical behaviorists claimed there was no such thing as "understanding" --- just conditioned responses. Searle claims there is some special thing called "understanding" which transcends what a machine can do as a conditioned or programmed response. And you're arguing that there is something called "regurgitation" which this kid is doing, that's somehow distinct from what you did when you took tests in high school, even though both of you received certain symbols and gave back certain other symbols in response.
I just want to know how you can tell the difference, when both of you say "1066", "42", and "F=GM1M2/R^2" at the appropriate times?
Yahoo doesn't tell you if it searches you mail or not, but certainly can (can you say "subpoena"?) Google tells you it searches you mail and tells you what purposes it uses the searches for.
Beats them to what? Yahoo mail is nothing special; gmail is so good I've moved all my personal email to the gmail account. Yahoo has 1 GB, gmail has 2.6 (at last count.) Yahoo has obnoxious ads with lots of motion, colors, and occasionally (ick) noises. Gmail has a column of well-behaved test ads that actually occasionally have something interesting, and spam recipes in the spam folder.
I *was* one of those 8 year olds in college. Feel a little sorry for him, 'cause he's caught in a hard place: as someone else observed, he will stand out and have to deal with all sorts of issues in his college as a result; on the other hand, it's not like he can have anything like a normal life in a normal school, either.
But if his experience is anything like mine, he's *not* regurgitating --- which if you think about it woulldn't work anyway. (Think about the Chinese Room Problem.) If he can "regurgitate" well enough to read what he needs to read, answer questions, and pass tests, how is that *different* from having "really" learned it?
You think you're joking, but when I used to work with the three-letter agencies, they did that. Put the computers and all the workspaces inside a Faraday cage, run the power through an isolation transformer. "Sanitize" used hard disks with thermite.
Sadly, that's no longer true. For a trivial example, there are keywords in C++ that aren't keywords in C, which means that you can good C code and find out that it won't compile under C++.
The linux tools are free for personal use.
Not necessarly. GCC provides compilation of Objective C in the GCC package, but it's defined as a preprocessor language ... if you can compile C, you can compile Obj-C.
Jeez I'm old.
I remember this same meme being around in the early 60's --- it was nuclear war then --- and in the mid-70's, with The Limits to Growth. Oh, and don't forget The Population Bomb. The expected date is always in the potential lifetime of younger readers, but comfortably in the future for older ones, and so far (note that you're reading this) it always fails to happen.
Oh, and one other thing: the person pushing the theory is always selling something. A book, money for "further research," something.
Hands on your wallets, kids.
Jesus Christ, you dolts. How did you think iTunes tells you what you might like? Tarot cards?
I'm a big believer in pair programming --- long before it was a buzzzword, I taught programming by forcing people to work in pairs, and it works great then too. But I suspect Fagin reviews would add something even to paired code.
The "simple comment" rule isn't a bad first approximation, but sometimes you *do* complicated things. Kernel code sometimes has complicated methods in order to avoid overhead.
I don't agree about the prologue or block comment. It can be taken too far, but something with a name, an abstract, and an author and date is usually quite helpful. The java javadocs are often less helpful thhan they could be because they're missing an overall context description of the class.
The answer (40 years of experience with this) is not to set a standard on how much commenting is needed; it's to have walk-throughs of the code with an intelligent reader who isn't directly involved with the code. If they can read and understand the code, it's enough.
Look into Fagan reviews for details on an effective way to handle this.
Sue me. VAX doesn't take German plurals either, but I still write "vaxen".
I'm just going to say up front that this is not a comment with a conclusion.
I've been in this silly business for damn near 40 years (augh); my first computer had 8K of memory (yes, 8K, not megs) but we successfully ran a whole small business accounting system on it. 100 lines per minute chain printer. TI doesn't make a calculator that small.
I went to grad school in Computer Science in 1983; we ran a whole graduate department on a PDP 11/70. Less than a megabyte of RAM, maybe 250 MB of disk total. Less than one MIP. We got a VAX in 1985; suddenly we had a WHOLE MIP, and a shared terminal in each grad student office.
I'm writing this on a G5 MAC. God alone knows how many MIPS --- thousands, certainly. I use it alone.
Frankly, I'm not sure where all the cycles go.
Specifically, he should be indicted and disbarred for "subornation of perjury".
Just figured you'd want to know.
Especially if you're a sysadmin, know the root password, etc., when you give your notice they'll often walk you out immediately. You gave them two weeks notice, which is what you are expected to do. If they prefer for you to spend those two weeeks at home, that's their choice.
(It'd be another story if you'd given two weeks notice and they terminated you immediately without pay. that's actually illegal.)
The short answer: yes. EMACS users have known this forever: once you get through the learning curve --- I've been using EMACS for close to 25 years, I've begun to get it --- it's much more convenient to use C-X C-f twiddle tab key key tab than to have to open and browse and so forth. Spotlight on the Mac begins to make up for it; increasingly I'll just jump to the Spotlight window and type enough to identify a file, not even bother with the pathname.
I used to consult for Sabre; they've got an airline reservations application, one of the very first transactional on-line apps, still in use since God alone knows when. It's a bear to learn, but once you do learn it you can do amazing things. (Like pick one of various possible vegetarian meals, in a few keystrokes.)
But the application I was writing was a GUI front end for this very reservation system, for use by travel agents. it was too expensive to teach agents to use Sabre; they didn't want to do it, and they were going to other systems (and as a side effect, other airlines) because they didn't want to develop and maintain the skills with the arccame application. Unlike the original Sabre operators, they weren't coding tickets eight hours a day, but just using the system occasionally.
Windows, and other point-and-click interfaces are marvelous for occasional users; mouse interfaces are good for some kinds of manipulation --- grab and drag --- but less so for others, like drawing. But the insistance on having a GUI for all applications is just a mistake.
Seems there's two points here. I'm going to address them in reverse order: on the "regurgitation" issue, well, Mozart's compositions at 10 weren't as mature or rich as his compositions at 30, but they are quite good enough that they're still played, and people still listen to them with pleasure. One of the frustrating things about being a prodigy (one you don't understand at the time) is that you're not an adult, and so you can't quite simulate it --- just as you can't quite simulate being a child either. But, for all that, unless you want to argue that Mozart's early compositions were "just regurgitating" Leopold (which would be a hard one to sell to me, at least), the lack of maturity in this kid's ideas is no reason to assume there's something suspect about his intellectual abilities.
... so it would appear that Searle is denying the Church-Turing thesis.
... but why not just say that people can understand because they have souls, and computers don't, and be done with it?
On the other point about the Chinese Room --- this would make one hell of an exercise in a Theory of Computation course. What you argue here seems to come around to the notion that the Chinese Room can "respond" with apparent understanding by the application of simple rules to inputs and stored information in order to generate outputs -- but that this is not "understanding". But this model of using simple rules and stored data to generate outputs given inputs is precisely Turing's model of computation
Well, maybe so
It's entirely possible that I'm a chat bot. how would you tell?
More to the point, though, what they're describing, while unusual, isn't *that* unusual, so explaining it away probably isn't the best strategy.
If I could mod this up, I would.
Yeah, as I know too well. But, see, the problem is that you can't make a prodigy have a normal childhood by saying that having an abnormal childhood is undesirable: if you're a prodigy, you're already having an abnormal childhood. For me, the college classes were a way of arranging it so I had something satisfying in my life; school was boring, I had very few friends, I got beat up a lot, and adults got really weird around me.
You might as well tell a kid with asthma that they'd have a happier childhood if they stopped all that coughing and wheezing.
Well, the point of mentioning the "Chinese Room" is just to make a comparison, but if I were going to go further I'd probably say the "Chinese Room" was the old behaviorist notion in vitalist drag. now, instead of saying there's no such thing as consciousness, Searle says there's a thing called consciousness, but it's such that no conceivable experiment could ever identify it from outside. (This is by definition, by the way: since the Turing Test is defined to be over any arbitrarily long interaction, Searle's argument requires that there be no interaction, no matter how long, that can distinguish between the "Chinese Room" and a "consciousness".)
As you say, sleight of hand: good for getting tenure, but not very informative.
I remember reading an article about what prodigies were up to 20 years later (looking at what happened to a bunch of kids who'd gone into college before puberty, which apparently there was a rash of in the 70s) and none of them were doing anything *that* earth-shaking. All smart men and women, sure, but no nobel prizes.
And you, right there, put your finger on the problem with being a prodigy: everyone else catches up, and when people find out you were a prodigy, they say "So what? Where's your Nobel?"
I very rarely "come out", even to friends, unless it's to explain (like now) what being a prodigy is like, and when I feel a little too much like "why haven't I gotten a Nobel" I remind myself that when Mozart was my age, he'd been dead for 17 years.
If you didn't spend days questioning him, how do you know this?
Really, you're in the same Chinese Room trap, which is much the same as the behaviorist trap 20 years earlier. The radical behaviorists claimed there was no such thing as "understanding" --- just conditioned responses. Searle claims there is some special thing called "understanding" which transcends what a machine can do as a conditioned or programmed response. And you're arguing that there is something called "regurgitation" which this kid is doing, that's somehow distinct from what you did when you took tests in high school, even though both of you received certain symbols and gave back certain other symbols in response.
I just want to know how you can tell the difference, when both of you say "1066", "42", and "F=GM1M2/R^2" at the appropriate times?
Yahoo doesn't tell you if it searches you mail or not, but certainly can (can you say "subpoena"?) Google tells you it searches you mail and tells you what purposes it uses the searches for.
Beats them to what? Yahoo mail is nothing special; gmail is so good I've moved all my personal email to the gmail account. Yahoo has 1 GB, gmail has 2.6 (at last count.) Yahoo has obnoxious ads with lots of motion, colors, and occasionally (ick) noises. Gmail has a column of well-behaved test ads that actually occasionally have something interesting, and spam recipes in the spam folder.
I don't get it.
I *was* one of those 8 year olds in college. Feel a little sorry for him, 'cause he's caught in a hard place: as someone else observed, he will stand out and have to deal with all sorts of issues in his college as a result; on the other hand, it's not like he can have anything like a normal life in a normal school, either.
But if his experience is anything like mine, he's *not* regurgitating --- which if you think about it woulldn't work anyway. (Think about the Chinese Room Problem.) If he can "regurgitate" well enough to read what he needs to read, answer questions, and pass tests, how is that *different* from having "really" learned it?
You think you're joking, but when I used to work with the three-letter agencies, they did that. Put the computers and all the workspaces inside a Faraday cage, run the power through an isolation transformer. "Sanitize" used hard disks with thermite.
... but was the reader really anonymous?