I don't expect the Nobel prize for this but it seems as if you can prove that any language is the "fastest", you just have to skew the test to your advantage. This is probably not on purpose in many cases, it just reflects that the author is more familiar with one language.
What is really needed is a community effort where proponents of each language really try to optimize their language of choice. Benchmark authors often ask for help optimizing his tests, but it rarely results in a new article.
This mini-rant was not meant to discredit the information in the link. I found it helpful and interesting. I'm just a little frustrated that the results vary so widely between tests.
What part of what I said in my previous post is it that causes you to say that I don't understand C++?
For something to be C++, it has to be in the standard, or at least be a defacto standard.
It isn't enough that one particular compiler supports putting bounds checking in place.
You need, for example, a standardized way to handle when an out of bound request has been made and that isn't in the standard as far as I know.
Similarly, just because you can plug in garbage collection into one particular C++ program through a library or into the compiler doesn't mean that it is C++.
Regarding item 2, I had a colleague at a University I worked at, which had a "proof" (I didn't look into it and it wasn't published but rather a good discussion and it was a bright guy) that a garbage collector was faster, in theory, in certain situations.
I was actually intentionally vague in my statement. I only say that it affects performance, but I didn't say that it made Java slower.
1) Java has bounds checking for arrays, C++ doesn't. This is specified in the language. This affects performance. 2) Java has garbage collection, C++ doesn't. This is specified in the language. This affects performance.
Also, the specification of Java says that it should be compiled to byte code and executed in a JVM.
The discussion that "knowing assembly makes you a better coder" pops up here at slashdot every once in a while.
I'd go out on a limb saying that a large part of the reason, for the popular belief that knowing assembly makes you a better coder, is that many people that have learned machine code are really dedicated coders and did it because it was fun. These people have a really good understanding of programming for many reasons, not only the fact that they know assembly.
Those are the people that have their voices heard on this subject here at Slashdot.
And those people are not necessarily the people I would trust to make a curriculum.
What you are advocating is that the students should understand the cost of the code that they write and you are saying that understanding assembly is the way to do that.
But here is where you are missing the point.
It is not the only way and sometimes it is the wrong way.
With virtual machines and interpreting languages, knowing the machine code of the CPU becomes pointless. You need to know what is costly for _your_ language.
What I think that you _really_ meant was that your students should understand compiler technology. That is how you understand the cost of different language constructs in a way that is portable across compiled, interpreted and byte code languages. This is unfortunately not something that you can have beginners learn, it is more of a third year thing.
Also, I've programmed professionally for 10+ years in most programming languages known to man, and I agree with your parent poster. Write simple and sensible code. Optimize when needed. More often than not, you will find that the code is fast enough. If it isn't, then you saved so much time writing the code originally, that you can spend a lot of time optimizing the problem areas.
If you disagree with this approach (write simple code and optimize when needed) then I'm willing to bet that you've never programmed outside a university environment.
Wow, you have just created a place where software _truly_ will be written according to capitalist rules. It will be like an auction, where the programmer that asks the least will snatch the bid, and it is absolutely location independent.
Then how will you compete with India?
Maybe that is the future. We will have to get used to that none of that development will be done in the U.S. At least not by anyone that doesn't live with his parents.
The question posted would be a lot less interesting if it couldn't be generalized to other places than London.
You walked into this seeing an argument that you thought you could win and make you feel like a great big powerful man. Don't be such a confrontationalist. And don't try to make this to an argument that you either win or loose. Discuss it and gain respect _and_ make friends.
Now, you will read this and get upset. And you'll be wanting my head on a platter.
If the phone is on the hook and the player is paused, the player is put in play mode when the phone is off the hook it will start play where it left off the last time someone hung up. So therefor you will also have to either hit the skip forward button or the stop button and then the play button.
There are many different combinations you can do, but the only solution that I can think of where you have to hit only one button is if the player is playing continously, with one track, and you hit the skip forward.
Have the loop run continuously with only one track, and when the user picks up the phone it activates the skip forward button.
That works great with this interface because it doesn't matter if the recording is running continously as will be restarted when someone picks up the phone.
It is not like a button and a headset where they will put on the headset first and be confused by the recording before they hit the button.
Oooh, the old heavy duty Ma bell telephone handsets, as mentioned in the parent post would be brilliant.
Then start the recording with a few signals as if you are waiting for someone to pick up. Then start your presentation.
Or skip the signals, maybe that's cheezy. In any event. Everyone will understand how do handle that equipment.
The "interface" can't get any simpler than that and it has a nice feel to it too.
Maybe you can hook it up to one of those really cheap solid state mp3 players that everyone keeps talking about in this thread. Or maybe it would be possible to "short circuit" an answering machine somehow.
With the 86, you mean the 8086, and that was actually a failure too I think. Back then the IBM PC's and XT's used the 8088 if memory serves me. I think the difference was the width of the memory bus, being 8 instead of 16 bits.
I had to read the poster name of this post to make sure I didn't write it and forgot about it.
I do exactly this (more or less) and it works just great. One difference though, and maybe that's what Elwood really meant, I have a list not with all _unplayed_ songs but a list with all _unrated_ songs.
Listening to a song and rating it to 2 or less and it will fall of the iPod on my next sync, 3 or higher and it stays.
The Swedish Krona was pegged against a basket of other currencies some ten years ago.
The Swedish krona was however losing ground and the actual value was less than what it was pegged at.
The Swedish government tried to defend its currency with higher interest rates. At one point the Swedish national bank interest rate was _500%_. George Soros won and Sweden had to give up. The Swedish Krona was unpegged and started moving freely.
Pegging works to stabilize currencies against each other. But if the true value drifts too far apart from where it was pegged, marketing forces _will_ force the currency to leave that pegged level.
I'd also like references to some authority who shares your view on your other statements (Except for the trade deficit figure which sounds about right).
It is interesting how China and India are affecting the U.S. economy in two entirely different ways. The Indians provide cheap and well educated workers. China on the other hand provide cheap products. You may be right in that Indians are followers. As a side note I think that history will show that the Chinese will be innovators.
The Chinese are undermining the production industry. This has been going on for many years. The Indians on the other hand, is undermining the skilled worker. The factory worker actually has a small advantage compare to the skilled worker in order to keep his job. The production worker creates a physical product which costs money to ship to another place in the world. This cost will motivate a higher cost for domestic production. The product of the skilled worker can be sent over the water in an Email for free (basically).
In any event, I think that IT workers for the most part aren't required to be innovators. They are hard workers and they implement what someone else has told them to implement. The innovators are the companies, and they can move their IT department to India while keeping the Innovators in the U.S. or even relocate the innovators to India.
This is interesting. Thanks.
I don't expect the Nobel prize for this but it seems as if you can prove that any language is the "fastest", you just have to skew the test to your advantage. This is probably not on purpose in many cases, it just reflects that the author is more familiar with one language.
What is really needed is a community effort where proponents of each language really try to optimize their language of choice. Benchmark authors often ask for help optimizing his tests, but it rarely results in a new article.
This mini-rant was not meant to discredit the information in the link. I found it helpful and interesting. I'm just a little frustrated that the results vary so widely between tests.
What part of what I said in my previous post is it that causes you to say that I don't understand C++?
For something to be C++, it has to be in the standard, or at least be a defacto standard.
It isn't enough that one particular compiler supports putting bounds checking in place.
You need, for example, a standardized way to handle when an out of bound request has been made and that isn't in the standard as far as I know.
Similarly, just because you can plug in garbage collection into one particular C++ program through a library or into the compiler doesn't mean that it is C++.
Regarding item 2, I had a colleague at a University I worked at, which had a "proof" (I didn't look into it and it wasn't published but rather a good discussion and it was a bright guy) that a garbage collector was faster, in theory, in certain situations.
I was actually intentionally vague in my statement. I only say that it affects performance, but I didn't say that it made Java slower.
Because I actually don't know how it will end up.
I know assembly and I have studied CPU designs. I also know compiler technology and I have written a compiler (commercially).
I abide by the rule "to write simple code and only optimize when needed" and it has worked great for me.
I'm not crapping on those that know assembly, only those who think that it gives them a right to look down on those that don't.
I stand by my rant.
No, I'm not being ironic.
I'm tired of some programmers expecting to be worshipped because they know assembly.
Assembly isn't all that.
For some uses, it is the right tool. For 99.9%+ it most definitely isn't.
A few examples
1) Java has bounds checking for arrays, C++ doesn't. This is specified in the language. This affects performance.
2) Java has garbage collection, C++ doesn't. This is specified in the language. This affects performance.
Also, the specification of Java says that it should be compiled to byte code and executed in a JVM.
So the "language" certainly affects performance.
Please point me to a source which verifies your claim.
Word!
The discussion that "knowing assembly makes you a better coder" pops up here at slashdot every once in a while.
I'd go out on a limb saying that a large part of the reason, for the popular belief that knowing assembly makes you a better coder, is that many people that have learned machine code are really dedicated coders and did it because it was fun. These people have a really good understanding of programming for many reasons, not only the fact that they know assembly.
Those are the people that have their voices heard on this subject here at Slashdot.
And those people are not necessarily the people I would trust to make a curriculum.
What you are advocating is that the students should understand the cost of the code that they write and you are saying that understanding assembly is the way to do that.
But here is where you are missing the point.
It is not the only way and sometimes it is the wrong way.
With virtual machines and interpreting languages, knowing the machine code of the CPU becomes pointless. You need to know what is costly for _your_ language.
What I think that you _really_ meant was that your students should understand compiler technology. That is how you understand the cost of different language constructs in a way that is portable across compiled, interpreted and byte code languages. This is unfortunately not something that you can have beginners learn, it is more of a third year thing.
Also, I've programmed professionally for 10+ years in most programming languages known to man, and I agree with your parent poster. Write simple and sensible code. Optimize when needed. More often than not, you will find that the code is fast enough. If it isn't, then you saved so much time writing the code originally, that you can spend a lot of time optimizing the problem areas.
If you disagree with this approach (write simple code and optimize when needed) then I'm willing to bet that you've never programmed outside a university environment.
I tried looking for the G5 at spec.org and IBM has a lot of entries there, and none which I could identify as the G5.
Apple didn't have any entries for 2003 or 2004 as far as I can tell.
If the G5 was the fastest on SpecInt or SpecFp I'm pretty sure Steve Jobs would have made sure they were on that list.
Wow, you have just created a place where software _truly_ will be written according to capitalist rules. It will be like an auction, where the programmer that asks the least will snatch the bid, and it is absolutely location independent.
Then how will you compete with India?
Maybe that is the future. We will have to get used to that none of that development will be done in the U.S. At least not by anyone that doesn't live with his parents.
The question posted would be a lot less interesting if it couldn't be generalized to other places than London.
You walked into this seeing an argument that you thought you could win and make you feel like a great big powerful man. Don't be such a confrontationalist. And don't try to make this to an argument that you either win or loose. Discuss it and gain respect _and_ make friends.
Now, you will read this and get upset. And you'll be wanting my head on a platter.
Fight that.
I've always thought that behaving erratically could get you out of a tight spot.
Now, this is only my personal theory. But what would a mugger do, if you ignore him, take your shirt off and start singing the national anthem.
He will surely be confused. That much is for sure.
What I haven't figured out yet (and I'm not trying to make a joke here) is, whether he will then leave you alone, or kill you.
So, SETI at home never really appealed to me.
But this makes me want to go out and buy cheap computers and have a "server farm" at home to try to find primes.
I'm serious.
One day I'll be able to understand myself (yeah right, and the day after that I'll understand women).
Honestly, those thumbs, and that rectangular red object behind them made me associate with the Nazi flag.
Now, I don't read anything into it and I'm not a Nazi.
It was just a silly coincidence.
This was very interesting.
I do think that the U.S. should switch to metric, it just makes sense.
But this discussion was very thought provoking.
But I have to add, that even more than being about communities, in my opinion, it is about "how it's always been" or tradition.
Maybe it is "culture", or the amalgamation of community and tradition, that stops the U.S. from adopting the metric system.
The play button is often also a pause button.
If the phone is on the hook and the player is paused, the player is put in play mode when the phone is off the hook it will start play where it left off the last time someone hung up. So therefor you will also have to either hit the skip forward button or the stop button and then the play button.
There are many different combinations you can do, but the only solution that I can think of where you have to hit only one button is if the player is playing continously, with one track, and you hit the skip forward.
Have the loop run continuously with only one track, and when the user picks up the phone it activates the skip forward button.
That works great with this interface because it doesn't matter if the recording is running continously as will be restarted when someone picks up the phone.
It is not like a button and a headset where they will put on the headset first and be confused by the recording before they hit the button.
Oooh, the old heavy duty Ma bell telephone handsets, as mentioned in the parent post would be brilliant.
Then start the recording with a few signals as if you are waiting for someone to pick up. Then start your presentation.
Or skip the signals, maybe that's cheezy. In any event. Everyone will understand how do handle that equipment.
The "interface" can't get any simpler than that and it has a nice feel to it too.
Maybe you can hook it up to one of those really cheap solid state mp3 players that everyone keeps talking about in this thread. Or maybe it would be possible to "short circuit" an answering machine somehow.
With the 86, you mean the 8086, and that was actually a failure too I think. Back then the IBM PC's and XT's used the 8088 if memory serves me. I think the difference was the width of the memory bus, being 8 instead of 16 bits.
Are you influenced by commercials on the TV? Of course you are.
If you could choose, would you choose to have the commercials disabled? Of course you would.
With this reasoning advertisers can safely assume that even annoying ads pay off.
Is that string only used internally or can it be listed with a command? Such as
modlicences
or something.
Assume for a second that a command like that existed and it gave a list of modules like this:
forcedeth license: GPL
Linuxant's HSF Modem driver license: GPL
That way it would at least be very obvious and inconvenient to lie in that license string.
Wow,
I had to read the poster name of this post to make sure I didn't write it and forgot about it.
I do exactly this (more or less) and it works just great. One difference though, and maybe that's what Elwood really meant, I have a list not with all _unplayed_ songs but a list with all _unrated_ songs.
Listening to a song and rating it to 2 or less and it will fall of the iPod on my next sync, 3 or higher and it stays.
I love it.
The Swedish Krona was pegged against a basket of other currencies some ten years ago.
The Swedish krona was however losing ground and the actual value was less than what it was pegged at.
The Swedish government tried to defend its currency with higher interest rates. At one point the Swedish national bank interest rate was _500%_. George Soros won and Sweden had to give up. The Swedish Krona was unpegged and started moving freely.
Pegging works to stabilize currencies against each other. But if the true value drifts too far apart from where it was pegged, marketing forces _will_ force the currency to leave that pegged level.
I'd also like references to some authority who shares your view on your other statements (Except for the trade deficit figure which sounds about right).
It is interesting how China and India are affecting the U.S. economy in two entirely different ways. The Indians provide cheap and well educated workers. China on the other hand provide cheap products. You may be right in that Indians are followers. As a side note I think that history will show that the Chinese will be innovators.
The Chinese are undermining the production industry. This has been going on for many years. The Indians on the other hand, is undermining the skilled worker. The factory worker actually has a small advantage compare to the skilled worker in order to keep his job. The production worker creates a physical product which costs money to ship to another place in the world. This cost will motivate a higher cost for domestic production. The product of the skilled worker can be sent over the water in an Email for free (basically).
In any event, I think that IT workers for the most part aren't required to be innovators. They are hard workers and they implement what someone else has told them to implement. The innovators are the companies, and they can move their IT department to India while keeping the Innovators in the U.S. or even relocate the innovators to India.