Here's the eight questions used to determine scientific "literacy" and the percent respondents getting the correct. Personally, if this is "scientific literacy" I think we're in deep, deep doodoo.
EARTHOT The center of the Earth is very hot [true/false]. 86% HUMANRADIO All radioactivity is man-made [true/false]. 84% LASERS Lasers work by focusing sound waves [true/false]. 68% ELECATOM Electrons are smaller than atoms [true/false]. 62% COPERNICUS1 Does the Earth go around the Sun, or does the Sun go around the Earth? 72% COPERNICUS2 How long does it take for the Earth to go around the Sun? [one day, one month, one year] 45% DADGENDER It is the fatherâ(TM)s gene that decides whether the baby is a boy or a girl [true/false]. 69% ANTIBIOTICS Antibiotics kill viruses as well as bacteria [true/false]. 68% Table S3. Science literacy items. N = 1540. Consistent with the NSF Science Indicators scoring method
--- from the study supplimental data: http://www.nature.com/nclimate/journal/vaop/ncurrent/extref/nclimate1547-s1.pdf
First, the leaks do not put anyone in danger. The danger is in the documents themselves and created by the document creators, not those that leaked or published the documents. If we are not engaging in duplicitous behaviors, illegal actions, or overt lying, what is the problem?
Second, looking at previously released documents with all the same hoopla, the biggest danger was to those that chose to have their lies documented. If my government is secretly supporting a group which is engaging in terrorist activities (acknowledged by my government) I have every right to know what is being done in my name and those that are engaging in such deceptions deserver what enmity their duplicities have invoked.
I understand the need for secrecy but not when it's self-serving only to those that engage in it.
Regarding my #2 being wrong, there is nothing in your reply that rebuts it. Intel needs to be able to continue providing excuses for continuing computer/chip sales, that is capitalism and there's nothing wrong with it (except from an environmental view!) One needs to upgrade to run the latest version of the bloated and inefficient MS Windows.
"Even lowly i5 CPU can boot Win7 is under 10 seconds with an SSD and can run any game and decode any video with ease."
Right, if it's a clean install. So you agree with me. Without hardware compensating for the additional bloat we have a turkey besides the number of cores on a CPU does not make any great affect on boot time. As to running any game or encode/decode video, these are task best left to your video card not the CPU -- and the last time I looked, gamers were still overclocking because they had to for improved gaming.
"Most people may not need a quad core, but even a dual core makes your OS experience seem much more responsive."
Very few, if any people need a quad core; absolutely agree. And for those that do, what software out there efficiently utilizes any SMP based machine? Nothing I know of for the typical user.
As to dual core, as per your previous statement, an SSD is what really would make a difference -- not dual core. Besides, again, what software make efficient use of an SMP dual core?
"AMD and Intel do not "convert" their chips into single cores." True, but it's a pretty good layman's example of what is happening; some cores are shutdown with power boosts to the remaining core(s) increasing their speed. Any way you look at it, you just bought cores that are not needed and can slow down your system.
"It's just logical that if you're loading the whole CPU, why not make one part faster." Actually that is exactly what Intel used to do till some thermal barriers were hit forcing Intel to move to multi-core. Logically, and in the hardware/software world I grew up in -- Intel and embedded -- the first thing you do is get rid of the inefficiencies so the system can handle the load (as in proper design) Logically, as well, if by speeding up CPU you can make the system more efficient why have more cores in the first place? Doesn't it strike you as odd that after all the hype about multi-core, the latest and greatest is the ability to not use multi-core? There's not much software out there that uses multi-core, efficiently or otherwise. Again, as you stated, "Most people may not need a quad core"
All the discussion about how to increase throughput for a single thread is pretty much not relevant. I will state that the best ways to increase throughput for a single thread are by optimizing architecture, design (eg algorithm chosen) and implementation. Unfortunately in the PC world (thank you MS) engineering is more often hacking/programming than real engineering. (See TGMLC.)
"In the end you have two things. 1) single threaded performance about hit a brick wall and was going almost no where. 2) If you don't go SMP, someone else will and you'll die a corprate death for not advancing."
1) single threaded performance did not hit a brick wall nor was it any where near hitting a brick wall -- I/O bound was/is a much greater problem. The CPU thermal barriers to increased speed have nothing to do with the level of parallelism of any program, process, or task.
2) Maybe. In the server world the quest is to find the best all around solution which may or may not be SMP on a single core. In the end user world, it a question of marketing and, right now, marketing is pushing SMP on a single chip. (See TGMLC)
Who is going to cover the cost of the software updates your computer requires in it's attempting to keep you safe? Why should I have to pay for downloads to fix the bugs in software which I purchased but don't own (remember it's licensed) such as Windows 7.
What about pushed software? Will browsers be forced to change so I can disable, on a case by case basis, the ability for a site to push to me? Unless one has full control and user friendly controls over the ability to download data charging per bit becomes a means of theft for the connection provider; charging me for things I did not order nor want.
What about handshaking and other forms of continuity used to maintain consistency on the web? Why should I be charged for a toggle bit as it is used by, and provides benefit to, the provider? Will the provider adjust charges based upon distance ala toll based highways -- the less the resources used the lower the cost?
Charging based upon usage simply does not work for the end user as the end user does not have control over the amount of data being down/up loaded. All charging for usage does is to give the providers a free hand into one's pocket book to extract as much money as possible.
Problems:
1) Intel hit a road block with being able to up the frequency it's processors (or anyone's processor's) could run at so marketing could no longer tout the next generation as being "faster."
2) Intel needs to be able to continue providing excuses for continuing computer/chip sales; one needs to upgrade to run the latest version of the bloated and inefficient MS Windows.
Solution:
Give marketing new materials by putting multiple symmetric cores on a single chip. This can be done at negligible cost while providing a great marketing device for selling the "need" to upgrade one's system.
Note that the SMP environment Intel came up with was NOT a solution for nor driven by any real life end users' problems. The only problem it solved was to provide marketing with a new sales campaign.
As someone who has spent almost thirty years designing computer systems, there are two (among others) critical elements in designing any computer (or other) system. The first we all know is KISS or Keep it Simple, Stupid!. Along with the elegance of a simple solution, one also gets reliability and efficiency. No one that has every worked with an SMP system can claim it's simple; it may be the simplest solution for a given problem, but that does not make it simple.
Second is the fact that most jobs everyone does every day with their computers does not need SMP. Further, to make matters much worse, the day to day tasks we use our computers for do not lend themselves to a SMP environment. Any analysis of what the typical user does with his/her computer will show that the task is most efficiently and reliably performed on a single core. This is why Intel, and now AMD, has included circuitry to essentially convert their SMP chips to single core. This is what allows XP's continued use successfully despite all the MS admonitions to upgrade; XP performs all the required tasks within the required time frame on a single core. This is why numerous benchmarks still show XP as outperforming Windows 7 for the vast majority of tasks performed by the home and business user.
If we, especially Microsoft, bothered to design and implement software based upon the need to solve user's problems (and not simply to sell more software and hardware) we could go a long way to perform our computing tasks with ease and efficiency (both human and power) with a great deal more security than we have now. Microsoft, as a monopoly, has given little thought to giving the end-user the best computing experience as per the end-user's needs. Intel, and AMD, with the advent of the SMP chip have given Microsoft and other software developers the ability wreak havoc. Think, why else is the "latest" CPU innovation the ability to cut back code execution from across multiple cores to a single core?
"He argues that embedded systems developers must program more defensively, and that companies should stop relying on software for safety"
I've been doing embedded systems development since about 1981 at companies such as Intel, Etec, Tait, and contracted for many, many others. None of the companies I've worked for relied solely on software for safety; we all knew better. Whether opening a door, sending a distress signal, or having a robot move there has always been a physical "wall" behind the software to prevent mishaps that could led to bodily harm or mission critical failures.
It is patently unfair to claim a generic problem with embedded system developers; especially true considering the extent embedded system are involved in our lives -- from thermostats to microwave ovens, from the bios in our PC to our TV, the list goes on and on. Besides, as to the Toyota problem, we have no idea as to the cause and the reams of data we have are not reliable.
We should stop selling weapons to everyone and anyone as these same weapons end up being used against us. We should nationalize the defense industry as part of our military; as great as our military is, is it more than capable of being in charge of it's own weapons production. As long as our "defense" industries are profit based, they will require -- and "our" government will provide -- war.
Having been in the same situation far too many times -- both the engineer and the engineering manager -- nightgeometry is has it pretty right on; we're in this together. There's two more things as "boss" that I would have to do. 1) Send my people home if I saw they were getting burnt out or spinning wheels; you can get a lot more accomplished refreshed. 2) Most of my bosses didn't understand jacksh-t about the work we were doing so I was needed to run interference if they decided to drop in as well.
What should be taught is the ability to look at and analyze a problem to find the best available tools (in this case computer language) to accomplish the solution of the problems, not how to use a tool or tools directly. It needs to be taught how to decide whether to use a screw or a nail, then which tool is better (a screwdriver for a screw and a hammer for a nail), and finally how to use that tool in a practical way. Schools should be teaching computer languages as after thoughts and as a means to problem solve, not as an end in themselves.
Learning and using most all higher level programming languages is a no-brainer for someone that has been trained in problem analysis, compilers/interpretors are self-teaching tools. Has C++ brought us better solutions (more efficient, easier to maintain, less complexity,...?) over C? over Ruby? over Cobol? over fortran?
Students and staff need a safe and secure place to backup their work. Too many uSoft induced problems among PC users requires a separate backups and their really should be data copies stored off-site.
Any student that does not use the computer labs backup system and loses stuff should be pure out of luck -- real-world training.
Guess from what I've been reading on slashdot -- and not from we readers -- I'm not going to be slashdotting anymore. To stick the word "staggering" in the headline belies a belief in truth and becomes propaganda. Too bad, you used to be good slashdot, but you became corporate media.
You obviously are unaware of the different Verizon DSL access on the two coasts. I think, on the East Coast and most of the country Verizon uses PPoE which requires a login/password. On the West Coast (at least here in Oregon) Verizon uses straight DHCP which does not require a password or login name.
It's no wonder that the lay person is so confused about computers -- no matter what the O/S -- bad advice from well-meaning people. Always check your facts; what is true for you may not be true for everybody.
My first, and only question is: If I replace XP/SP3 on my machine with Windows 7 nee Vista will my hardware and applications perform any better? The only improvement I've ever seen in a usoft upgrade was SP3 for XP which did have a small performance increase under certain conditions.
Actually, I would want it to test in a virtual machine to see if it's worth upgrading/buying it to replace my XP and or Vista boxes. I would never use it illegally. Than again, given a choice I would never us Vista legally either.
Just because you can get away doing something legally, does not mean it is ethical.
If you really want to know its legality -- ask an attorney.
If you really want to know if it's ethical -- ask your conscience and debate it among your peers.
The only problem solved here, for the vast majority of windows users, in one created by Microsoft in the first place -- code bloat. Microsoft OSs are overblown, poorly designed, and poorly implemented. (Yes, I have worked at Microsoft in a technical capacity on their OSs and LAN.)
Intel went with multi-core simply because they could no longer create a "next generation" single core for people to "step up" to -- as in buying a new computer.
When one looks at an analysis of what most PCs are used for, a single core is fine IFF you have decent code to execute on it. An efficient design and implementation of the OS would would outperform any version of Vista (including 7) or XP. When the OS is the key product itself (as in MS Windows)rather than the base for efficiently running applications it becomes a detriment to the user and raises cost of hardware, software, and maintenance.
Ask yourself, when was the the last time a Microsoft upgrade made your applications perform faster, require less resources, or made you more efficient?
All we are seeing with the change to multi-core is the need to buy more Microsoft crap to use ever more complex hardware (cpu, in this case.) What we are seeing is the continuation of Microsoft and Intel telling us how great it is to give them more money. We need to buy new PCs because Windows requires more computing power because Intel requires more Windows. The fact our apps do not run any faster on the new hardware doesn't matter. The fact that upgrading the computer requires an upgrade of the OS does -- as in paying the Microsoft tax.
Multiprocessor/multi-core system are needed for certain types of tasks -- they work for problems that are best solved by single instruction/multiple data and multiple instruction/single data architectures. Neither of these architectures are required by the vast majority PC users. The additional complexity required for parallel processing gives no Windows OS performance benefits to the average user nor will s/he see any improvement in the execution of their apps.
What we should be looking at is task dedicated processors (as in ubiquitous computing.) For example, two of the most common tasks are spreadsheets and word processing. Put on the silicon a processor designed specifically for spreadsheets and a processor specifically for word processing combined with a processor for traffic control. Each task could be isolated (security!) Dedicated opcodes for each processor would increase efficiency as they could be tailored to the task at hand.
I could go on but I'm tired so...
BTW: I've been working on hardware and software since 1980. My last major project (as architect) was a software defined radio that was required to boot from power off to transmit in 2 seconds. This included a windowing interface and proprietary networking between as many as 15 transmitters and 15 U/I control units. I know what I'm talking about:)
Students allowed into a beginning programming course should not be allowed to register unless they already know their way around a computer/internet. If need be, prerequisites should be offered.
For a beginning programming course, teach problem solving. Computing languages are tools; anyone programming should have the knowledge to choose the most appropriate language for use in a given situation.
Make the course fun! For the first half of the term, choose a problem and divide the class into teams to solve the problems. For the second half, switch solutions between the teams and have them improve the work you gave them.
The reasoning behind this is simple. Working in a team is a good way to cross-pollinate knowledge and is how it generally done in the industry. Having to take over someone else's code is a lession best learned early in life.
Here's the eight questions used to determine scientific "literacy" and the percent respondents getting the correct. Personally, if this is "scientific literacy" I think we're in deep, deep doodoo.
EARTHOT The center of the Earth is very hot [true/false]. 86%
HUMANRADIO All radioactivity is man-made [true/false]. 84%
LASERS Lasers work by focusing sound waves [true/false]. 68%
ELECATOM Electrons are smaller than atoms [true/false]. 62%
COPERNICUS1 Does the Earth go around the Sun, or does the Sun go around the Earth? 72%
COPERNICUS2 How long does it take for the Earth to go around the Sun? [one day, one month, one year] 45%
DADGENDER It is the fatherâ(TM)s gene that decides whether the baby is a boy or a girl [true/false]. 69%
ANTIBIOTICS Antibiotics kill viruses as well as bacteria [true/false]. 68%
Table S3. Science literacy items. N = 1540. Consistent with the NSF Science Indicators scoring method
--- from the study supplimental data: http://www.nature.com/nclimate/journal/vaop/ncurrent/extref/nclimate1547-s1.pdf
The study: http://www.nature.com/nclimate/journal/vaop/ncurrent/full/nclimate1547.html
First, the leaks do not put anyone in danger. The danger is in the documents themselves and created by the document creators, not those that leaked or published the documents. If we are not engaging in duplicitous behaviors, illegal actions, or overt lying, what is the problem? Second, looking at previously released documents with all the same hoopla, the biggest danger was to those that chose to have their lies documented. If my government is secretly supporting a group which is engaging in terrorist activities (acknowledged by my government) I have every right to know what is being done in my name and those that are engaging in such deceptions deserver what enmity their duplicities have invoked. I understand the need for secrecy but not when it's self-serving only to those that engage in it.
Regarding my #2 being wrong, there is nothing in your reply that rebuts it. Intel needs to be able to continue providing excuses for continuing computer/chip sales, that is capitalism and there's nothing wrong with it (except from an environmental view!) One needs to upgrade to run the latest version of the bloated and inefficient MS Windows.
"Even lowly i5 CPU can boot Win7 is under 10 seconds with an SSD and can run any game and decode any video with ease." Right, if it's a clean install. So you agree with me. Without hardware compensating for the additional bloat we have a turkey besides the number of cores on a CPU does not make any great affect on boot time. As to running any game or encode/decode video, these are task best left to your video card not the CPU -- and the last time I looked, gamers were still overclocking because they had to for improved gaming.
"Most people may not need a quad core, but even a dual core makes your OS experience seem much more responsive." Very few, if any people need a quad core; absolutely agree. And for those that do, what software out there efficiently utilizes any SMP based machine? Nothing I know of for the typical user. As to dual core, as per your previous statement, an SSD is what really would make a difference -- not dual core. Besides, again, what software make efficient use of an SMP dual core?
"AMD and Intel do not "convert" their chips into single cores." True, but it's a pretty good layman's example of what is happening; some cores are shutdown with power boosts to the remaining core(s) increasing their speed. Any way you look at it, you just bought cores that are not needed and can slow down your system.
"It's just logical that if you're loading the whole CPU, why not make one part faster." Actually that is exactly what Intel used to do till some thermal barriers were hit forcing Intel to move to multi-core. Logically, and in the hardware/software world I grew up in -- Intel and embedded -- the first thing you do is get rid of the inefficiencies so the system can handle the load (as in proper design) Logically, as well, if by speeding up CPU you can make the system more efficient why have more cores in the first place? Doesn't it strike you as odd that after all the hype about multi-core, the latest and greatest is the ability to not use multi-core? There's not much software out there that uses multi-core, efficiently or otherwise. Again, as you stated, "Most people may not need a quad core"
All the discussion about how to increase throughput for a single thread is pretty much not relevant. I will state that the best ways to increase throughput for a single thread are by optimizing architecture, design (eg algorithm chosen) and implementation. Unfortunately in the PC world (thank you MS) engineering is more often hacking/programming than real engineering. (See TGMLC.)
"In the end you have two things. 1) single threaded performance about hit a brick wall and was going almost no where. 2) If you don't go SMP, someone else will and you'll die a corprate death for not advancing." 1) single threaded performance did not hit a brick wall nor was it any where near hitting a brick wall -- I/O bound was/is a much greater problem. The CPU thermal barriers to increased speed have nothing to do with the level of parallelism of any program, process, or task. 2) Maybe. In the server world the quest is to find the best all around solution which may or may not be SMP on a single core. In the end user world, it a question of marketing and, right now, marketing is pushing SMP on a single chip. (See TGMLC)
Finally, why add complexity where none is needed. Many of the difficulties of parallel programming are quite well documented. Here's yet another: http://arstechnica.com/security/news/2010/05/multicore-cpus-move-attack-from-theoretical-to-practical.ars
Who is going to cover the cost of the software updates your computer requires in it's attempting to keep you safe? Why should I have to pay for downloads to fix the bugs in software which I purchased but don't own (remember it's licensed) such as Windows 7.
What about pushed software? Will browsers be forced to change so I can disable, on a case by case basis, the ability for a site to push to me? Unless one has full control and user friendly controls over the ability to download data charging per bit becomes a means of theft for the connection provider; charging me for things I did not order nor want.
What about handshaking and other forms of continuity used to maintain consistency on the web? Why should I be charged for a toggle bit as it is used by, and provides benefit to, the provider? Will the provider adjust charges based upon distance ala toll based highways -- the less the resources used the lower the cost?
Charging based upon usage simply does not work for the end user as the end user does not have control over the amount of data being down/up loaded. All charging for usage does is to give the providers a free hand into one's pocket book to extract as much money as possible.
Problems:
1) Intel hit a road block with being able to up the frequency it's processors (or anyone's processor's) could run at so marketing could no longer tout the next generation as being "faster."
2) Intel needs to be able to continue providing excuses for continuing computer/chip sales; one needs to upgrade to run the latest version of the bloated and inefficient MS Windows.
Solution:
Give marketing new materials by putting multiple symmetric cores on a single chip. This can be done at negligible cost while providing a great marketing device for selling the "need" to upgrade one's system.
Note that the SMP environment Intel came up with was NOT a solution for nor driven by any real life end users' problems. The only problem it solved was to provide marketing with a new sales campaign.
As someone who has spent almost thirty years designing computer systems, there are two (among others) critical elements in designing any computer (or other) system. The first we all know is KISS or Keep it Simple, Stupid!. Along with the elegance of a simple solution, one also gets reliability and efficiency. No one that has every worked with an SMP system can claim it's simple; it may be the simplest solution for a given problem, but that does not make it simple.
Second is the fact that most jobs everyone does every day with their computers does not need SMP. Further, to make matters much worse, the day to day tasks we use our computers for do not lend themselves to a SMP environment. Any analysis of what the typical user does with his/her computer will show that the task is most efficiently and reliably performed on a single core. This is why Intel, and now AMD, has included circuitry to essentially convert their SMP chips to single core. This is what allows XP's continued use successfully despite all the MS admonitions to upgrade; XP performs all the required tasks within the required time frame on a single core. This is why numerous benchmarks still show XP as outperforming Windows 7 for the vast majority of tasks performed by the home and business user.
If we, especially Microsoft, bothered to design and implement software based upon the need to solve user's problems (and not simply to sell more software and hardware) we could go a long way to perform our computing tasks with ease and efficiency (both human and power) with a great deal more security than we have now. Microsoft, as a monopoly, has given little thought to giving the end-user the best computing experience as per the end-user's needs. Intel, and AMD, with the advent of the SMP chip have given Microsoft and other software developers the ability wreak havoc. Think, why else is the "latest" CPU innovation the ability to cut back code execution from across multiple cores to a single core?
the people making and selling hearing aids can get away with charging as they do; it called capitalism.
"He argues that embedded systems developers must program more defensively, and that companies should stop relying on software for safety"
I've been doing embedded systems development since about 1981 at companies such as Intel, Etec, Tait, and contracted for many, many others. None of the companies I've worked for relied solely on software for safety; we all knew better. Whether opening a door, sending a distress signal, or having a robot move there has always been a physical "wall" behind the software to prevent mishaps that could led to bodily harm or mission critical failures. It is patently unfair to claim a generic problem with embedded system developers; especially true considering the extent embedded system are involved in our lives -- from thermostats to microwave ovens, from the bios in our PC to our TV, the list goes on and on. Besides, as to the Toyota problem, we have no idea as to the cause and the reams of data we have are not reliable.
We should stop selling weapons to everyone and anyone as these same weapons end up being used against us. We should nationalize the defense industry as part of our military; as great as our military is, is it more than capable of being in charge of it's own weapons production. As long as our "defense" industries are profit based, they will require -- and "our" government will provide -- war.
Having been in the same situation far too many times -- both the engineer and the engineering manager -- nightgeometry is has it pretty right on; we're in this together. There's two more things as "boss" that I would have to do. 1) Send my people home if I saw they were getting burnt out or spinning wheels; you can get a lot more accomplished refreshed. 2) Most of my bosses didn't understand jacksh-t about the work we were doing so I was needed to run interference if they decided to drop in as well.
What should be taught is the ability to look at and analyze a problem to find the best available tools (in this case computer language) to accomplish the solution of the problems, not how to use a tool or tools directly. It needs to be taught how to decide whether to use a screw or a nail, then which tool is better (a screwdriver for a screw and a hammer for a nail), and finally how to use that tool in a practical way. Schools should be teaching computer languages as after thoughts and as a means to problem solve, not as an end in themselves.
Learning and using most all higher level programming languages is a no-brainer for someone that has been trained in problem analysis, compilers/interpretors are self-teaching tools. Has C++ brought us better solutions (more efficient, easier to maintain, less complexity, ...?) over C? over Ruby? over Cobol? over fortran?
Students and staff need a safe and secure place to backup their work. Too many uSoft induced problems among PC users requires a separate backups and their really should be data copies stored off-site. Any student that does not use the computer labs backup system and loses stuff should be pure out of luck -- real-world training.
Guess from what I've been reading on slashdot -- and not from we readers -- I'm not going to be slashdotting anymore. To stick the word "staggering" in the headline belies a belief in truth and becomes propaganda. Too bad, you used to be good slashdot, but you became corporate media.
You obviously are unaware of the different Verizon DSL access on the two coasts. I think, on the East Coast and most of the country Verizon uses PPoE which requires a login/password. On the West Coast (at least here in Oregon) Verizon uses straight DHCP which does not require a password or login name. It's no wonder that the lay person is so confused about computers -- no matter what the O/S -- bad advice from well-meaning people. Always check your facts; what is true for you may not be true for everybody.
My first, and only question is: If I replace XP/SP3 on my machine with Windows 7 nee Vista will my hardware and applications perform any better? The only improvement I've ever seen in a usoft upgrade was SP3 for XP which did have a small performance increase under certain conditions.
Actually, I would want it to test in a virtual machine to see if it's worth upgrading/buying it to replace my XP and or Vista boxes. I would never use it illegally. Than again, given a choice I would never us Vista legally either.
Just because you can get away doing something legally, does not mean it is ethical. If you really want to know its legality -- ask an attorney. If you really want to know if it's ethical -- ask your conscience and debate it among your peers.
The only problem solved here, for the vast majority of windows users, in one created by Microsoft in the first place -- code bloat. Microsoft OSs are overblown, poorly designed, and poorly implemented. (Yes, I have worked at Microsoft in a technical capacity on their OSs and LAN.) Intel went with multi-core simply because they could no longer create a "next generation" single core for people to "step up" to -- as in buying a new computer. When one looks at an analysis of what most PCs are used for, a single core is fine IFF you have decent code to execute on it. An efficient design and implementation of the OS would would outperform any version of Vista (including 7) or XP. When the OS is the key product itself (as in MS Windows)rather than the base for efficiently running applications it becomes a detriment to the user and raises cost of hardware, software, and maintenance. Ask yourself, when was the the last time a Microsoft upgrade made your applications perform faster, require less resources, or made you more efficient? All we are seeing with the change to multi-core is the need to buy more Microsoft crap to use ever more complex hardware (cpu, in this case.) What we are seeing is the continuation of Microsoft and Intel telling us how great it is to give them more money. We need to buy new PCs because Windows requires more computing power because Intel requires more Windows. The fact our apps do not run any faster on the new hardware doesn't matter. The fact that upgrading the computer requires an upgrade of the OS does -- as in paying the Microsoft tax. Multiprocessor/multi-core system are needed for certain types of tasks -- they work for problems that are best solved by single instruction/multiple data and multiple instruction/single data architectures. Neither of these architectures are required by the vast majority PC users. The additional complexity required for parallel processing gives no Windows OS performance benefits to the average user nor will s/he see any improvement in the execution of their apps. What we should be looking at is task dedicated processors (as in ubiquitous computing.) For example, two of the most common tasks are spreadsheets and word processing. Put on the silicon a processor designed specifically for spreadsheets and a processor specifically for word processing combined with a processor for traffic control. Each task could be isolated (security!) Dedicated opcodes for each processor would increase efficiency as they could be tailored to the task at hand. I could go on but I'm tired so... BTW: I've been working on hardware and software since 1980. My last major project (as architect) was a software defined radio that was required to boot from power off to transmit in 2 seconds. This included a windowing interface and proprietary networking between as many as 15 transmitters and 15 U/I control units. I know what I'm talking about :)
Students allowed into a beginning programming course should not be allowed to register unless they already know their way around a computer/internet. If need be, prerequisites should be offered. For a beginning programming course, teach problem solving. Computing languages are tools; anyone programming should have the knowledge to choose the most appropriate language for use in a given situation. Make the course fun! For the first half of the term, choose a problem and divide the class into teams to solve the problems. For the second half, switch solutions between the teams and have them improve the work you gave them. The reasoning behind this is simple. Working in a team is a good way to cross-pollinate knowledge and is how it generally done in the industry. Having to take over someone else's code is a lession best learned early in life.