ok, I'd like some objects to use memory allocated from a memory mapped file. Also, I'd like to optimize the VM to pare down the--- oh... not everything?
C/C++ is the swiss army knife of computing. Java is more like the swiss cheese of computing, which everyone knows is the best chhese for a ham sandwich.
VMs work best when they are custom built to a problem domain.
Of course the kids are responsible for their actions, I say try them as adults. But still... out culture is steeped in violence, --steeped--, wtf are we going to do about it? Nothing? We don't care. Not a problem?
Even a 10 year old knows that. Maybe a really really sheltered/ignored kid wouldn't. If a kid knows that a gun can kill someone, and decided to do it, that demonstrates enough knowledge right there! Only when kids are playing with guns and accidently kill their cousin is there really a question like this....
i.e. if a five year old takes a gun to kill someone bothering him... he knew! otherwise how did he know the gun was a way to hurt someone? In movies and games, guns always kill, so in fact, it's more likely that a kid thinks guns always kill (which they don't, of course) than the opposite. When, in violent art, do people get up after being shot?
Of course, personally I'm against violent art, but we have to face the facts as they are.
that's why C has been called a portable assembler, and C++ mol follows in that vein.
All the power of machine code, but you get to use function names, structure definitions, class syntax, type checking... etc.
C/C++ do a lot of that nasty work involved with machine code (and indeed, most assemblers also provide some such features, but far less than C), such as working out the offsets and aligning for structures.
Others thought it was cool, too. Wallace began winning contests -- local, state, national -- culminating in second place in the International Intel Science and Engineering Fair last May in Cleveland. He's now beginning work on a USU physics degree.
He was retired already at the time and taught only special classes, e.g. he taught this class as a way of going through his translation.
He was primarilly a logician, and not a skeptic. It was clear he was very in love with skepticism as a subject of study, but as a logician primarilly I think he was not inclined to advocate it directly... which in a way made him a pyrrhonist.:)
He loved it because of the logic no doubt, and the fact that despite years of trying, no one has ever logically refuted skepticism. He used to say, he was waiting for some of his Positivist colleagues to come up with something, but really, no one ever did.
I think his logic textbooks were used widely for undergraduate first order logic classes... but I don't really know, one of his books was used in my logic courses, but of course, he was a professor at the school I went to, and they lean toward that sort of thing.
I don't know a lot about him, actually, but I was told he was a well respected logician, and I do know that logic was his main area of expertise/study.
throughout your post I was think, "yes but...", "well put, but..." and then I reached this, which is what I agree with and the only problem I have with GCs.
>The reason is, of course, that you build the pooling based on your knowledge of the actual usage characteristics of the objects; knowledge that no general-purpose memory manager can possibly have.
I find this in general... Garbage Collectors, not unlike VMs, do well when they know their problem domain well. So, it's common to use a Garbage Collector to manage a special heap, say of fixed size objects that are often allocated/deallocated.
The secret to memory management is "don't let things get out of hand", understand how you are using memory. It's not like having to type in a laborious syntax, like say, trying to do OOP in Fortran, which just doesn't have a friendly syntax for that... iow, it's really worthwhile to think about memory management issues, who owns memory, etc, and not just for the free() call, but for the design itself. It pays back a lot to think of these things, and use GC for particular cases that can benefit.
For this reason I don't like GC based languages (or at least, I don't like that aspect of them), while I have nothing against GC in general.
Has long been the leader in absolute dollars, though the US may have surpassed them last year.
However, per capita or as percent of GNP, the US is very low on the list. It depends how you count.
We give a lot away, but a lot of that comes back as those countries contract with american engineering firms, or buy american arms, and I just don't like the indignation of the parent post, where the assumption is that we are great, we save the world, we are selfless, and they just hate us anyway... biting the hand that feeds them.
America profits FROM the world, from doing business around the world. Which is great, by the way! Let's just face facts and not act all indignant and hurt like we should get less stink-eye from the world.
like which problem did the world whine for us to fix, exactly?
you know that thing about us giving more foriegn aid than anyone else... it's not true. But that anger... the anger... it comes from somewhere, I'm just not convinced it comes from a knowledge of world affairs.
I have not found C/C++ programmers thinking that. But who knows, you are right there are evangelical people of all technical persuasions, but that doesn't mean you cannot compare relative evangelical tendencies related to particular products. I don't like the tendency in general. I still think it's too strong in the Java camp, it's not just some people, it's Sun et al, and I think it creates a false idea of what Java is about or is for.
C++ programmers tracking down pointer problems? They are not using C++ very well are they? Because giving you tools to avoid that is what C++ gives you over C with it's class structures. I find this repeated canard like telling me that in C/C++ you spend all your time tracking down close parentheses. If you allocate memory, you have to free it. This is not hard to memorize. In C it can be a pain to implement, in C++, it shouldn't be.
Indeed, you can choose a C++ paradigm that does not have you using pointers at the application level in C++, although that's overkill since usually it's good enough to clarify who owns memory so the app programmer, while using pointers, knows they don't have to free them personally.
I especially mind this criticism when Java is the subject, because it's utter fantasy for people to argue there are not memory management bugs in Java. People actually believe that, because they think that leaking memory is the only memory problem in the world, and they overlook the fact that it's possible to leak memory in Java as well --- it's not? Well I've seen Java applications that grow in memory usage as time goes on, must be something keeping unneeded references. That is a leak.
That is, memory management isn't really just about alloc/free, it's about knowing what you are using memory for, understanding where you have something with multiple readers will read, understanding where you reference it. By telling Java newbies they won't have to worry about memory, they are done a disservice, it's not true.
Gargage collectors have been available for a long time. There are ones that hid beneath class systems or inside malloc/free, many options. They are not widely used, and especially, no particular one is dominant in the C/C++ world... why? You cannot manage memory well unless you understand the semantics of the memory, what is it being used for. You HAVE to know that to know the best time to free, the best time to realloc, the best time to use alternate heaps, etc. You don't want to get to forget these things, it's not worth it. Better for the systme if you think harder about them.
Fortran has problems with it's syntax. It's only advantage is that, as a language with no pointers, the compiler can optimize better. This is not the only factor in coding, even number crunching applications. More flexible memory management, OO idioms, etc., are leading event he scientific community away from Fortran.
And of course, it's possible in C++ to make class systems in such a way as to do very well performance-wise against Fortran with the benefit of the additional idioms C++ makes available. It's not automatically that way, C++, if you just take a pass at making a number crunching class, it will be all screwed up and slow. But that's the thing about C++... if it's important there will be ways around it, to carefully make a class system which THEN can be used rapidly (more carelessly, more intuitively), C++ never shuts you out from something the machine itself can do. Run into the same situation in java, or any VM based language, and you are SOL.
I don't think that C++ is the language for everything, but it is generally the most efficient, and therefore ideal if time and cost were not an issue (although to a degree I'm saying C++ when I should say "compiled languages"). IOW, the only reason not to do everything in a compiled language are practical matters, which of course are the most important matters of all, and therefore are deciding factors. But does that mean C/C++ isn't the best ideally?
I had the pleasure of taking a class on skepticism from Benson Mates at Berkeley, while he was finishing his translation of Sextus' Outlines of Pyrrhonism...
Ok, it's a little tacky to name drop in general... but cool, eh?!
>I guess any language ends up indirectly making you think in a different way. Maybe that's the magical part.
you are correct but let me clarify.
I claim that C/C++ never takes you away from how the machine works... the way it makes you think is "like the machine thinks"... so it can introduce OO concepts, but not to the point they conflic with how the machine works.
>With java you know you can get anything done.
ok, I'd like some objects to use memory allocated from a memory mapped file. Also, I'd like to optimize the VM to pare down the--- oh... not everything?
C/C++ is the swiss army knife of computing. Java is more like the swiss cheese of computing, which everyone knows is the best chhese for a ham sandwich.
VMs work best when they are custom built to a problem domain.
Of course the kids are responsible for their actions, I say try them as adults. But still... out culture is steeped in violence, --steeped--, wtf are we going to do about it? Nothing? We don't care. Not a problem?
Even a 10 year old knows that. Maybe a really really sheltered/ignored kid wouldn't. If a kid knows that a gun can kill someone, and decided to do it, that demonstrates enough knowledge right there! Only when kids are playing with guns and accidently kill their cousin is there really a question like this....
i.e. if a five year old takes a gun to kill someone bothering him... he knew! otherwise how did he know the gun was a way to hurt someone? In movies and games, guns always kill, so in fact, it's more likely that a kid thinks guns always kill (which they don't, of course) than the opposite. When, in violent art, do people get up after being shot?
Of course, personally I'm against violent art, but we have to face the facts as they are.
no, they shouldn't, because the margin of error for the cop determining your speed is greater than 1 mph.
by a minute? Of course, it depends on his job... maybe he's the guy that runs the shuttle launch countdown.
b/c if you are "exempt" then this is actually illegal, though IANAL... (I know you were wondering... yes, but is this guy a lawyer?)
weapons of mars destruction
it's not gibberish, he meant that the scale has two independent values, chance of collision and severity of that collision (size of the collider).
It just takes someone with at least 3/4 of a wit to understand that. Or, maybe, someone that RTFA and looked at the table.
please forgive him, he'd never heard of other languages before... He learns something new everyday!
He thought you meant 2d-bland and that you were worried that the scale was about to set loose it's meaning... you can understand the confusion.
Oh, Anonymous Coward
it occurs to me that "sorry for the misunderstanding" would make an excellent sig!
oh, very convincing not-Seth!
Looks like Verisign is being stalked by Seth
Could this be a sign that Verisign is about to become a slashdot editor?
PS: for some reason censorware.org and stalkedbyseth.com are not responding... the link is to google cash.
that's why C has been called a portable assembler, and C++ mol follows in that vein.
All the power of machine code, but you get to use function names, structure definitions, class syntax, type checking... etc.
C/C++ do a lot of that nasty work involved with machine code (and indeed, most assemblers also provide some such features, but far less than C), such as working out the offsets and aligning for structures.
It's called the best of both worlds.
Others thought it was cool, too. Wallace began winning contests -- local, state, national -- culminating in second place in the International Intel Science and Engineering Fair last May in Cleveland. He's now beginning work on a USU physics degree.
who got first place?
He was retired already at the time and taught only special classes, e.g. he taught this class as a way of going through his translation.
:)
He was primarilly a logician, and not a skeptic. It was clear he was very in love with skepticism as a subject of study, but as a logician primarilly I think he was not inclined to advocate it directly... which in a way made him a pyrrhonist.
He loved it because of the logic no doubt, and the fact that despite years of trying, no one has ever logically refuted skepticism. He used to say, he was waiting for some of his Positivist colleagues to come up with something, but really, no one ever did.
I think his logic textbooks were used widely for undergraduate first order logic classes... but I don't really know, one of his books was used in my logic courses, but of course, he was a professor at the school I went to, and they lean toward that sort of thing.
I don't know a lot about him, actually, but I was told he was a well respected logician, and I do know that logic was his main area of expertise/study.
... well thanks, you made my head explode by saying that!....
Luckilly I don't need my head to type. I can no longer read the articles on slashdot... but that doesn't matter, I can still post.
throughout your post I was think, "yes but...", "well put, but..." and then I reached this, which is what I agree with and the only problem I have with GCs.
>The reason is, of course, that you build the pooling based on your knowledge of the actual usage characteristics of the objects; knowledge that no general-purpose memory manager can possibly have.
I find this in general... Garbage Collectors, not unlike VMs, do well when they know their problem domain well. So, it's common to use a Garbage Collector to manage a special heap, say of fixed size objects that are often allocated/deallocated.
The secret to memory management is "don't let things get out of hand", understand how you are using memory. It's not like having to type in a laborious syntax, like say, trying to do OOP in Fortran, which just doesn't have a friendly syntax for that... iow, it's really worthwhile to think about memory management issues, who owns memory, etc, and not just for the free() call, but for the design itself. It pays back a lot to think of these things, and use GC for particular cases that can benefit.
For this reason I don't like GC based languages (or at least, I don't like that aspect of them), while I have nothing against GC in general.
Has long been the leader in absolute dollars, though the US may have surpassed them last year.
However, per capita or as percent of GNP, the US is very low on the list. It depends how you count.
We give a lot away, but a lot of that comes back as those countries contract with american engineering firms, or buy american arms, and I just don't like the indignation of the parent post, where the assumption is that we are great, we save the world, we are selfless, and they just hate us anyway... biting the hand that feeds them.
America profits FROM the world, from doing business around the world. Which is great, by the way! Let's just face facts and not act all indignant and hurt like we should get less stink-eye from the world.
~1991 iirc.
like which problem did the world whine for us to fix, exactly?
you know that thing about us giving more foriegn aid than anyone else... it's not true. But that anger... the anger... it comes from somewhere, I'm just not convinced it comes from a knowledge of world affairs.
Hey... Taco likes running a site that lets trolls and others mouth off in comments... that guy is using the site the way taco wants... to disagree.
Ironic, huh?
I have not found C/C++ programmers thinking that. But who knows, you are right there are evangelical people of all technical persuasions, but that doesn't mean you cannot compare relative evangelical tendencies related to particular products. I don't like the tendency in general. I still think it's too strong in the Java camp, it's not just some people, it's Sun et al, and I think it creates a false idea of what Java is about or is for.
C++ programmers tracking down pointer problems? They are not using C++ very well are they? Because giving you tools to avoid that is what C++ gives you over C with it's class structures.
I find this repeated canard like telling me that in C/C++ you spend all your time tracking down close parentheses. If you allocate memory, you have to free it. This is not hard to memorize. In C it can be a pain to implement, in C++, it shouldn't be.
Indeed, you can choose a C++ paradigm that does not have you using pointers at the application level in C++, although that's overkill since usually it's good enough to clarify who owns memory so the app programmer, while using pointers, knows they don't have to free them personally.
I especially mind this criticism when Java is the subject, because it's utter fantasy for people to argue there are not memory management bugs in Java. People actually believe that, because they think that leaking memory is the only memory problem in the world, and they overlook the fact that it's possible to leak memory in Java as well --- it's not? Well I've seen Java applications that grow in memory usage as time goes on, must be something keeping unneeded references. That is a leak.
That is, memory management isn't really just about alloc/free, it's about knowing what you are using memory for, understanding where you have something with multiple readers will read, understanding where you reference it. By telling Java newbies they won't have to worry about memory, they are done a disservice, it's not true.
Gargage collectors have been available for a long time. There are ones that hid beneath class systems or inside malloc/free, many options. They are not widely used, and especially, no particular one is dominant in the C/C++ world... why? You cannot manage memory well unless you understand the semantics of the memory, what is it being used for. You HAVE to know that to know the best time to free, the best time to realloc, the best time to use alternate heaps, etc. You don't want to get to forget these things, it's not worth it. Better for the systme if you think harder about them.
Fortran has problems with it's syntax. It's only advantage is that, as a language with no pointers, the compiler can optimize better. This is not the only factor in coding, even number crunching applications. More flexible memory management, OO idioms, etc., are leading event he scientific community away from Fortran.
And of course, it's possible in C++ to make class systems in such a way as to do very well performance-wise against Fortran with the benefit of the additional idioms C++ makes available. It's not automatically that way, C++, if you just take a pass at making a number crunching class, it will be all screwed up and slow. But that's the thing about C++... if it's important there will be ways around it, to carefully make a class system which THEN can be used rapidly (more carelessly, more intuitively), C++ never shuts you out from something the machine itself can do. Run into the same situation in java, or any VM based language, and you are SOL.
I don't think that C++ is the language for everything, but it is generally the most efficient, and therefore ideal if time and cost were not an issue (although to a degree I'm saying C++ when I should say "compiled languages"). IOW, the only reason not to do everything in a compiled language are practical matters, which of course are the most important matters of all, and therefore are deciding factors. But does that mean C/C++ isn't the best ideally?
is a demented field of cock-thinking.
But I can't do that, because there are no Calvin underoos.
poor guy... it's social skills dude.
I had the pleasure of taking a class on skepticism from Benson Mates at Berkeley, while he was finishing his translation of Sextus' Outlines of Pyrrhonism...
Ok, it's a little tacky to name drop in general... but cool, eh?!
>I guess any language ends up indirectly making you think in a different way. Maybe that's the magical part.
you are correct but let me clarify.
I claim that C/C++ never takes you away from how the machine works... the way it makes you think is "like the machine thinks"... so it can introduce OO concepts, but not to the point they conflic with how the machine works.