The CS department at Virginia Tech is a part of the MSDN Academic Alliance, so when I was an undergrad there, I could download just about every Microsoft product released for the past 15 years.
However, I don't know what they had to go through to be a part of that. But I did legally download and install Visual Studio.NET 2003 Professional for free.
The variable ptr still points to x. The variable y now is equal to something. The variable z is unchanged. The semantic difference is that with pointers, you can't change what a pointer points to in a function call; passing pointers is still pass by value. If you want to accomplish the same thing that pass by reference accomplishes, you really have to do something like this:
my_ptr = function_that_returns_pointer();
It's a subtle difference that I've found escapes many people until they encounter the difference in their own code.
I think the poster was concerned with providing concrete examples which helps us to internalize learned information, instead of proving formally that the thereom is correct. When teaching, you can't throw out everything at once; too much information is as just as bad as too little.
What's really funny is that I read his post thinking "It sounds like he's selling this to us, not just telling us about it. I bet it's his." So I looked at the comments, knowing that if that were true, someone would have checked up on it.
Re:I don't have long compile times
on
Optimizing distcc
·
· Score: 1
Compiling time isn't an issue for you because your programs aren't large enough. You have no need for this tool. There will always be projects that take a non-trivial amount of compiling, no matter what language or technology you're using.
Article description misleading
on
Methane on Mars?
·
· Score: 4, Informative
From the slashdot article description:
The leader of the ground based astronomy team, Michael Mumma of the Goddard Space Flight Center, when asked if the methane was biological in origin, said 'I think it is, myself personally.'"
From the article:
Asked whether the continual production of methane is strong evidence of a biological origin of the gas, Dr Mumma said: "I think it is, myself personally."
Dr. Mumma did not say he thinks the continual production of methane gas is necessarily biological in origin, but that it is strong evidence that it is biological in origin. Sublte difference in wording, but I think the difference in semantics is significant.
A proven 32-bit cutting-edge state-of-the-art industrial-strength Y2K-compliant zero-administration plug-and-play industry-standard Java-enabled internet-ready multimedia professional personal-computer Operating System that is even newer and faster yet compatible, with a user-friendly object-oriented 3D graphical user interface, amazing inter-application communication and plug-in capability due to not having binaries but having the syntax tree defined in XML, an enhanced filesystem, full integration into Enterprise networks, an exclusive way to deploy distributed components, seamless network sharing of printers and files.
(Someone was going to do it. Might as well be me.)
The University is going to receive subpoenas, not some "We'd like to see this stuff" letter from the RIAA. A subpoena, as I understand it, is a command from the court to produce the information (or in some cases, a person). If you don't comply, there can be legal consequences.
I think you're missing a key feature that templates allow that having collections that take a generic object does not: compile time type checking. This feature is desirable enough that Java 1.5 has templates.
Our exchange made me curious enough to look it up again, just to make sure I understood what I read. From the D&E of C++, page 339:
The former [the Smalltalk approach: rely on dynamic typing and inheritence] is very flexible, but carries a high run-time cost, and more importantly defies attempts to use static type checking to catch interface errors.
He concludes,
Thus, the key issues were seen to be notational convenience, run-time effeciency, and type safety.
I see no mention of C compatibility anywhere prohibiting what he calls the Smalltalk approach, which is the approach Java took. Remember that C++ and Java had different design goals. Having as little overhead as possible - run time effeciency - was a design goal of C++. I haven't read up on the design process of Java, but from what I know of the language, they were willing to trade run time effeciency for convenience and ease of use.
No, that's a support reason. The overhead from having everything subclass from some generic object class was considered to be too much. One of the design principles Stroustrup used was you shouldn't have to pay for what you don't use. Having every class subclass from a generic object class makes everyone pay the price, not just those who want to use inheritence.
Templates were not introduced for C compatability reasons. They were introduced because they were considered to be the most effecient and practical way of allow generic programming. Read "The Design and Evolution of C++".
There are logic langauges, such as Prolog. If you want a sorted list, for example, you don't describe how to sort a list, you describe what a sorted list looks like. The problem with this approach is that it is horribley ineffecient; Prolog will blindly do a depth-first search on the problem domain until it finds a workable solution.
Templates were not introduced for backwards-compatability with C. They were introduced because they are a type safe way to do generic programming. Relying soley on polymorphism for generic programming has two disadvantages: you sacrifice type safety and you sacrifice performance. Sometimes those issues don't matter. Sometimes they do.
Multiple inheritance can lead to poor designs. It can also be the most natural design. It allows more power than single inheritence.
Read "The Design and Evolution of C++" by Bjarne Stroustrup if you want the full discussion.
I woudldn't call this ridicule. I'm scolding you. If you followed my links and poked around a little, you'd find your answers. The film was also protected.
You've said yourself that you don't doubt the moon landings. If the moon landings happened, then it would logically follow that the problems you're presenting would have to have been solved. And if they were solved and implemented, it also logically follows that how they solved this problem is documented somewhere. So instead of throwing out questions you haven't researched, try looking up the answers.
It's my understanding that _ALL_ telescopes goal is to see as far back in time as possible.
No. It's also about gaining an understanding of the structure of the universe - finding out what exactly is out there. It's more than just looking back as far as we can.
Please don't misunderstand me. I feel very strongly that all pure science must be pursued, I just don't understand what the big deal about Hubble is.
The Hubble telescope gives us data that we just can't get from ground telescopes. What is there to not understand? You seem to have contradictory concepts going on: you say you're for "pure science" research, which the HST probably falls under, but then you ask how humanity has been improved by the HST. Short answer: it hasn't. Our understanding of the universe, however, has been improved. Whether or not that's a worthwhile endeavor (i.e., is it justifiable to fund pure science research, the kind that doesn't have any obvious benefits beyond a better understanding) I don't feel like getting into.
I didn't word that well. Have they kept things quiet about potential disasters for one reason or another? You bet.
Okay, I'll bite. What do you have in mind?
You've obviously never bothered to look up the answers to that question yourself, because it took me one google search and a ctrl-f to find the answer - they were only exposed to the radiation for four hours each time, and they were protected by the spaceship.
What I don't understand is why anyone who suggests something like the government covering up a disaster or questioning something like the moon landings is immediately ridiculed.
I can't speak for the disasters, but people are ridiculed for questioning the moon landings because anyone with a basic knowledge of physics and a little curiosity can find plenty of evidence that we did land on the moon.
There is precedent for such a thing, particularly in the case of near Earth asteroids.
Who where what now? Do tell, what disasters has the government covered up? What near-Earth asteroids has the government covered up? (I do recall instances of near-Earth asteroids in the range of 160,000 miles from us. I also recall that we only realized afterwards. What I don't recall is any consensus that this was covered up.)
My point is this: why is it so bad to ask these questions?
There is nothing wrong with asking these questions. The answers, however, are often freely available.
And that was what I meant by this isn't really a step in that direction - that is a much different technology and would require research in different areas.
And curiously, one of the impediments to such a technology is that in a parpalegic, the appropriate part of the brain may not still be there. A few years ago I read a Washington Post article that talked about what happens to the brain after debilitating injuries. One of the reasons people often need physical therapy is that they literaly need to re-learn how to move properly. If my memory servers correct, the brain will "reallocate" unused portions for stuff that actually will be used. So a large impediment to a device like you mentioned might be that someone who has been paralyzed really doesn't have the means anymore to send the signals to move a limb.
I don't think that this device is a step in that direction. This exoskeleton distributes the weight based on how the person is moving, and it's up to the user to maintain balance. Both of those require complete control of the legs. If you can't walk around normally, you can't use this.
I agree that functional programming languages are quite useful, but speaking as a coder who learned functional programming just last year in class, I can say that functional languages are a lot more complicated than procedural languages.
I don't know how you can say that the languages are more complicated. Scheme, for example, is the simplest language I know of, in terms of syntax and semantics.
I think you're confusing this with how difficult it is to think functionaly when you've been raised to think imperatively. Functional programming is a different paradigm than imperative programming, and as such, you have to think differently. If you've been programming imperatively for a while, learning another imperative langauge is often straight forward; you learn the basics of the syntax, what the language provides natively, and how you can construct what it does not provide. You already know how to solve problems with that style of language.
Learning a functional language, however, is more than just having to learn a different syntax and set of rules (assuming you've been raised imperatively). You have to learn a different way of solving problems. And until you've done that for quite some time (I, for example, have not), I don't think you're qualified to make the judgement calls you did.
I think he's referring to a huge volcanic eruption some ~100,000 years ago that killed off many, many organisms and made the Earth generally inhospitable for about 10,000 years. However, no extincitons are associated with the event.
I don't have any books on hand, but I think it was a volcanic eruption - the one that is now currently Yellowstone, I think. (Yes, Yellowstone is a super volcano - the largest in the world in fact.) Most of this is from what I can remember of Bill Bryson's "A Brief History of Nearly Everything."
The CS department at Virginia Tech is a part of the MSDN Academic Alliance, so when I was an undergrad there, I could download just about every Microsoft product released for the past 15 years.
.NET 2003 Professional for free.
However, I don't know what they had to go through to be a part of that. But I did legally download and install Visual Studio
Not quite, and it doesn't look like any of the people below hit on the semantic difference.
( z);
int something;
int x;
int y;
int z;
void change_ptr(int* ptr)
{
ptr = &something;
}
void change_ref(int& ref)
{
ref = something;
}
void change_val(int val)
{
val = something;
}
int* my_ptr = &x;
change_ptr(my_ptr);
change_ref(y);
change_val
The variable ptr still points to x. The variable y now is equal to something. The variable z is unchanged. The semantic difference is that with pointers, you can't change what a pointer points to in a function call; passing pointers is still pass by value. If you want to accomplish the same thing that pass by reference accomplishes, you really have to do something like this:
my_ptr = function_that_returns_pointer();
It's a subtle difference that I've found escapes many people until they encounter the difference in their own code.
I think the poster was concerned with providing concrete examples which helps us to internalize learned information, instead of proving formally that the thereom is correct. When teaching, you can't throw out everything at once; too much information is as just as bad as too little.
And writing code for parallelism at that level of granularity is not trivial.
What's really funny is that I read his post thinking "It sounds like he's selling this to us, not just telling us about it. I bet it's his." So I looked at the comments, knowing that if that were true, someone would have checked up on it.
Compiling time isn't an issue for you because your programs aren't large enough. You have no need for this tool. There will always be projects that take a non-trivial amount of compiling, no matter what language or technology you're using.
With that said, this certainly is exciting news.
A proven 32-bit cutting-edge state-of-the-art industrial-strength Y2K-compliant zero-administration plug-and-play industry-standard Java-enabled internet-ready multimedia professional personal-computer Operating System that is even newer and faster yet compatible, with a user-friendly object-oriented 3D graphical user interface, amazing inter-application communication and plug-in capability due to not having binaries but having the syntax tree defined in XML, an enhanced filesystem, full integration into Enterprise networks, an exclusive way to deploy distributed components, seamless network sharing of printers and files.
(Someone was going to do it. Might as well be me.)
The University is going to receive subpoenas, not some "We'd like to see this stuff" letter from the RIAA. A subpoena, as I understand it, is a command from the court to produce the information (or in some cases, a person). If you don't comply, there can be legal consequences.
Reality check: you're making the assumption that this data point reveals a trend.
Our exchange made me curious enough to look it up again, just to make sure I understood what I read. From the D&E of C++, page 339:He concludes,
I see no mention of C compatibility anywhere prohibiting what he calls the Smalltalk approach, which is the approach Java took. Remember that C++ and Java had different design goals. Having as little overhead as possible - run time effeciency - was a design goal of C++. I haven't read up on the design process of Java, but from what I know of the language, they were willing to trade run time effeciency for convenience and ease of use.
No, that's a support reason. The overhead from having everything subclass from some generic object class was considered to be too much. One of the design principles Stroustrup used was you shouldn't have to pay for what you don't use. Having every class subclass from a generic object class makes everyone pay the price, not just those who want to use inheritence.
Templates were not introduced for C compatability reasons. They were introduced because they were considered to be the most effecient and practical way of allow generic programming. Read "The Design and Evolution of C++".
There are logic langauges, such as Prolog. If you want a sorted list, for example, you don't describe how to sort a list, you describe what a sorted list looks like. The problem with this approach is that it is horribley ineffecient; Prolog will blindly do a depth-first search on the problem domain until it finds a workable solution.
Templates were not introduced for backwards-compatability with C. They were introduced because they are a type safe way to do generic programming. Relying soley on polymorphism for generic programming has two disadvantages: you sacrifice type safety and you sacrifice performance. Sometimes those issues don't matter. Sometimes they do.
Multiple inheritance can lead to poor designs. It can also be the most natural design. It allows more power than single inheritence.
Read "The Design and Evolution of C++" by Bjarne Stroustrup if you want the full discussion.
I woudldn't call this ridicule. I'm scolding you. If you followed my links and poked around a little, you'd find your answers. The film was also protected.
You've said yourself that you don't doubt the moon landings. If the moon landings happened, then it would logically follow that the problems you're presenting would have to have been solved. And if they were solved and implemented, it also logically follows that how they solved this problem is documented somewhere. So instead of throwing out questions you haven't researched, try looking up the answers.
It's my understanding that _ALL_ telescopes goal is to see as far back in time as possible.
No. It's also about gaining an understanding of the structure of the universe - finding out what exactly is out there. It's more than just looking back as far as we can.
Please don't misunderstand me. I feel very strongly that all pure science must be pursued, I just don't understand what the big deal about Hubble is.
The Hubble telescope gives us data that we just can't get from ground telescopes. What is there to not understand? You seem to have contradictory concepts going on: you say you're for "pure science" research, which the HST probably falls under, but then you ask how humanity has been improved by the HST. Short answer: it hasn't. Our understanding of the universe, however, has been improved. Whether or not that's a worthwhile endeavor (i.e., is it justifiable to fund pure science research, the kind that doesn't have any obvious benefits beyond a better understanding) I don't feel like getting into.
I didn't word that well. Have they kept things quiet about potential disasters for one reason or another? You bet.
Okay, I'll bite. What do you have in mind?
You've obviously never bothered to look up the answers to that question yourself, because it took me one google search and a ctrl-f to find the answer - they were only exposed to the radiation for four hours each time, and they were protected by the spaceship.
This is exactly what I'm talking about.
What I don't understand is why anyone who suggests something like the government covering up a disaster or questioning something like the moon landings is immediately ridiculed.
I can't speak for the disasters, but people are ridiculed for questioning the moon landings because anyone with a basic knowledge of physics and a little curiosity can find plenty of evidence that we did land on the moon.
There is precedent for such a thing, particularly in the case of near Earth asteroids.
Who where what now? Do tell, what disasters has the government covered up? What near-Earth asteroids has the government covered up? (I do recall instances of near-Earth asteroids in the range of 160,000 miles from us. I also recall that we only realized afterwards. What I don't recall is any consensus that this was covered up.)
My point is this: why is it so bad to ask these questions?
There is nothing wrong with asking these questions. The answers, however, are often freely available.
I haven't had a problem ripping any of the CDs I've purchased. Is it really that much of a problem?
And that was what I meant by this isn't really a step in that direction - that is a much different technology and would require research in different areas.
And curiously, one of the impediments to such a technology is that in a parpalegic, the appropriate part of the brain may not still be there. A few years ago I read a Washington Post article that talked about what happens to the brain after debilitating injuries. One of the reasons people often need physical therapy is that they literaly need to re-learn how to move properly. If my memory servers correct, the brain will "reallocate" unused portions for stuff that actually will be used. So a large impediment to a device like you mentioned might be that someone who has been paralyzed really doesn't have the means anymore to send the signals to move a limb.
I don't think that this device is a step in that direction. This exoskeleton distributes the weight based on how the person is moving, and it's up to the user to maintain balance. Both of those require complete control of the legs. If you can't walk around normally, you can't use this.
I agree that functional programming languages are quite useful, but speaking as a coder who learned functional programming just last year in class, I can say that functional languages are a lot more complicated than procedural languages.
I don't know how you can say that the languages are more complicated. Scheme, for example, is the simplest language I know of, in terms of syntax and semantics.
I think you're confusing this with how difficult it is to think functionaly when you've been raised to think imperatively. Functional programming is a different paradigm than imperative programming, and as such, you have to think differently. If you've been programming imperatively for a while, learning another imperative langauge is often straight forward; you learn the basics of the syntax, what the language provides natively, and how you can construct what it does not provide. You already know how to solve problems with that style of language.
Learning a functional language, however, is more than just having to learn a different syntax and set of rules (assuming you've been raised imperatively). You have to learn a different way of solving problems. And until you've done that for quite some time (I, for example, have not), I don't think you're qualified to make the judgement calls you did.
300,000 years is a fucking long time.
For a species, yes. For a planet, no.
Interesthing, thanks for the info.
I think he's referring to a huge volcanic eruption some ~100,000 years ago that killed off many, many organisms and made the Earth generally inhospitable for about 10,000 years. However, no extincitons are associated with the event.
I don't have any books on hand, but I think it was a volcanic eruption - the one that is now currently Yellowstone, I think. (Yes, Yellowstone is a super volcano - the largest in the world in fact.) Most of this is from what I can remember of Bill Bryson's "A Brief History of Nearly Everything."