It is not a "sweeping, overgeneralized statement" to state how I explain my opinion of Java to people. If you have a different opinion of the language, that's fine. This one is mine. It would be sweeping and/or overgeneralizing if I was stating fact. I was obviously not stating fact, but giving my opinion.
I wish Slashdot would get rid of the ID numbers just because of that attitude. Just because some of us joined this forum at a later date than you doesn't mean we have less to contribute to a discussion. I see the same problem in other forums. Someone will post a critical message, and invariably someone will take issue with it and post something like, "yeah, but look at the date. He just joined this forum yesterday." So what? How does that invalidate any of his arguments?
I'm not going to argue with you. I suggest you read the Standard. If they use the word "typecast" anywhere involving sizeof and types, I'll eat my own ass. typecast implies, well, a typecase. What, prey tell, do you think is being cast?
No, pointer arithmetic takes care of that. So, it is *(x + y). If x were an int*, then x + 1 would point to the int just after x (or x + 0), not need for the programmer to do it. Works the same for arrays since in this case the array name would "decay" to a pointer to its first element.
You are wrong. The use of parens with operator sizeof and types is just the required syntax. There is no typecast of any sort going on. This is why a statement such as: "sizeof (int) 0;" is illegal. You may look at the precedence table and think it should be OK because the cast operator has precedence over the sizeof operator, but that would be wrong. The C standard says that operator sizeof followed by a left paren indicates a size of a type operation, plain and simple.
How can you even conceive of calling yourself a programmer, and have never even heard of the O'Reilly books? That's like never having heard of Knuth's "The Art of Programming."
No it doesn't fulfill the requirements. Modifying the binaries would create a derivative work of XP, thus volatile rule #1: System has no proprietary software imbedded / required.
In C, that may be true. If C++, NULL must be defined as a constant integer expression equal to 0. Though, writing "int foo = NULL;" may be foolish, in C++, it would be legal. In C, it would be legal, as long as NULL was defined as 0 and not (void*)0. Whether a null pointer is, internally, 0 or not is immaterial.
1) In the C standard, NULL is required to be 0 or (void*) 0
2) In the C++ standard, NULL is required to be 0
3) Programs are not free to change NULL. Doing so is unspecified behavior and leads to a non-standard comforming program
4) The reason NULL cannot be of type void* in C++ is that, unlike C, C++ does not allow implict casting from void*. Thus, int* p = malloc(sizeof(int)); is legal in C, but not C++.
You should go read the C Standard. A null pointer is not guaranteed to be internally represented as all bits zero. Using 0 in C code with pointers is special, and represents a null pointer. You program is implementation-specific. I am still amazed at how many self-proclaimed C experts do not know this!
Not just bare 0. Any integral constant expression (ICE) that results in 0 may be legally used as a null pointer. Thus, void* p = 2 * 3 - 6; is legal and sets p to a null pointer.
Actually, the C standard allows NULL to be 0 or (void*) 0. The C++ requires it to be 0.
What the hell is ptr = NULL != 0 suppose to mean?
ptr = NULL; and ptr = 0; are equivalent statements in both languages. So, setting a pointer to NULL and comparing it for equality with 0 is always true. Thus, ptr = NULL != 0 is always false.
Is anyone here planning on buying Vista (Longhorn, whatever) when I comes out? I've being serious. I would love to finally (!) have a rock-solid OS from MS (if this is it). I worried about DRM, though. I don't want MS controlling when and how I can use software, music, whatever on my machine. I'm concerned about the things I read about Vista (with MS cozying up to movie and music corporations). I buy all my media. I do not pirate, and I don't like being treated like one (that go for you to, Valve!)
Really? Is that why, as a Lockheed employee, I use GCC and GNAT everyday? Or why I using Mozilla on my office computer? Oh, I get it, it's the Linux machines we have in the labs. NO, it must be the whitepaper I was tasked by my manager to write on why we should CONTINUE to use open source software.
As a Software Engineer who works for LM and is proud of what I do, you don't know your ass from a hole in the ground. As a typical Slashdotter, you run your mouth without even know what the Hell your are talking about, boy.
Ah, because SCO will be broke! Good point.
Do you suppose that the people who actually buy a license will have a case against SCO when it is proven they did not have the right to sell them?
I don't think its worth explaining or arguing about. It was just a quib. I appologize if it offends you.
It is not a "sweeping, overgeneralized statement" to state how I explain my opinion of Java to people. If you have a different opinion of the language, that's fine. This one is mine. It would be sweeping and/or overgeneralizing if I was stating fact. I was obviously not stating fact, but giving my opinion.
Which is why I've always called Java "C++ for VB programmers."
I wish Slashdot would get rid of the ID numbers just because of that attitude. Just because some of us joined this forum at a later date than you doesn't mean we have less to contribute to a discussion. I see the same problem in other forums. Someone will post a critical message, and invariably someone will take issue with it and post something like, "yeah, but look at the date. He just joined this forum yesterday." So what? How does that invalidate any of his arguments?
Nice!
I'm not going to argue with you. I suggest you read the Standard. If they use the word "typecast" anywhere involving sizeof and types, I'll eat my own ass. typecast implies, well, a typecase. What, prey tell, do you think is being cast?
No, pointer arithmetic takes care of that. So, it is *(x + y). If x were an int*, then x + 1 would point to the int just after x (or x + 0), not need for the programmer to do it. Works the same for arrays since in this case the array name would "decay" to a pointer to its first element.
Yes, all C programmers knows that a[b] equates to *(a + b) regardless of which operand is the array and which is the index. Can we move on now?
You are wrong. The use of parens with operator sizeof and types is just the required syntax. There is no typecast of any sort going on. This is why a statement such as: "sizeof (int) 0;" is illegal. You may look at the precedence table and think it should be OK because the cast operator has precedence over the sizeof operator, but that would be wrong. The C standard says that operator sizeof followed by a left paren indicates a size of a type operation, plain and simple.
How can you voice an opinion of a movie you've never seen? Only on Slashdot...
The characters' personalities are completely different than they were on the series.
I when Saturday, also. I think there was only about 1/2 dozen or so other people in there.
How can you even conceive of calling yourself a programmer, and have never even heard of the O'Reilly books? That's like never having heard of Knuth's "The Art of Programming."
No it doesn't fulfill the requirements. Modifying the binaries would create a derivative work of XP, thus volatile rule #1: System has no proprietary software imbedded / required.
In C, that may be true. If C++, NULL must be defined as a constant integer expression equal to 0. Though, writing "int foo = NULL;" may be foolish, in C++, it would be legal. In C, it would be legal, as long as NULL was defined as 0 and not (void*)0. Whether a null pointer is, internally, 0 or not is immaterial.
I think you utterly missed the joke.
No, because of standard integer promotions.
1) In the C standard, NULL is required to be 0 or (void*) 0
2) In the C++ standard, NULL is required to be 0
3) Programs are not free to change NULL. Doing so is unspecified behavior and leads to a non-standard comforming program
4) The reason NULL cannot be of type void* in C++ is that, unlike C, C++ does not allow implict casting from void*. Thus, int* p = malloc(sizeof(int)); is legal in C, but not C++.
You should go read the C Standard. A null pointer is not guaranteed to be internally represented as all bits zero. Using 0 in C code with pointers is special, and represents a null pointer. You program is implementation-specific. I am still amazed at how many self-proclaimed C experts do not know this!
Not just bare 0. Any integral constant expression (ICE) that results in 0 may be legally used as a null pointer. Thus, void* p = 2 * 3 - 6; is legal and sets p to a null pointer.
Actually, the C standard allows NULL to be 0 or (void*) 0. The C++ requires it to be 0.
What the hell is ptr = NULL != 0 suppose to mean?
ptr = NULL; and ptr = 0; are equivalent statements in both languages. So, setting a pointer to NULL and comparing it for equality with 0 is always true. Thus, ptr = NULL != 0 is always false.
Is anyone here planning on buying Vista (Longhorn, whatever) when I comes out? I've being serious. I would love to finally (!) have a rock-solid OS from MS (if this is it). I worried about DRM, though. I don't want MS controlling when and how I can use software, music, whatever on my machine. I'm concerned about the things I read about Vista (with MS cozying up to movie and music corporations). I buy all my media. I do not pirate, and I don't like being treated like one (that go for you to, Valve!)
Really? Is that why, as a Lockheed employee, I use GCC and GNAT everyday? Or why I using Mozilla on my office computer? Oh, I get it, it's the Linux machines we have in the labs. NO, it must be the whitepaper I was tasked by my manager to write on why we should CONTINUE to use open source software.
As a Software Engineer who works for LM and is proud of what I do, you don't know your ass from a hole in the ground. As a typical Slashdotter, you run your mouth without even know what the Hell your are talking about, boy.