In chess, the current state of the art is that all 7 piece end games are solved. It takes a long time in chess to get from 32 pieces to 7 pieces. So while this is significant and an advantage for the computer, the game may very well be won or lost long before we get down to 7 pieces.
In my mind, the real advantage is the opening book. The computer is usually loaded with a complete encyclopedia of all known openings and all refutations in the opening as well as their evaluations.
Take away the opening book, and a computer would perform quite poorly.
The article is full of FUD and contains very little factual content.
It speculates that the car may run Symbian, or run Windows, or run who knows what? It claims that viruses may infect these operating system but supplies no evidence that any such infection has ever occurred.
I manage a group of 11 engineers with varying projects in a medium size company.
Managing schedules and pushing papers and pencils, yes, this is a lot of the manager's job. But there's also strategy, technical direction, mentorship, hiring (and eventually firing), and more influence at the higher levels as the company grows.
That might not be what they tell you, but that's what it inevitably becomes if you're a manager that has any influence at all -- and being promoted internally, that's most likely what you'll get.
Having experience with all of those things and being accountable for them rather than being a guy who merely chimes in, hey that really rounds out your resume. Building software and product isn't all about writing code; here's your opportunity to find out about how the rest of it happens.
In the worst case, you decide you don't like it. Big deal. No one said you had to do the same job forever.
The great thing is that since you'd be the manager and hence, ultimately be in charge of the schedule, you can schedule yourself to contribute some code here and some code there. That's exactly what I do:
1. Give myself interesting things to do. 2. Keep the sub-project limited in scope. 3. Try and stay off the critical path.
Being a manager doesn't mean you can't be technical; it just means that your primary responsibility is to your people and not to the code.
And if its portability would be so great, why did complete, standards-compliant compilers only get available recently? Why do many projects choose not to use exceptions or even templates to avoid portability problems?
Language standards evolve and it takes time for compilers to become compliant. Even ANSI C has seen some changes over the past few years -- and I guarantee to you that compilers didn't implement the new changes instantly. They don't evolve C++ to piss you off, they evolve C++ so that the language can serve you better. Forgive them if some of the new language features are hard to implement... hey, no one ever said building a compiler was easy.
ISO C++ does have a larger grammar than ANSI C, but the features the syntax introduced by C++ aren't gratuitous. Read The Design and Evolution of C++ by Stroustrup and you'll understand the whys and musts of C++.
As for why aren't templates and exceptions used in all projects... Well, there are good fundamental reasons why projects might choose to not use templates or exceptions or both, and they have little to do with portability.
For example, while templates are fast and type safe, they also might explode the size of your code. So if small is what you need, you may find that using void * containers is cheaper than using templates.
As for exceptions, it's understood that exceptions are slower than more traditional methods of checking status return codes. Some projects may need a better guarantee of performance than what exceptions might introduce to their runtime.
C++ is all about making features affordable and at the same time giving you choices. If the language looks ugly, it's only because some non-trivial amount of ANSI C compatibility has always been highly desireable. C++ remains a practical choice for developing highly scalable, highly reliable software.
...his computer had been rendered almost unusable for about two months by a barrage of pop-up advertising and e-mail.
For a programmer he doesn't seem to be very smart about computing.
Something like Lavasoft's Ad-Aware would have removed any advertising/hijacking software he might have downloaded and installed by accident.
As for pop-ups, certainly any of the pop-up blocking Mozilla based browsers would have done the trick. Also KHTML based browsers like Safari and Konqueror. A veritable cornucopia of choices!
Finally, as the email seemed to originate from the same company, same product, I think even the simplest filter would have been able to recognize this as spam.
In game two, Kasparov played the Berlin defence, which is a more closed game than the traditionally sharp Sicilian that Kasparov usually employs.
It is well known that the sheer number crunching ability of the computer puts it significantly above the very best human tacticians.
So yes, I think Kasparov has changed his strategy somewhat.
The T-Mobile SideKick/Danger HipTop user forums detail the endless quality problems that plague this device. Some people have gone through as many as 6 or 7 different units because they just *keep on failing*.
Besides the awful quality control problems, it also makes an awful phone: the speaker is terrible and the radio performance is astonishingly weak. Some people actually need a phone that works well and reliably over the long term.
I think you're missing the point: General Motors can't call the cops and force you to go back to work and they can't chain you to the assembly line. The handcuffs are figurative (and sometimes golden) rather than literal.
I'm not against outsourcing of jobs to the UK, Canada, Australia, Germany or Sweden. Principally then, I'm not against the outsourcing of jobs to India or China -- except that the playing field is far from level.
I believe that one of the reasons that labour is significantly cheaper in India is because the socioeconomic system is vastly different. India has government sanctioned bonded child workers. And whenever you can introduce virtual slaves into an economy, you can dramatically drive down the price of everything else.
The argument that we should be more efficient, smarter, better, more competitive against our foreign counterparts -- that's just a red herring until more fundamental human rights issues are addressed.
I'll consider outsourcing to another country economically fair and ethically legitimate when that country meets some minimum (I admit this to be somewhat fuzzy) world standard of human rights.
In chess, the current state of the art is that all 7 piece end games are solved. It takes a long time in chess to get from 32 pieces to 7 pieces. So while this is significant and an advantage for the computer, the game may very well be won or lost long before we get down to 7 pieces. In my mind, the real advantage is the opening book. The computer is usually loaded with a complete encyclopedia of all known openings and all refutations in the opening as well as their evaluations. Take away the opening book, and a computer would perform quite poorly.
really. and not because i disagree with them, but because they are -- the truth is not always in the middle.
Okay, well I did. And I missed that line. :)
The article is full of FUD and contains very little factual content.
It speculates that the car may run Symbian, or run Windows, or run who knows what? It claims that viruses may infect these operating system but supplies no evidence that any such infection has ever occurred.
informative and insightful.
I manage a group of 11 engineers with varying projects in a medium size company.
Managing schedules and pushing papers and pencils, yes, this is a lot of the manager's job. But there's also strategy, technical direction, mentorship, hiring (and eventually firing), and more influence at the higher levels as the company grows.
That might not be what they tell you, but that's what it inevitably becomes if you're a manager that has any influence at all -- and being promoted internally, that's most likely what you'll get.
Having experience with all of those things and being accountable for them rather than being a guy who merely chimes in, hey that really rounds out your resume. Building software and product isn't all about writing code; here's your opportunity to find out about how the rest of it happens.
In the worst case, you decide you don't like it. Big deal. No one said you had to do the same job forever.
The great thing is that since you'd be the manager and hence, ultimately be in charge of the schedule, you can schedule yourself to contribute some code here and some code there. That's exactly what I do:
1. Give myself interesting things to do.
2. Keep the sub-project limited in scope.
3. Try and stay off the critical path.
Being a manager doesn't mean you can't be technical; it just means that your primary responsibility is to your people and not to the code.
And if its portability would be so great, why did complete, standards-compliant compilers only get available recently? Why do many projects choose not to use exceptions or even templates to avoid portability problems?
Language standards evolve and it takes time for compilers to become compliant. Even ANSI C has seen some changes over the past few years -- and I guarantee to you that compilers didn't implement the new changes instantly. They don't evolve C++ to piss you off, they evolve C++ so that the language can serve you better. Forgive them if some of the new language features are hard to implement... hey, no one ever said building a compiler was easy.
ISO C++ does have a larger grammar than ANSI C, but the features the syntax introduced by C++ aren't gratuitous. Read The Design and Evolution of C++ by Stroustrup and you'll understand the whys and musts of C++.
As for why aren't templates and exceptions used in all projects... Well, there are good fundamental reasons why projects might choose to not use templates or exceptions or both, and they have little to do with portability.
For example, while templates are fast and type safe, they also might explode the size of your code. So if small is what you need, you may find that using void * containers is cheaper than using templates.
As for exceptions, it's understood that exceptions are slower than more traditional methods of checking status return codes. Some projects may need a better guarantee of performance than what exceptions might introduce to their runtime.
C++ is all about making features affordable and at the same time giving you choices. If the language looks ugly, it's only because some non-trivial amount of ANSI C compatibility has always been highly desireable. C++ remains a practical choice for developing highly scalable, highly reliable software.
For a programmer he doesn't seem to be very smart about computing.
In game two, Kasparov played the Berlin defence, which is a more closed game than the traditionally sharp Sicilian that Kasparov usually employs. It is well known that the sheer number crunching ability of the computer puts it significantly above the very best human tacticians. So yes, I think Kasparov has changed his strategy somewhat.
The T-Mobile SideKick/Danger HipTop user forums detail the endless quality problems that plague this device. Some people have gone through as many as 6 or 7 different units because they just *keep on failing*.
Besides the awful quality control problems, it also makes an awful phone: the speaker is terrible and the radio performance is astonishingly weak. Some people actually need a phone that works well and reliably over the long term.
I think you're missing the point: General Motors can't call the cops and force you to go back to work and they can't chain you to the assembly line. The handcuffs are figurative (and sometimes golden) rather than literal.
I believe that one of the reasons that labour is significantly cheaper in India is because the socioeconomic system is vastly different. India has government sanctioned bonded child workers. And whenever you can introduce virtual slaves into an economy, you can dramatically drive down the price of everything else.
Bonded child labour? Slaves? In India?
Yes:
http://www.cbsnews.com/stories/1999/11/22/60II/mai n71386.shtml
http://www.hrw.org/reports/1996/India3.htm
http://www.anti-slavery.org/global/india/
The argument that we should be more efficient, smarter, better, more competitive against our foreign counterparts -- that's just a red herring until more fundamental human rights issues are addressed.
I'll consider outsourcing to another country economically fair and ethically legitimate when that country meets some minimum (I admit this to be somewhat fuzzy) world standard of human rights.
As I understand, there's some unpublicized Sun effort underway to write the VM in compiled Java (eg. GCJ).